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
RockBoynton[m] has joined #rust-embedded
<RockBoynton[m]> <dirbaio[m]> "Can't make it into a crate" <- how does this work then? https://github.com/t-moe/defmt-or-log
<dirbaio[m]> <RockBoynton[m]> "how does this work then? https:/..." <- It doesn't
<dirbaio[m]> If you add just that crate as a dep, it breaks
<dirbaio[m]> You need to add defmt as well, and conditionally enable it
<RockBoynton[m]> <dirbaio[m]> "You need to add defmt as well..." <- well yeah, why is that worse than copy-pasting the fmt.rs file?
m5zs7k has quit [Quit: m5zs7k]
m5zs7k has joined #rust-embedded
ivche has quit [Ping timeout: 244 seconds]
ivche has joined #rust-embedded
starblue has quit [Ping timeout: 245 seconds]
starblue has joined #rust-embedded
cheap0[m] has joined #rust-embedded
<cheap0[m]> I followed the tutorial and used the tool, but it still prompts the following
<M9names[m]> that image shows you setting the driver for the CDC interface. that's not the debug interface.
<M9names[m]> if it's a proper j-link, use the jlink tools to configure it instead:
<cheap0[m]> <M9names[m]> "if it's a proper j-link, use the..." <- thank you,but It seems that this option cannot be toggled
<M9names[m]> weird. guess you will just have to work out zadig then, no fun.
kenny has quit [Quit: WeeChat 4.5.1]
JamesSizeland[m] has quit [Quit: Idle timeout reached: 172800s]
rainingmessages has quit [Quit: bye]
rainingmessages has joined #rust-embedded
n_vl[m] has quit [Quit: Idle timeout reached: 172800s]
pcs38 has joined #rust-embedded
Foxyloxy has quit [Read error: Connection reset by peer]
pcs38 has quit [Quit: leaving]
pcs38 has joined #rust-embedded
pcs38 has quit [Ping timeout: 252 seconds]
<dirbaio[m]> <RockBoynton[m]> "well yeah, why is that worse..." <- Crate A and B depend on log-or-defmt. Both have `[features] defmt = ["dep:defmt", "defmt-or-log/defmt"]`. If you enable defmt on crate A, it breaks crate B because it causes defmt-or-log to start using defmt when crate B doesn't "expect" it because *its* defmt feature is not enabled. This problem doesn't happen if you copypaste fmt.rs.
t-moe[m] has joined #rust-embedded
<t-moe[m]> yeah, defmt-or-log shouldn't exist in the first place. But it made my life easier in practice, because of the FormatOrDebug trait...
<t-moe[m]> Thanks for reminding me, to push this forward again... https://github.com/knurling-rs/defmt/issues/730
<t-moe[m]> Anyways, I hope we'll get a better solution soon, when defmt can forward to the log backend internally.
<t-moe[m]> * yeah, defmt-or-log shouldn't be used in public crates. I've created it mainly to avoid copy/pasting fmt.rs and to have a location for the FormatOrDebug trait, for the local crates of my app.
<t-moe[m]> Anyways, I hope we'll get a better solution soon, when defmt can forward to the log backend internally.
<t-moe[m]> Thanks for reminding me, to push this forward again... https://github.com/knurling-rs/defmt/issues/730
<t-moe[m]> * yeah, defmt-or-log shouldn't be used in public crates. I've created it mainly to avoid copy/pasting fmt.rs and to have a location for the FormatOrDebug trait, for the local crates of my app. I enable log/defmt at the root (bin) crate and on all dependencies...
<t-moe[m]> Anyways, I hope we'll get a better solution soon, when defmt can forward to the log backend internally.
<t-moe[m]> Thanks for reminding me, to push this forward again... https://github.com/knurling-rs/defmt/issues/730
<t-moe[m]> * yeah, defmt-or-log shouldn't be used in public crates. I've created it mainly to avoid copy/pasting fmt.rs and to have a container for the FormatOrDebug trait, for the local crates of my app. I enable log/defmt at the root (bin) crate and on all dependencies...
<t-moe[m]> Anyways, I hope we'll get a better solution soon, when defmt can forward to the log backend internally.
<t-moe[m]> Thanks for reminding me, to push this forward again... https://github.com/knurling-rs/defmt/issues/730
Foxyloxy has joined #rust-embedded
jason-kairos[m] has quit [Quit: Idle timeout reached: 172800s]
starblue has quit [Ping timeout: 244 seconds]
whitequark[cis] has joined #rust-embedded
<whitequark[cis]> non-additive features are evil
<thejpster[m]> Yes, but. Sometimes necessary.
<thejpster[m]> Like one HAL supporting multiple chips.
<thejpster[m]> Ideally cargo would understand this as a native concept (I don’t know, “build flags” or something) and give better errors, or just let you build a crate twice.
<realroot[m]1> how store things in flash with watchful?
<realroot[m]1> * with watchful? https://github.com/lulf/watchful
pcs38 has joined #rust-embedded
igiona[m] has joined #rust-embedded
<igiona[m]> You can have a look at sequential_storage and use the Flash object use nrf_softdevice::Flash
cinemaSundays has joined #rust-embedded
starblue has joined #rust-embedded
<igiona[m]> static NRF_FLASH: StaticCell<Flash> = StaticCell::new();
<igiona[m]> let f = NRF_FLASH.init(Flash::take(sd));
<igiona[m]> ... This only if watchful is using softdevice ... detail I fail to remember on the top of my head
<igiona[m]> I guess it's for the external flash (my hint was intended for the internal Flash)
<realroot[m]1> NOTE: If you've used watchful before 0.2.6, it now has switched from using `embassy-boot` to `mcuboot` as provided by default on InfiniTime. To achieve that, the [nrf-softdevice](https://github.com/embassy-rs/nrf-softdevice/) has been replaced with [trouble](https://github.com/embassy-rs/trouble).
<realroot[m]1> trouble is for BLE so never mind?
<igiona[m]> It looks like that even with trouble, the code is relying on some SD features to get access to the flash: https://github.com/lulf/watchful/blob/3e8543c47f4ff9323841a55b1b593c476a6cccbd/firmware/src/main.rs#L61C1-L61C43
<igiona[m]> Likely these features do not rely on the SD-stack and that's why it works... worth a try ;)
<realroot[m]1> do i check mpsl from use nrf_sdc::{self as sdc, mpsl}; then?
<igiona[m]> Here is were the internal flash is created, you can r/w on it with that object I guess.... I'm sorry though, I don't have the means to test anything... I guess you're on your own ;)
<realroot[m]1> thanks
danielb[m] has quit [Quit: Idle timeout reached: 172800s]
starblue has quit [Ping timeout: 252 seconds]
cinemaSundays has quit [Quit: Connection closed for inactivity]
That_Crow has joined #rust-embedded
That_Crow has quit [Remote host closed the connection]
starblue has joined #rust-embedded
pcs38 has quit [Quit: leaving]