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
starblue has quit [Ping timeout: 265 seconds]
starblue has joined #rust-embedded
starblue has quit [Ping timeout: 265 seconds]
starblue has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
dc740 has joined #rust-embedded
dc740 has quit [Remote host closed the connection]
emerent has quit [Ping timeout: 256 seconds]
emerent has joined #rust-embedded
DepthDeluxe has joined #rust-embedded
DepthDeluxe has quit [Quit: Leaving]
starblue has quit [Ping timeout: 240 seconds]
WSalmon has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
WSalmon has joined #rust-embedded
WSalmon has quit [Remote host closed the connection]
<re_irc> <@dngrs:matrix.org> this keeps coming up in various contexts… this take (https://github.com/rust-lang/rust/issues/82371#issuecomment-1383277999) seems to be correct though?
WSalmon has joined #rust-embedded
dc740 has joined #rust-embedded
<re_irc> <@korken89:matrix.org> PSA: RTIC v2 is released (book at rtic.rs/dev until book deployment is fixed to rtic.rs) 🎉
<re_irc> - "rtic" v2.0.0
<re_irc> - "rtic-macros" v2.0.0
<re_irc> - "rtic-monotonics" v1.0.0
<re_irc> - "rtic-time" v1.0.0
<re_irc> - "rtic-sync" v1.0.0
<re_irc> - "rtic-common" v1.0.0
<re_irc> <@larunite:matrix.org> Congratulations!
<re_irc> <@walstib-alex:matrix.org> I was looking through the dev book recently while contemplating the use of v2 and found myself looking for `spawn_after`, this part (https://rtic.rs/dev/book/en/migration_v1_v2/complete_example.html) clears a lot of it up and it looks alright. But I don't quite see the idiomatic way of scheduling tasks with variable delay?
<re_irc> I will probably look further on my own when I have time, but can you think of any examples off the top of your head?
<re_irc> <@walstib-alex:matrix.org> * delay.
starblue has joined #rust-embedded
<re_irc> <@jamesmunns:beeper.com> Btw, anyone here happen to have written a Rust (or other!) driver for the RTL8723DS wifi/bt chipset?
<re_irc> <@k900:0upti.me> I think the kernel got support for a whole bunch of older Realtek stuff recently
<re_irc> <@k900:0upti.me> Not sure if that works for you
<re_irc> <@jamesmunns:beeper.com> I'm uh, planning on writing this for my OS, but this chip definitely seems well supported by linux!
<re_irc> <@jamesmunns:beeper.com> It seems to be used on a lot of the cheap-ish RISC-V boards that have wifi/ble, both the Mango Pi MQ-Pro and the Sipeed Lichee RV use modules based on the RTL8723DS
<re_irc> <@k900:0upti.me> I'm pretty sure basically every Chinese board uses an rtw88 of some sort these days
<re_irc> <@k900:0upti.me> Even the Steam Deck has one
<re_irc> <@jamesmunns:beeper.com> Gotcha! Im mostly wondering how to plug it into smoltcp or other components to "do networking", I've written a driver for an ethernet mac before, not done much of anything low level with wifi chipset interfaces.
dc740 has quit [Remote host closed the connection]
dc740 has joined #rust-embedded
<re_irc> <@ixlun:matrix.org> Hi all. I'm trying to write a networking stack library targeted for embedded systems. Something I've previously done in C. I'm trying to writing in an abstract way, using the "critical_section" and "alloc" crates so it can be applied to different embedded systems. One thing that I need to be able to do is basic tasks and threading for this to work. I feel like this is getting more of an RTOS feel but is there such an...
<re_irc> ... abstraction for things like condvars so that one thread of execution can be paused while others continue?
<re_irc> <@ixlun:matrix.org> * write it
zxrom has joined #rust-embedded
<re_irc> <@like2wise:matrix.org> A condition variable is a more
<re_irc> advanced building block based around a mutex, and indeed requires OS queueing and waiting.
<re_irc> an OS. Why not help out the smoltcp project instead?
<re_irc> So you'ld have to pick or write
<re_irc> Just curious.
<re_irc> <@ixlun:matrix.org> Hm, I've just had a look at that. I might try and get that up and running on my ST board.. perhaps even provide the example code of it running on real hardware.
<re_irc> <@ixlun:matrix.org> Ideally I'd like to make the networking stack OS agnostic, but I don't think I will be able to.
<re_irc> <@barafael:matrix.org> Using async, you might
<re_irc> <@adamgreig:matrix.org> if it's an stm32, there's a lot of examples for using it with smoltcp, including https://github.com/stm32-rs/stm32-eth/, or I think embassy supports smoltcp (with async) on stm32 too, https://github.com/embassy-rs/embassy/tree/main/embassy-net
starblue has quit [Ping timeout: 256 seconds]
starblue has joined #rust-embedded
<re_irc> <@shakencodes:matrix.org> Is anyone aware of a crate wrapping the C-implementation SemTech LoRaWAN drivers from https://github.com/Lora-net/LoRaMac-node? -- The Rust LoRaWAN implementations I have seen appear incomplete (Class A only) and are targeting an older standard (1.0.2, vice 1.0.4). -- or am I looking at the wrong Rust LoRaWAN crates?
<re_irc> <@shakencodes:matrix.org> P.S. I am about a quarter of the way through implementing a crate wrapping the SemTech driver... and then realized I should double-check whether my efforts are redundant.
<re_irc> <@mameluc:matrix.org> we have a matrix room where we work on rust and lorawan
<re_irc> <@mameluc:matrix.org> using the semtech code could be interesting
<re_irc> <@mameluc:matrix.org> I got 1.0.4 working ok with a hacknslash of rust-lorawan but only eu868 so far
<re_irc> <@mameluc:matrix.org> https://matrix.to/#/!zyeeBoubKcHiwSJylm:matrix.org?via=matrix.org&via=rubdos.be&via=spodeli.org
<re_irc> <@shakencodes:matrix.org> Thank you for pointing out the other Matrix room. I have joined there.
<re_irc> My initial design thoughts for what I'm calling "warapped-lorawan" is to use a very similar external interface to what is being done in the rust-lorawan, allowing an easy transition to the pure-Rust version as that matures.
<re_irc> <@shakencodes:matrix.org> * "wrapped-lorawan"
dc740 has quit [Remote host closed the connection]
<re_irc> <@dirbaio:matrix.org> 📣 "static-cell" v1.1 released. Adds a "make_static!" macro that converts "T" to "&'static mut T".
<re_irc> you write just "make_static!(false)", instead of "singleton!(: bool = false)"
<re_irc> Similar to "cortex-m-rt"'s "singleton!", except you don't have to name the type.
<re_irc> The catch is it needs nightly 🥲
<re_irc> <@dirbaio:matrix.org> * "cortex-m"'s