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]
<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
<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 ?
<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?