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
starblue3 has quit [Ping timeout: 246 seconds]
starblue3 has joined #rust-embedded
pbsds has joined #rust-embedded
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
duderonomy has joined #rust-embedded
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
duderonomy has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
<re_irc> <@avery71:matrix.org> has anybody start work on an ra4m1-hal crate?
<re_irc> <@azzentys:matrix.org> I was curious if we have some examples for using UART+DMA. I saw some examples
<re_irc> 1. https://github.com/stm32-rs/stm32f4xx-hal/blob/master/examples/serial-9bit.rs -> shows how to setup a UART peripheral.
<re_irc> 2. https://github.com/stm32-rs/stm32f4xx-hal/blob/master/examples/rtic-serial-dma-rx-idle.rs -> shows an RTIC based example of setting up UART with DMA
<re_irc> I was wondering I could model #1 like #2, which I did. I was wondering if I could setup structs which would consume a UART peripheral and using "read_x_bytes" would give me access to underlying DMA'd array. This doesn't seem to work, as dp is partially moved. I was wondering if there are any examples that showcase such usecase. On the other hand, I can probably do "cargo expand" on rtic and see how they have structured their code.
<re_irc> <@dirbaio:matrix.org> "embassy-stm32" has a different API for DMA UART where the HAL does everything, so as a user you manage a "DMA-powered UART" struct, not "UART" and "DMA" structs independently where you have to glue them together
<re_irc> <@dirbaio:matrix.org> so you do just ".read(&mut buf)", but that's dma-powered and interrupt-driven under the hood.
<re_irc> <@azzentys:matrix.org> That's powerful! I'll take a look at that! Thanks a lot!
emerent has quit [Ping timeout: 246 seconds]
emerent has joined #rust-embedded
Ekho has quit [Ping timeout: 258 seconds]
<re_irc> <@shakencodes:matrix.org> Does anyone know how the directory level root of a PanicLocation is set? In my program, it used to use the Workspace root as the base of the PanicLocation, but it recently changed to making "/" (the drive root) as the base of the PanicLocation. This is a bad thing, as now code built in GitHubActions and a local system end up with a different PanicLocation. This blows up testing of the PanicHandler, and exposes...
<re_irc> ... file-stucture details about the build computer.
<re_irc> P.S. I am doing a git bisect right now to try to isolate when this changed in code. (This should have been caught sooner, but the teststand hardware recently failed. -- CI is only as good as the hardware you hook to it!
<re_irc> <@shakencodes:matrix.org> Does anyone know how the directory level root of a PanicLocation is set? In my program, it used to use the Workspace root as the base of the PanicLocation, but it recently changed to making "/" (the drive root) as the base of the PanicLocation. This is a bad thing, as now code built in GitHubActions and a local system end up with a different PanicLocation. This blows up testing of the PanicHandler, and exposes...
<re_irc> ... file-structure details about the build computer.
<re_irc> P.S. I am doing a git bisect right now to try to isolate when this changed in code. Happily, this worked right on Thursday, so there isn't too many changes to evaluate.
<re_irc> <@shakencodes:matrix.org> Does anyone know how the directory level root of a PanicLocation inside panic::PanicInfo is set? In my program, it used to use the Workspace root as the base of the PanicLocation, but it recently changed to making "/" (the drive root) as the base of the PanicLocation. This is a bad thing, as now code built in GitHubActions and a local system end up with a different PanicLocation. This blows up testing of the...
<re_irc> ... PanicHandler, and exposes file-structure details about the build computer.
<re_irc> P.S. I am doing a git bisect right now to try to isolate when this changed in code. Happily, this worked right on Thursday, so there isn't too many changes to evaluate.
<re_irc> <@shakencodes:matrix.org> I've found the change. The key difference is that the code that panics moved outside of the project root. (in this case a TestMode that intentionally panics, as part of verifying the system panic handling and reporting.) We are using a pattern with the head of the project in a directory "project/cross/embedded-program" and the code that is generating the panic is now in "project/shared/test-support". For the embedded...
<re_irc> ... project, the workspace root is in that "project/cross/embedded-program". I am guessing that anything that panics in code outside of the workspace gets the entire path from "/"... which means code in any non-local codebases will end up with some version of "/user/myuserid/.Cargo/..." as part of the path.
<re_irc> Can anyone suggest a mechanism to ensure that we get a consistent path across our various build systems? It needs to be the same whether built in CI or local build system.
<re_irc> My guess is the answer is "always build in a virtualized, infrastructure as code, environment... like Nix or Docker". Is this a satisfactory answer for the call for reproducible builds in regulated environments? (Not my current working area, so I haven't wrestled with answering the question for Rust.
dc740 has joined #rust-embedded
cr1901_ has joined #rust-embedded
cr1901 has quit [Read error: Connection reset by peer]
cr1901_ is now known as cr1901
dc740 has quit [Remote host closed the connection]
IlPalazzo-ojiisa has quit [Quit: Leaving.]
IlPalazzo-ojiisa has joined #rust-embedded