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
notgull has joined #rust-embedded
crabbedhaloablut has quit []
cr1901_ has joined #rust-embedded
cr1901 has quit [Ping timeout: 248 seconds]
GenTooMan has quit [Ping timeout: 272 seconds]
GenTooMan has joined #rust-embedded
Foxyloxy_ has quit [Ping timeout: 260 seconds]
Foxyloxy has joined #rust-embedded
starblue has quit [Ping timeout: 258 seconds]
starblue has joined #rust-embedded
IlPalazzo-ojiisa has quit [Quit: Leaving.]
DanielakaCyReVol has quit [Quit: Idle timeout reached: 172800s]
fooker has quit [Server closed connection]
fooker has joined #rust-embedded
<firefrommoonligh> Praise be the lord. I misunderstood how LipO battery connectors work and have been sending 12v to an STM32 ADC pin for a while. The MCU still works!
<GrantM11235[m]> <GrantM11235[m]> "RIP to my stm32f103, I accidenta..." <- All the cool kids are doing it
<firefrommoonligh> Hah! Wow high five
<d3zd3z[m]> Does anyone know if the UF2 bootloader on the RP2040 will allow flash to be programmed at other than the beginning of the flash? I've tried making my own uf2 file of data I'd like to load at an offset, and it doesn't seem to be showing up. Only some of these devices have SWD connected, so I'm not sure how to program these.
emerent_ has joined #rust-embedded
emerent is now known as Guest2713
Guest2713 has quit [Killed (tungsten.libera.chat (Nickname regained by services))]
emerent_ is now known as emerent
notgull has quit [Ping timeout: 264 seconds]
notgull has joined #rust-embedded
notgull has quit [Ping timeout: 272 seconds]
notgull has joined #rust-embedded
<M9names[m]> It should be fine. You can also use picoboot to read/write flash when you're in the bootloader, so if you've hit a uf2 limitation you should still be able to program it.
<M9names[m]> Which offset are you loading to?
sauce has quit [Server closed connection]
sauce has joined #rust-embedded
crabbedhaloablut has joined #rust-embedded
Guest7221 has left #rust-embedded [Error from remote client]
Guest7221 has joined #rust-embedded
starblue has quit [Ping timeout: 255 seconds]
starblue has joined #rust-embedded
Guest7221 has left #rust-embedded [Error from remote client]
Guest7221 has joined #rust-embedded
notgull has quit [Ping timeout: 240 seconds]
notgull has joined #rust-embedded
notgull has quit [Ping timeout: 240 seconds]
romancardenas[m] has quit [Quit: Idle timeout reached: 172800s]
notgull has joined #rust-embedded
IlPalazzo-ojiisa has joined #rust-embedded
<therealprof[m]> That doesn't really make it clearer, just explains current status... 😅
<Noah[m]> Congrats to the ferrous folks on the massive achievement for certification of ferrocene :)
<dirbaio[m]> 📣 `heapless` v0.8.0 released!
frankplow has left #rust-embedded [#rust-embedded]
vollbrecht[m] has joined #rust-embedded
<vollbrecht[m]> https://ferrous-systems.com/blog/officially-qualified-ferrocene/ time to tell your boss about it 😂
frankplow has joined #rust-embedded
<vollbrecht[m]> RIP: links to ferrous-systems gets auto moded?
<vollbrecht[m]> no it was just my client acting up..
frankplow has left #rust-embedded [#rust-embedded]
frankplow has joined #rust-embedded
frankplow has left #rust-embedded [#rust-embedded]
barafael[m] has joined #rust-embedded
<barafael[m]> yeah, this is pretty big. Open source, identical to mainline basically, highest ASIL and SIL, pretty cheap. Incredible achievement.
sourcebox[m] has joined #rust-embedded
<sourcebox[m]> <vollbrecht[m]> "https://ferrous-systems.com/blog..."; <- I think I need a new boss...
<AdamHott[m]> When I read that this is the first time qualification of the Rust compiler, I knew I picked the right new programming language! Congrats ferrous!
ryan-summers[m] has quit [Quit: Idle timeout reached: 172800s]
ilpalazzo-ojiis4 has joined #rust-embedded
<ilpalazzo-ojiis4> Finally!
<ilpalazzo-ojiis4> Out of curiosity… what are Rust's competitors in being ASIL-D certified?
<ilpalazzo-ojiis4> I've heard there are some C compilers, proprietary and hideously expensive. Anything else?
<d3zd3z[m]> <M9names[m]> "It should be fine. You can..." <- > <@9names:matrix.org> It should be fine. You can also use picoboot to read/write flash when you're in the bootloader, so if you've hit a uf2 limitation you should still be able to program it.
<d3zd3z[m]> I'm trying to load at 0x10200000. It just doesn't seem to change the data there.
<d3zd3z[m]> > Which offset are you loading to?
<d3zd3z[m]> I guess I should look into picoboot.
HumanG33k has quit [Quit: WeeChat 3.8]
Lumpio[m] has quit [Quit: Idle timeout reached: 172800s]
HumanG33k has joined #rust-embedded
HumanG33k has quit [Quit: WeeChat 3.8]
<waveguide[m]> <ilpalazzo-ojiis4> "I've heard there are some C..." <- Presumably adacores tool chain for spark
<waveguide[m]> Need to certify RTIC now:)
<waveguide[m]> * RTIC now :)
<ilpalazzo-ojiis4> RTIC?
<AdamHott[m]> <ilpalazzo-ojiis4> "Out of curiosity… what are Rust..." <- ChatGPT tells me:... (full message at <https://catircservices.org/_matrix/media/v3/download/catircservices.org/fhuneKwvpaUyexlPQPwGMtPl>)
<AdamHott[m]> And please let me know everyone if pasting long texts like this in the chat is super annoying.
<AdamHott[m]> I can stop
HumanG33k has joined #rust-embedded
lkostka[m] has joined #rust-embedded
<lkostka[m]> HI.
<lkostka[m]> I have difficulty on how to approach different board designs in code. Board a has one mcu vendor while other one has different. Different pinouns efc. Same program logic. How do you approach those problems ?
WSalmon has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
WSalmon has joined #rust-embedded
<ilpalazzo-ojiis4> So, it's Ada, C(++), and Rust. Quite a small sample!
<waveguide[m]> I wonder too how many modifications to whatever base compiler the various certified compilers built and sell...
<waveguide[m]> ferrocene being effectively rustc is pretty amazing
<waveguide[m]> * and sell have...
<waveguide[m]> wonder if I could get some extra eyes on this... https://github.com/imxrt-rs/imxrt-hal/blob/1fd948607014e246dbebf65491d6efaf69d04c86/src/common/sai.rs as its still not clear to me this is the best path
<waveguide[m]> the C equivalent driver https://mcuxpresso.nxp.com/api_doc/dev/721/group__sai.html
<waveguide[m]> funnily the mcux sdk doc examples are using deprecated calls (SAI_TxInit)
<waveguide[m]> and deprecated ideas around a Tx handle
<waveguide[m]> * funnily the mcux sdk doc examples are using deprecated calls (SAI_TxInit) and a seemingly deprecated tx handle
neceve has joined #rust-embedded
diondokter[m] has quit [Quit: Idle timeout reached: 172800s]
notgull has quit [Ping timeout: 255 seconds]
notgull has joined #rust-embedded
neceve has quit [Ping timeout: 255 seconds]
neceve has joined #rust-embedded
crabbedhaloablut has quit []
chodzikman[m] has quit [Quit: Idle timeout reached: 172800s]
neceve has quit [Read error: Connection reset by peer]
neceve has joined #rust-embedded
<barafael[m]> <lkostka[m]> "HI...." <- > <@lkostka:matrix.org> HI.
<barafael[m]> > I have difficulty on how to approach different board designs in code. Board a has one mcu vendor while other one has different. Different pinouns efc. Same program logic. How do you approach those problems ?
<barafael[m]> Put the program logic in its own crate which only depends on embedded-hal, if possible
NaomiLiu[m] has joined #rust-embedded
<NaomiLiu[m]> hey all!
<NaomiLiu[m]> I guess I have a general RTIC question regarding best practices -
<NaomiLiu[m]> I have a task with a shared resource (status enum that's read by other tasks), along with some peripherals in Local that are exclusively owned
<NaomiLiu[m]> the only thing that's being locked is the status enum, but I'm controlling the peripherals during the lock in order to not be preempted
<NaomiLiu[m]> sol_pwr itself doesn't need to be locked since only this task has access to it, but it seems like an antipattern to use a separate, but logically related lock for this
<dirbaio[m]> why do you need to avoid preemption?
<NaomiLiu[m]> hmm, I don't know honestly
<NaomiLiu[m]> the innate urge to prematurely optimize, i guess
<dirbaio[m]> :D
<dirbaio[m]> anyway, if you want to avoid ALL preemption you need to take a critical section.
<dirbaio[m]> RTIC's locks are fine-grained, they won't prevent all preemption, only preemption by other tasks that might access sol_state
<dirbaio[m]> there might be a higher-priority task that doesn't use sol_state, that can still preempt you
<NaomiLiu[m]> but control flow just continues on after the interrupt handler returns, correct?
<dirbaio[m]> yep
<dirbaio[m]> i'd say, if you have an actual reason to avoid preemption, like "if there's more than X microseconds between power disable and pwm disable, the hardware lights on fire", use a critical section
<NaomiLiu[m]> similar to syscalls
<dirbaio[m]> if you don't, just move the code outside the lock
<NaomiLiu[m]> nice, ty!
<NaomiLiu[m]> this task is pretty low priority - I'm controlling some solenoids and have a few bulky caps on which I'm limiting inrush current at power-on. The caps charge slowly through resistors until the rail voltage is steady, at which point I enable a PMOS
<NaomiLiu[m]> each solenoid has its own PMOS which are triggered thru high-priority software tasks
<NaomiLiu[m]> this is for a keyboard. a disgustingly overengineered keyboard
dne has quit [Remote host closed the connection]
dne has joined #rust-embedded
<d3zd3z[m]> <d3zd3z[m]> "I guess I should look into..." <- I'm not quite sure where picoboot it, google is taking me to a modchip for Nintendo. Presumably, this is a tool for talking to the booloader over USB?
neceve has quit [Ping timeout: 255 seconds]
Guest7221 has left #rust-embedded [Error from remote client]
IlPalazzo-ojiisa has quit [Quit: Leaving.]