ChanServ changed the topic of #rust-embedded to: Welcome to the Rust Embedded IRC channel! Bridged to #rust-embedded:matrix.org and logged at https://libera.irclog.whitequark.org/rust-embedded, code of conduct at https://www.rust-lang.org/conduct.html
richardeoin has joined #rust-embedded
sauce has quit [Ping timeout: 246 seconds]
brazuca has quit [Quit: Client closed]
IlPalazzo-ojiisa has quit [Remote host closed the connection]
justacec[m] has joined #rust-embedded
<justacec[m]> I have been looking for a bit of information on how long the CS line should be de-asserted between R/W operations on an SPI line. Not finding a lot on that or any information in the timing diagrams on the device. Is there a minimum standard that implementations should use? I am using the MPU9250 library at https://github.com/copterust/mpu9250. The chip was not behaving until I put delays in the code right after the CS line was
<justacec[m]> de-asserted.
<justacec[m]> For instance, it is at least 1 clock cycle?
<adamgreig[m]> the clock isn't running when cs is deasserted, so it won't generally be in terms of bus clock cycles
<justacec[m]> The timing diagram I was looking at is at https://invensense.tdk.com/download-pdf/mpu-6500-datasheet/ on page 16
<adamgreig[m]> yea, the timing diagram annoyingly doesn't say, but you could expect it needs at least the same setup and hold time that it does when asserted, i.e. around 500ns total
<adamgreig[m]> are you able to measure (with a logic analyser or oscilloscope) how long you have between deassert and assert without a delay in your code?
<adamgreig[m]> it's possible the delay is just masking some other problem you were having, but if the cs is being re-asserted really quickly perhaps that's the issue
<adamgreig[m]> that said, the second table suggests that the hold time could be as low as 1ns when the spi clock is faster, so....
<adamgreig[m]> seems you're maybe not the only one: https://github.com/copterust/mpu9250/issues/9
<justacec[m]> :)
<justacec[m]> I did not see that issue in there. Thanks for that pointer.
<justacec[m]> Not sure that reducing the optimization is the right approach. Good for debugging.
<justacec[m]> One thing I find interesting about the MPU6500 (and friends) is that when an interrupt occurs, you have to interrogate the interrupt status register to see which interrupt fired. Reading the interrupt status register also clears the interrupt. I would have expected to writing to the interrupt status register would have cleared the interrupt.
starblue has quit [Ping timeout: 244 seconds]
starblue has joined #rust-embedded
<Darius> saves you an IO request if reading clears it though
<Darius> (and I2C is slow)
crabbedhaloablut has joined #rust-embedded
emerent has quit [Ping timeout: 260 seconds]
emerent has joined #rust-embedded
Guest7221 has joined #rust-embedded
Guest7221 has left #rust-embedded [Error from remote client]
<thejpster[m]> ok, let's go. This morning's task is to re-work the embedded-sdmmc test infrastructure and see if we can't weed out some more bugs.
duderonomy has quit [Ping timeout: 260 seconds]
duderonomy has joined #rust-embedded
Guest7221 has joined #rust-embedded
<Farooq> <Darius> "(and I2C is slow)" <- Guess what, a local shop in my country sells a SCCB camera module for 1 USD
<Farooq> The camera is 15fps
<M9names[m]> what's SCCB?
<diondokter[m]> I guess it's Serial Camera Control Bus
<diondokter[m]> VGA is analog though... So not sure how that'd work
<Farooq> yeah. it says compatible with I2C. And it says max framerate 30fps VGA. I wonder if this SCCB is capable of that transfer
<Farooq> no it means VGA resolution from my understanding. 640x480 px
<diondokter[m]> Ah ok
<Farooq> It turns out I missed the Tuesday meeting?
<Farooq> I didn't expect it to be that soon when I saw the hackmd link. didn't read carefully though
wassasin[m] has quit [Quit: Idle timeout reached: 172800s]
mabez[m] has quit [Quit: Idle timeout reached: 172800s]
<Darius> Farooq: the camera is controlled via I2C (pretty common AIUI) but the video is anotehr matter
<Farooq> so you mean the video signals are not transfered using i2c? it makes much more sense now.
inara has quit [Ping timeout: 255 seconds]
inara has joined #rust-embedded
<Lumpio-> Transferring video via I2C would be pretty unusual
<dalepsmith[m]> Video takes a lot more bandwidth that I2C
<diondokter[m]> According to my calculations you could do a 12x9 pixels at 16 bit color depth at 24 fps over a 400 khz I2C bus :P
<Darius> diondokter[m]: smokin'
Guest7221 has left #rust-embedded [Error from remote client]
dngrsspookyvisio has quit [Quit: Idle timeout reached: 172800s]
Guest7221 has joined #rust-embedded
GenTooMan has quit [Ping timeout: 240 seconds]
GenTooMan has joined #rust-embedded
Foxyloxy_ has quit [Ping timeout: 260 seconds]
Foxyloxy has joined #rust-embedded
GenTooMan has quit [Ping timeout: 258 seconds]
GenTooMan has joined #rust-embedded
GenTooMan has quit [Excess Flood]
GenTooMan has joined #rust-embedded
GenTooMan has quit [Excess Flood]
GenTooMan has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
<cr1901> 48x36 at 1 bit color depth at 24 fps seems more reasonable
<JamesMunns[m]> You could probably get a VGA-ish, lossy/compressed format like h.264/h.265 over 1mbps I2C
<JamesMunns[m]> (as in theoretical bitrate, not like... you SHOULD do that or could buy that off the shelf anywhere)
coljnr9[m] has quit [Quit: Idle timeout reached: 172800s]
<cr1901> That sounds like a horrible idea... let's do it :D
emerent has quit [Remote host closed the connection]
emerent has joined #rust-embedded
nmeum[m] has quit [Quit: Idle timeout reached: 172800s]
therealprof[m] has quit [Quit: Idle timeout reached: 172800s]
newam[m] has quit [Quit: Idle timeout reached: 172800s]
jannic[m] has quit [Quit: Idle timeout reached: 172800s]
IlPalazzo-ojiis1 has joined #rust-embedded
IlPalazzo-ojiisa has quit [Ping timeout: 246 seconds]
IlPalazzo-ojiisa has joined #rust-embedded
IlPalazzo-ojiis1 has quit [Ping timeout: 244 seconds]
crabbedhaloablut has quit []
GijsBurghoorn[m] has joined #rust-embedded
<GijsBurghoorn[m]> Regarding joining the weekly meeting, is there just a call here I can join on 8pm CET every Tuesday?
<diondokter[m]> The meeting is just using chat, right here in this room
<GijsBurghoorn[m]> Perfect. Thank you very much.
explodingwaffle1 has quit [Quit: Idle timeout reached: 172800s]
Noah[m] has quit [Quit: Idle timeout reached: 172800s]
brazuca has joined #rust-embedded
IlPalazzo-ojiisa has quit [Quit: Leaving.]
IlPalazzo-ojiisa has joined #rust-embedded
likewise[m] has quit [Quit: Idle timeout reached: 172800s]
IlPalazzo-ojiisa has quit [Client Quit]
IlPalazzo-ojiisa has joined #rust-embedded
perlindgren[m] has quit [Quit: Idle timeout reached: 172800s]
Charles[m] has quit [Quit: Idle timeout reached: 172800s]
<adamgreig[m]> <JamesMunns[m]> "You could probably get a VGA-ish..." <- lots of (highly compressed) 1080p video is about 1Mbps! it's amazing how little bandwidth modern video codecs use
<adamgreig[m]> h265 would be even better
<diondokter[m]> Ok, so that has been solved. Now how do we compress and decompress the video on a 100mhz cortex m4 :D
likewise[m] has joined #rust-embedded
<likewise[m]> We cheat by using RPMsg with STM32MP1, I guess.
<firefrommoonligh> Yea I think that's a good use for those
<likewise[m]> With Cortex-M4 we are talking SPF instead of FPS.
<likewise[m]> Cortex-M4 is too new, we need an ARM9 core...
ninjasource[m] has quit [Quit: Idle timeout reached: 172800s]
Guest7221 has left #rust-embedded [Error from remote client]
IlPalazzo-ojiisa has quit [Quit: Leaving.]
GenTooMan has quit [Ping timeout: 260 seconds]
<gussius[m]> (reposted) Hi All, I get a linker error when I define an #[exception] in a submodule of my project. I am using the cortex-m-rt crate. The specific error is a duplicate symbol error. I presume that the default linker script (where ever that is) sets up the exception if there is none defined in the root module (i.e. PROVIDE(...). Any thoughts?
<dirbaio[m]> can you paste the full error?
<gussius[m]> Yep, I'll just whip it up again...
GenTooMan has joined #rust-embedded
<gussius[m]> 🤔 It is linking now. It wasn't yesterday. Sorry about that I will just try to make use of the exception, and I'll see if it works...
richardeoin has quit [Ping timeout: 244 seconds]
<gussius[m]> Looks like I was focusing on the linking error and not really thinking through what I was trying to achieve. Looks like a false alarm. 🙄 I think I need to put some more thought into this.
<gussius[m]> Thanks.
brazuca has quit [Ping timeout: 245 seconds]
richardeoin has joined #rust-embedded