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
<dirbaio[m]> s/./`./
<i509vcb[m]> There is a "Motorola 3-wire" "Motorola 4-wire", "TI synchronous" and "National Microwire"
<i509vcb[m]> * "Motorola 3-wire", "Motorola
<cr1901> Which one is "the one everybody uses"?
<i509vcb[m]> Pretty much datasheets are confusing
<cr1901> (Also, I try to use the vendor names in MSP430, but due to SVD not being the original format of device descriptions, it's not always possible to construct a good name for all registers. I try my best given the circumstances.)
<i509vcb[m]> yeah some of the SVD names are kind of bad
<i509vcb[m]> Or having to come up with enum names that make sense to avoid duplicating the same enum 32 times
<cr1901> most SVDs are not great (looking at you, LPC8xx)
<i509vcb[m]> At least I am using chiptool for the peripherals so I can reuse parts as needed
norineko has quit [Remote host closed the connection]
norineko has joined #rust-embedded
jistr has quit [Quit: quit]
jistr has joined #rust-embedded
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #rust-embedded
sroemer has joined #rust-embedded
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Client Quit]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Client Quit]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
starblue has quit [Ping timeout: 246 seconds]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
starblue has joined #rust-embedded
Gilfoyl3 has quit [Quit: Gilfoyl3]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
emerent has quit [Ping timeout: 246 seconds]
emerent has joined #rust-embedded
dngrs[m] has joined #rust-embedded
<dngrs[m]> why am I getting TRACE defmt logs even though I set DEFMT_LOG=debug?
Gilfoyl3 has quit [Quit: Gilfoyl3]
<dngrs[m]> <dngrs[m]> "why am I getting TRACE defmt..." <- (this appears to only affect dependencies)
<dngrs[m]> (also cargo +nightly seems to fix the issue?!)
Gilfoyl3 has joined #rust-embedded
pronvis has quit [Ping timeout: 252 seconds]
Gilfoyl3 has quit [Quit: Gilfoyl3]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Client Quit]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Quit: Gilfoyl3]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Quit: Gilfoyl3]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Client Quit]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Client Quit]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Remote host closed the connection]
k86td has joined #rust-embedded
Gilfoyl3 has joined #rust-embedded
k86td has quit [Remote host closed the connection]
Gilfoyl3 has quit [Client Quit]
duderonomy has joined #rust-embedded
cr1901 has quit [Read error: Connection reset by peer]
cr1901 has joined #rust-embedded
cr1901 has quit [Remote host closed the connection]
cr1901 has joined #rust-embedded
igiona[m] has joined #rust-embedded
<igiona[m]> dngrs: have you done a cargo clean after changing DEFMT_LOG ?
<dngrs[m]> igiona[m]: > <@igiona:matrix.org> dngrs: have you done a cargo clean after changing DEFMT_LOG ?
<dngrs[m]> >
<dngrs[m]> Yup
<igiona[m]> Does anyone knows how the device flashing can be skipped when cargo run is performed?
<igiona[m]> It's quite annoying to wait the flashing of the FW even when it did not change
<dngrs[m]> I'm in bed now, will do some more testing later to be really sure stuff has been cleaned
<igiona[m]> Does anyone knows how the device flashing can be skipped when cargo run is performed?
<igiona[m]> It's quite annoying to wait the flashing of the FW even when it did not change
<igiona[m]> s/knows/know/
<igiona[m]> * Does anyone know how the device's flashing can be skipped when cargo run is performed?
<igiona[m]> It's quite annoying to wait the flashing of the FW even when it did not change
M9names[m] has joined #rust-embedded
<M9names[m]> probe-rs run --preverify (not available in the released version, you'll need to install from git)
<diondokter[m]> M9names[m]: Oh sick!
tamme[m] has joined #rust-embedded
<tamme[m]> <jannic[m]> "Is it somehow possible to select..." <- sorry I missed the meeting, yes you can filter by dependency, it even lets you select the version of the dependency, just open the "Dependency" filter and search for embedded-hal :) Also all drivers supporting 1.0 have a little checkmark in the description ✅️
<tamme[m]> <adamgreig[m]> "oh, yea, we could definitely..." <- I could add a default filter for "only list e-h 1.0 crates" but then the list would look even smaller then now :D
<Ralph[m]> btw: are there plans for anything similar to drive-rs for HALs? it'd be nice to easily get a list of supported MCUs
<tamme[m]> Ralph[m]: so far only ideas and no plans :) But if somebody wants to pick it up I would love to help. It would mostly be about figuring out what you want to filter by (e.g. number of I2C interfaces) and figuring out how to use a HAL, e.g. `embassy-stm = { ..., features = ["X123"]}`
<tamme[m]> I also talked with chrysn about having a list of BSPs, or rather a common format to describe a BSP and then have a list of those as well
koalillo has left #rust-embedded [#rust-embedded]
thejpster[m] has joined #rust-embedded
<thejpster[m]> That’s not all it does.
<thejpster[m]> POCI is going to be Peripheral Out Controller In. Or one half of the SPI Bus’s full duplex data path.
<thejpster[m]> Oof I’m lagged
<JamesMunns[m]> Has anyone here ever actually used the `-Csoft-float` flag?
<JamesMunns[m]> (rustc wants to remove it, it's almost certainly unsound, but currently stable)
<JamesMunns[m]> Yeah, grep app also has only ever seen it since they added deprecation notices about it: https://grep.app/search?q=-Csoft-float
<JamesMunns[m]> ah adding a space finds some more: https://grep.app/search?q=-C%20soft-float
<diondokter[m]> RedoxOs, System76 and framework laptop seem to be the main users.
<diondokter[m]> Well at least they're active and would be able to fix it
<igiona[m]> <M9names[m]> "probe-rs run --preverify (..." <- Nice! I'll give it a try :)
duderonomy has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
starblue has quit [Ping timeout: 252 seconds]
starblue has joined #rust-embedded
apirkle has quit [Quit: Ping timeout (120 seconds)]
apirkle has joined #rust-embedded
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Quit: Gilfoyl3]
duderonomy has joined #rust-embedded
an_unnamed_goose has joined #rust-embedded
an_unnamed_goose has quit [Remote host closed the connection]
<diondokter[m]> Thanks everyone who contributed!
sroemer has quit [Ping timeout: 244 seconds]
agg has quit [Ping timeout: 246 seconds]
k86td has joined #rust-embedded
agg has joined #rust-embedded
Makarov has joined #rust-embedded
k86td has quit [Remote host closed the connection]
sroemer has joined #rust-embedded
Makarov94 has joined #rust-embedded
Makarov94 has quit [Client Quit]
Makarov94 has joined #rust-embedded
Makarov has quit [Ping timeout: 256 seconds]
JamesSizeland[m] has joined #rust-embedded
<JamesSizeland[m]> Did the embedded survey results come out and I missed it?
<JamesMunns[m]> I posted some of the results, but I haven't done a write up of it
Makarov55 has joined #rust-embedded
Makarov94 has quit [Ping timeout: 256 seconds]
Makarov55 has quit [Quit: Client closed]
Makarov55 has joined #rust-embedded
scorpion2185[m] has joined #rust-embedded
<scorpion2185[m]> i flashed watchful-reloader-0.2.2.zip as fw and pinetime seems dead
<scorpion2185[m]> when wiring PT can i connect all 4 cables (SWDIO, SWDCLK, 3.3V, GND) if there is the battery or should I not connect 3.3V?
<scorpion2185[m]> i see all cables here https://wiki.pine64.org/wiki/PineTime_Devkit_Wiring
starblue has quit [Ping timeout: 260 seconds]
Makarov55 has quit [Quit: Client closed]
Makarov55 has joined #rust-embedded
<scorpion2185[m]> lulf do you that maybe?
starblue has joined #rust-embedded
<dirbaio[m]> TIL you can do this global_asm!(include_str!("cortex_m_fe25519.s"), options(raw));
<dirbaio[m]> I was using the cc crate to compile and link the .s files before...
sroemer has quit [Ping timeout: 248 seconds]
<scorpion2185[m]> * do you know that maybe?
<scorpion2185[m]> * i see all cables here https://wiki.pine64.org/wiki/PineTime_Devkit_Wiring and explanation.
<scorpion2185[m]> i can avoid to connect the cable
Makarov19 has joined #rust-embedded
Makarov55 has quit [Ping timeout: 256 seconds]
<dirbaio[m]> does anyone know what could cause this?
<dirbaio[m]> - Building in my workstation (Arch Linux), everything's fine
<dirbaio[m]> - Building inside an Ubuntu 24.04 docker image, the firmware comes out a few kb bigger (and therefore doesn't fit in flash and the build fails)
<dirbaio[m]> exact same code, exact same rust-toolchain.toml, etc etc
<dirbaio[m]> i've tried rm -rf target ~/.rustup ~/.cargo, still reproduces
xnor has quit [Quit: WeeChat 3.4]
<dirbaio[m]> it's extremely baffling
<dirbaio[m]> and annoying, because it's causing ci to fail :D. The differences reproduce whether I run the ubuntu image in ci or locally
<dirbaio[m]> and it's like ... random. you change something unrelated in the code or Cargo.toml and the issue goes away
<dirbaio[m]> and i've also seen the opposite, CI coming up with smaller binaries than local
<dirbaio[m]> wtf
<thejpster[m]> Same host target and target target?
<dirbaio[m]> yep
<dirbaio[m]> * yep. host is all x64
<thejpster[m]> Yeah but could be musl
<dirbaio[m]> no, arch is glibc
<dirbaio[m]> Fedora also gives different results as Ubuntu
<dirbaio[m]> (haven't checked if Fedora and Arch match)
<thejpster[m]> Not a cargo.lock difference?
<dirbaio[m]> nope 🥲
<thejpster[m]> Does cargo build -v look the same?
<thejpster[m]> If so, what about ldd rustup which rustc
<thejpster[m]> * If so, what about `ldd rustup which rustc
<thejpster[m]> My thinking is to check if cargo is driving the compiler the same way
<thejpster[m]> Then check the compiler
<thejpster[m]> Also are you using lld or ld?
<thejpster[m]> And did you leave RUSTFLAGS set by accident? I’ve seen that. But the verbose build will show that up.
<dirbaio[m]> compiler is the same yeah. it's installed via rustup the same way in both. https://gist.github.com/Dirbaio/c0d9f6585cf853a7b43c91c809c1b71f
<thejpster[m]> Is it obvious which crate is the issue?
<thejpster[m]> Does it still happen if you use musl libc rustc?
<dirbaio[m]> > Is it obvious which crate is the issue?
<dirbaio[m]> dunno, it's just the linker that fails to link because it overflows flash, so it could be anything...
<dirbaio[m]> hmm I could give it more flash space so it builds and the diff the binary to see what got bigger yeahhh
<dirbaio[m]> > Does it still happen if you use musl libc rustc?
<dirbaio[m]> is there a way to test this without having to build rustc?
<dirbaio[m]> cmdlines to rustc look identical
<dirbaio[m]> * look identical (except the random hashes cargo puts)
<i509vcb[m]> I guess I've been working on some data generation for the mspm0 so that it's not painful to then later use for the hal: https://gist.github.com/i509VCB/c3c312169c5ae51b49b6a75732e82c26
<thejpster[m]> <dirbaio[m]> "> Does it still happen if you..." <- > <@dirbaio:matrix.org> > Does it still happen if you use musl libc rustc?... (full message at <https://catircservices.org/_irc/v1/media/download/ASYRAb15OBmumpjK-Asu2tOoC-BYegO4R9A8x4l0csMLXhrKuJo2ZbgSaBTXqFnw9oBxIBtCCRzYC_EQnnftjR6_8AAAAAAAAGNhdGlyY3NlcnZpY2VzLm9yZy9YVUdiRUxpTnhKS2dkVHBkd1JIYnpadEs>)
<dirbaio[m]> but you mean building rustc itself with musl, or building the host crates (proc macros, build.rs etc) for musl?
<dirbaio[m]> hehe this is so busted :D
<JamesMunns[m]> Different linkers?
<JamesMunns[m]> Are you using gcc as a linker? Or stock lld?
<dirbaio[m]> the final cortex-m binary is linked with lld
<dirbaio[m]> * linked with rust-lld
<dirbaio[m]> not sure about proc macros / build.rs
<JamesMunns[m]> Ah, just saw how asked the same
<JamesMunns[m]> s/how/JP/
<dirbaio[m]> RUSTFLAGS=--print=link-args doesn't seem to apply to build scripts etc
<dirbaio[m]> so I can't find a way to get the linker invocation for those :(
<dirbaio[m]> I guess they'd be using the system linker
<dirbaio[m]> the final link cmdline is identical
Makarov19 has quit [Quit: Client closed]
starblue has quit [Ping timeout: 265 seconds]
<dirbaio[m]> nothing obvious comes out from looking at the binaries either! :(
<dirbaio[m]> the ubuntu binary is slightly bigger ... everywhere. many many functions that are 10-50 bytes bigger.
<dirbaio[m]> no single thing that got bigger
<dirbaio[m]> well
<dirbaio[m]> .text gets ~5kb bigger from this "death from a thousand cuts"
<dirbaio[m]> and .data gets 5.5kb bigger from ... not sure what
<JamesMunns[m]> Are they both clean envs? Maybe a parent folder .cargo/config-toml?
<dirbaio[m]> well ubuntu is clean, arch is just my machine. but if it was some config.toml thing it'd show up in the cmdlines...
Koen[m] has joined #rust-embedded
<Koen[m]> <dirbaio[m]> "the ubuntu binary is slightly..." <- Not that is matters much for finding what triggers the difference, but are the functions different in instructions, is it maybe just padding because of function alignment?
<dirbaio[m]> I don't think so, the first function that diverges starts at the same addr
<dirbaio[m]> tried on a clean archlinux docker, I get the same result as my main archlinux ...
k86td has joined #rust-embedded
<k86td> hello, someone's online?
Gilfoyl3 has joined #rust-embedded
<dirbaio[m]> it also repros with the embassy examples
<dirbaio[m]> but much less dramatically
<dirbaio[m]> I give up
Gilfoyl3 has quit [Client Quit]
apirkle has quit [Changing host]
apirkle has joined #rust-embedded
starblue has joined #rust-embedded
Gilfoyl3 has joined #rust-embedded
Gilfoyl3 has quit [Quit: Gilfoyl3]
Gilfoyl3 has joined #rust-embedded
hadez[m] has joined #rust-embedded
<hadez[m]> I'm working with a ch32v203k8tx uC and am trying to find a way to handle sharing of the I2C bus between multiple devices. Does anyone have any suggestions between embedded-hal-bus and shared-bus or something else?