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
<bpye> My hunch is no - but can anyone think how you could parameterise https://gist.github.com/benpye/d200aaf14726b31e5062920dec0dfb6c based on MAX_INPUT/MAX_OUTPUT, so that the register clobbers would be accurate for the given in/out size? It's not super critical, but I suspect not wiping out most of my registers each time I want to use it would be
<bpye> beneficial
<bpye> Well, I guess I could use a macro to generate all 256 possible cases in a match statement and then force inlining, but it would be nice if there was a better option
<dirbaio[m]> yeah, you'll have to use macros...
<dirbaio[m]> I don't htink it's possible otherwise
<luojia65[m]> <JonathanDickinso> "Look into the transaction fns..." <- https://github.com/bouffalolab/bl_docs/blob/main/BL808_RM/en/RST/I2C.rst
<JonathanDickinso> <luojia65[m]> "https://github.com/bouffalolab/..."; <- It looks like it's just bizarre nomenclature. You want to do a regular write_read. This will explain it better: https://www.ti.com/lit/an/slva704/slva704.pdf
<luojia65[m]> Thanks! I'll check it out.
<JonathanDickinso> In other words, sub_addr is the same thing as an register in idiomatic I2C
M9names[m] has joined #rust-embedded
<M9names[m]> I think you're correct in that it's strange nomenclature, but not what the meaning is.
<M9names[m]> My current understanding of this boufallo i2c controller is that you're supposed to batch together multiple messages inside the buffer, so it kinda maps to the e-h i2c transaction.
<M9names[m]> So sub address is the device address for a read or write inside the current batch of operations.
<M9names[m]> I did add an issue for it for bl602-hal, which looks to the impls in the various C SDK.
pbsds has quit [Quit: The Lounge - https://thelounge.chat]
pbsds has joined #rust-embedded
crabbedhaloablut has joined #rust-embedded
emerent has quit [Ping timeout: 255 seconds]
emerent has joined #rust-embedded
<bpye> dirbaio[m] I did get it working with macros - https://gist.github.com/benpye/6f326c9baa5fa99c9b43bde19c755796 - it's kinda ugly but so long as the compiler gets rid of the nested match, which should be trivial, I guess it's fine
<bpye> I can hide it in a crate and never think of it again
cr1901 has quit [Read error: Connection reset by peer]
cr1901_ has joined #rust-embedded
vadimcn[m] has quit [Quit: Idle timeout reached: 172800s]
stevenn has joined #rust-embedded
stevenn has quit [Quit: Quit]
hifi has quit [Ping timeout: 255 seconds]
firefrommoonligh has quit [Ping timeout: 255 seconds]
firefrommoonligh has joined #rust-embedded
graso[m] has quit [Ping timeout: 255 seconds]
graso[m] has joined #rust-embedded
hifi has joined #rust-embedded
mabez[m] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has quit [Quit: Bridge terminating on SIGTERM]
adamgreig[m] has quit [Quit: Bridge terminating on SIGTERM]
ryan-summers[m] has quit [Quit: Bridge terminating on SIGTERM]
therealprof[m] has quit [Quit: Bridge terminating on SIGTERM]
JamesMunns[m] has quit [Quit: Bridge terminating on SIGTERM]
luojia65[m] has quit [Quit: Bridge terminating on SIGTERM]
M9names[m] has quit [Quit: Bridge terminating on SIGTERM]
sajattack[m] has quit [Quit: Bridge terminating on SIGTERM]
JonathanDickinso has quit [Quit: Bridge terminating on SIGTERM]
dirbaio[m] has quit [Quit: Bridge terminating on SIGTERM]
graso[m] has quit [Quit: Bridge terminating on SIGTERM]
firefrommoonligh has quit [Quit: Bridge terminating on SIGTERM]
AyushiSharma[m] has quit [Quit: Bridge terminating on SIGTERM]
_catircservices has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
notgull has quit [Ping timeout: 245 seconds]
notgull has joined #rust-embedded
TomB[m] has joined #rust-embedded
<TomB[m]> Is volvo using Rust in their ECUs? this makes me believe they are a looking or have been trying it out? https://medium.com/volvo-cars-engineering/the-reality-of-autosar-and-the-way-forward-36af39ec4099
<TomB[m]> s/volvo/Volvo/
<TomB[m]> "We at volvo implement a full ECU in Rust"
Jonathan[m]1 has joined #rust-embedded
<Jonathan[m]1> I'm starting a crate for ARMv7R (focus) and ARMv7A (secondary objective) for basic CPU access and runtime. I want to know if anyone:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/yjyjhZpiJjOgZIlkZaytvXzf>)
jessebraham[m] has joined #rust-embedded
<jessebraham[m]> <TomB[m]> "Is volvo using Rust in their..." <- IIRC they were using `atsamd-hal`
<jessebraham[m]> Or at the very least they were using some ATMEL (Microchip?) device with an open-source Rust HAL haha, I never actually heard them explicitly say which lib
thejpster[m] has joined #rust-embedded
<thejpster[m]> a question on the Zulip about "How many features is reasonable?". An MSP430 is offered up as an example: https://rust-lang.zulipchat.com/#narrow/stream/318791-t-crates-io/topic/5.20billion.20features/near/396896776
diondokter[m] has joined #rust-embedded
<diondokter[m]> What do they want to set the limit to?
<thejpster[m]> Someone suggested 1000 features, as that allows the windows crate to still work. You'll have to check out the thread.
<thejpster[m]> But I think it's the size of this file that might be the issue: https://index.crates.io/em/ba/embassy-time
<diondokter[m]> Oh I see, they got a bug report about a crate with 23K features because it was slow
<thejpster[m]> (although embassy-time seems fine)
dirbaio[m] has joined #rust-embedded
<dirbaio[m]> very lol
<thejpster[m]> https://github.com/rust-lang/crates.io/issues/7269 is the original ticket
vollbrecht[m] has joined #rust-embedded
<vollbrecht[m]> diondokter[m]: every single line in that code is a feature? 🤣
<vollbrecht[m]> * is every single
<vollbrecht[m]> * is every single line in that code a feature? 🤣
<thejpster[m]> it's an image library. "To speed up compilation" every image has its own feature flag
<thejpster[m]> I won't say who just wrote this in the company chat:
<thejpster[m]> > svd2rust should generate one Cargo feature per MMIO register to improve build times.
<dirbaio[m]> wat
<TomB[m]> <thejpster[m]> "I won't say who just wrote..." <- > <@thejpster:matrix.org> I won't say who just wrote this in the company chat:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/hBxeAshYHCzYKLcCbVYWjooe>)
<TomB[m]> based on chiptool
<TomB[m]> when I tried it like 4 years ago with svd2rust it took 10min
<TomB[m]> untenable, and the whole reason it went with the python ral generator, Ian ported all that to a chiptool fork which was really quite nice
<TomB[m]> I can only imagine trying to use svd2rust on something like a s32k/s32z...
Guest7221 has left #rust-embedded [Error from remote client]
cr1901_ has quit [Read error: Connection reset by peer]
Guest7221 has joined #rust-embedded
eZioPan[m] has joined #rust-embedded
<eZioPan[m]> I just find a rustc nightly feature that enable multi-thread compiling, which decreases stm32f4 build time around 42%
ello has joined #rust-embedded
cr1901 has joined #rust-embedded
Foxyloxy has quit [Read error: Connection reset by peer]
Foxyloxy has joined #rust-embedded
Guest7221 has left #rust-embedded [Error from remote client]
crabbedhaloablut has quit []
danielb[m] has joined #rust-embedded
<danielb[m]> 80% of my build times are in codegen because I like my binaries unnecessarily small. The rest of time rustc tries to cope with ~400 crates of dependency tree, more or less perfectly well feeding my 4-6 cores. I'm not hoping from much gain from this :)
<danielb[m]> s/from/for/
IlPalazzo-ojiisa has quit [Remote host closed the connection]
dne has quit [Remote host closed the connection]
dne has joined #rust-embedded
Guest7221 has joined #rust-embedded
Guest7221 has left #rust-embedded [Error from remote client]