Guest7282 has left #rust-embedded [Error from remote client]
AtleoS has joined #rust-embedded
<enaut[m]>
Thank you all for the valuable hints and explanations. Starting electronics with rust may not be the easiest path, but it is a fun one... My project that I worked on yesterday was to get the display st7735 working - and because I sometimes was not sure whether the controller is in DFU mode (I already ordered an st-... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/VCzClaLUHnySImzyQYjcrjVu>)
<enaut[m]>
And I can't use the actual delay twice because both functions need a mutable reference...
IlPalazzo-ojiisa has joined #rust-embedded
Guest7282 has joined #rust-embedded
juliand[m] has joined #rust-embedded
<juliand[m]>
<enaut[m]> "Thank you all for the valuable..." <- You will have different `Delay` structs for different crates that provide delays. And drivers will often require that you pass a delay that implements embedded-hal's `DelayNs` trait, see https://docs.rs/embedded-hal/1.0.0/embedded_hal/delay/trait.DelayNs.html
<juliand[m]>
So the driver does not have to care how exactly the delay is implemented (there is a lot of different ways and they vary between basically every chip model) and can just require the passed `delay` to provide a few functions to generate delays.
<M9names[m]>
depending on the delay source, you might be able to clone it if you need 2 of them.
badyjoke[m] has quit [Quit: Idle timeout reached: 172800s]
<juliand[m]>
<juliand[m]> "You will have different `Delay..." <- iirc you can often do something like `use_delay(&mut Delay{});`, that is, construct the delay right where you need it. But that may not work always.
IlPalazzo-ojiisa has quit [Remote host closed the connection]
thejpster[m] has quit [Quit: Idle timeout reached: 172800s]
uliano[m] has quit [Quit: Idle timeout reached: 172800s]
AtleoS has quit [Ping timeout: 264 seconds]
IlPalazzo-ojiisa has joined #rust-embedded
adamgreig[m] has quit [Quit: Idle timeout reached: 172800s]
diondokter[m] has quit [Quit: Idle timeout reached: 172800s]
<enaut[m]>
I added an example for the black pill that you helped me with to the examples list: https://github.com/sajattack/st7735-lcd-examples/pull/7 there may be some things that can be done more idiomatic - if someone cares to review :)
inara has quit [Quit: Leaving]
inara has joined #rust-embedded
AtleoS has joined #rust-embedded
JomerDev[m] has quit [Quit: Idle timeout reached: 172800s]
barafael[m] has joined #rust-embedded
<barafael[m]>
what do yall use for thiserror-like definitions on no_std? I use snafu... I don't see the reason for thiserror not working on no_std
sajattack[m]1 has joined #rust-embedded
<sajattack[m]1>
<enaut[m]> "I added an example for the black..." <- marged!
IlPalazzo-ojiisa has quit [Ping timeout: 268 seconds]