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
mattyinterrupt[m has joined #rust-embedded
<mattyinterrupt[m> hey gang, I am wondering if there are any crates with implementations of the new SpiDevice traits for stm32fxx ?
<mattyinterrupt[m> * stm32fxx ? I have only been able to find the implementations for embassy or esp. Our project isn't using embassy or async))
<JamesMunns[m]> embassy-stm32?
<JamesMunns[m]> you can use the HAL without using async
<JamesMunns[m]> all the blocking interfaces are also implemented
<mattyinterrupt[m> ahh, ok cool
<JamesMunns[m]> (in general, none of the embassy device HALs are tightly coupled to async or the embassy executor)
starblue has quit [Ping timeout: 248 seconds]
starblue has joined #rust-embedded
korken89[m] has joined #rust-embedded
<korken89[m]> Does anyone know if LLVM will vectorize and use DSP instruction for Cortex-M targets? We've got a Cortex-M33 without the DSP extension and I'm wondering how to make sure how they are errors in case they are used.
<diondokter[m]> <korken89[m]> "Does anyone know if LLVM will..." <- https://doc.rust-lang.org/rustc/platform-support/arm-none-eabi.html
<diondokter[m]> (Click on the target you have for more info)
<thejpster[m]> DSP instructions aren’t much though - the same as Armv7E-M. The M-Profile Vector Extensions don’t arrive until v8.1 with M55 or M85.
<thejpster[m]> Oh, you don’t want them. God news! They’re off by default on thumbv8m-none-x
<thejpster[m]> s/God/Good/
<korken89[m]> Thank you for the help! 🎉
t-moe[m] has quit [Quit: Idle timeout reached: 172800s]
<thejpster[m]> korken89: where did you find a Cortex-M33 where the silicon vendor was too stingy to add the optional DSP extension?
<korken89[m]> NXP 🫠
<korken89[m]> OL23D0
<thejpster[m]> RP2350 has the DSP, FPU and Security extensions, and it's 75 cents for two cores
<thejpster[m]> ... Trimension UWB? interesting...
<korken89[m]> Yeah
<korken89[m]> We're building a safety product on it
<thejpster[m]> I guess fewer gates means less leakage means more battery life
<thejpster[m]> would you like a qualified Rust toolchain for it? :)
<korken89[m]> We've already met with Ferrocene two weeks ago and are starting up a collaboration :)
<korken89[m]> We're going to help fund the core certification as well
Christian[m]1 has quit [Quit: Idle timeout reached: 172800s]
Foxyloxy_ has joined #rust-embedded
Foxyloxy has quit [Read error: Connection reset by peer]
jason-kairos[m] has quit [Quit: Idle timeout reached: 172800s]
<AlexandrosLiarok> any good approach for handling log/defmt formatting ?
<AlexandrosLiarok> I have been using log_or_defmt but I don't particularly like it.
danielb[m] has joined #rust-embedded
<danielb[m]> are you writing a library, or an application?
<danielb[m]> my usual approach is placing [this](https://github.com/embassy-rs/embassy/blob/main/embassy-hal-internal/src/fmt.rs) into my projects, but for an application it's probably best if you just pick one or the other, unless you have some special needs
<diondokter[m]> Oh, btw since it's public now: https://github.com/OpenDevicePartnership
<diondokter[m]> It's not really announced yet so I'm not gonna comment on anything other than that an observant investigator might notice a lot of contributors working at Microsoft.
<dkm> ~.
SirWoodyHackswel has joined #rust-embedded
<SirWoodyHackswel> |}{| ?
bitts[m] has joined #rust-embedded
<bitts[m]> korken89 Oh, we should talk. We are doing something similar..
<bitts[m]> Sent you a DM
<AlexandrosLiarok> <danielb[m]> "are you writing a library, or an..." <- mainly libraries. Most of my apps just dispatch to a library entry point anyway :P
<diondokter[m]> * Oh, btw, this is now public: https://github.com/OpenDevicePartnership
<diondokter[m]> It's not really announced yet. An observant investigator might notice a lot of contributors working at Microsoft.
Brendan[m] has quit [Quit: Idle timeout reached: 172800s]
<thejpster[m]> quick quiz - without looking, what will println!("{:#08x}", 1); print?
<diondokter[m]> Ha, that's a good one
<diondokter[m]> Is there a spoiler tag?
<diondokter[m]> Apparently not
<diondokter[m]> That prints 0x000001 and not 0x00000001 as you'd expect
<thejpster[m]> bits me in the ass every time
<diondokter[m]> Yeah, learned it the hard way too
<diondokter[m]> Also, {:#10x} isn't it either haha. Gotta be {:#010x} or 0x{:08x}
<thejpster[m]> it would be a breaking change to fix it, but I think it's wrong
<diondokter[m]> Yeah me too
<thejpster[m]> also, you can't width-format pointers when using :p to select fmt::Pointer
<thejpster[m]> or rather, you have the same problem and have to write {:010p}
<diondokter[m]> Just make it an edition change :P
<diondokter[m]> 2024 is not out yet! Just ship it!
<thejpster[m]> I have donated my cortex-r code: https://github.com/rust-embedded/cortex-r/pull/4
<thejpster[m]> but the team is empty so no-one can merge it
TomB[m] has joined #rust-embedded
<TomB[m]> <thejpster[m]> "I have donated my cortex-r code:..." <- nice!
d3zd3z[m] has joined #rust-embedded
<d3zd3z[m]> Trying `probe-rs gdb --chip RP2040 --protocol swd`, probe-rs run works fine, but with gdb, after I attach as soon as I do much of anything, I get:... (full message at <https://catircservices.org/_irc/v1/media/download/ASvAE8G51D8g1Jh4F5t-PcAsLubnFR1wYxqhLKU7OmpiEZg1rV4UbeDyzoG91Vi4ng74u0NtPGugI9U-AeQ-0hy_8AAAAAAAAGNhdGlyY3NlcnZpY2VzLm9yZy94YnBHR2FVVnZUYXNiVkJBd0hjc0VwUFg>)
<thejpster[m]> Nice on, Tockers.
<thejpster[m]> > Incorporating Rust as the foundation of our Pluton security processor firmware with Tock OS
<danielb[m]> <d3zd3z[m]> "Trying `probe-rs gdb --chip RP20..." <- open an issue if there isn't one already, it's less likely to get lost than a chat message
<thejpster[m]> I wonder if this will prompt someone to fix ROPI/RWPI Arm code in Rust …
<d3zd3z[m]> So, this isn't just a misconfiguration on my end?
<d3zd3z[m]> But, in other words, it isn't currently working.
<d3zd3z[m]> I see some similar issues. I think I'll see if I can get seggers gdb server that spits the rtt data out a TCP port to work with a socat ... | defmt-print or similar.
<thejpster[m]> seggers J-Link DLL opens a tcp service with rtt on it. Just run “defmt-print -e my.elf tcp”
<thejpster[m]> We use the jlink rtt port by default. You can even do with Ozone running, as long as you turn off ozone’s own rtt terminal
<d3zd3z[m]> Perfect.
<d3zd3z[m]> Presumably it handles the extra stuff that Segger prints, and it's weird issues resyncing.
<cr1901> What options do I have to pass to rustc to get GP-relative addressing to be used? "target-feature=+relax" gives me a rather unhelpful "warning: unstable feature specified for `-Ctarget-feature`: `relax`", even when I specify the nightly compiler
RobertJrdens[m] has quit [Quit: Idle timeout reached: 172800s]
dirbaio[m] has quit [Quit: Idle timeout reached: 172800s]
EthanGardner[m] has quit [Quit: Idle timeout reached: 172800s]
Ralph[m] has quit [Quit: Idle timeout reached: 172800s]