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
IlPalazzo-ojiisa has quit [Quit: Leaving.]
tafa has quit [Ping timeout: 260 seconds]
tafa has joined #rust-embedded
<re_irc> <@ubik:matrix.org> : Yeah, tried both. Still doesn't make sense.
dc_740 has quit [Remote host closed the connection]
dc_740 has joined #rust-embedded
lehmrob has joined #rust-embedded
dc_740 has quit [Remote host closed the connection]
starblue has quit [Ping timeout: 248 seconds]
starblue has joined #rust-embedded
fooker has quit [Quit: WeeChat 3.7.1]
fooker has joined #rust-embedded
starblue has quit [Ping timeout: 256 seconds]
starblue has joined #rust-embedded
<re_irc> <@ryan-summers:matrix.org> Given bors' retirement, does anyone know good replacements for controlling access to protected environments? Was previously using bors to protect access to HITL environments for open-source repos
<re_irc> <@ryan-summers:matrix.org> So basically, trigger a GH workflow that accesses protected secrets only if requested by an authorized user. GH's environment protection review does it, but then I have to review my own manual triggers of the workflow, which is dumb
<re_irc> <@roy.buitenhuis-tnl:matrix.org> Is the Github merge queue feature not supposed to solve what Bors was solving?
<re_irc> <@ryan-summers:matrix.org> We were co-opting bors for slightly different behavior. We actually used it to selectively kick off a hardware-in-the-loop test on a self hosted runner whenever we thought the PR was ready
<re_irc> <@ryan-summers:matrix.org> So we could do "bors try" when we wanted to kick off the run, then it created a new github check by triggering a workflow and reported back when the HITL run finished
<re_irc> <@ryan-summers:matrix.org> We don't want to run HITL on necessary every PR, and we need to restrict who is allowed to run on the HITL
<re_irc> <@ryan-summers:matrix.org> * necessarily
<re_irc> <@ryan-summers:matrix.org> Maybe running on all PRs and using concurrency to cancel older runs would solve most of this, just need to figure out the permissions side
<re_irc> <@ryan-summers:matrix.org> Hmm, actually even that doesn't work because the actual HITL run is done in a separate repo, so concurrency cancels the current job, but not the actual HITL run
IlPalazzo-ojiisa has joined #rust-embedded
lehmrob has quit [Ping timeout: 240 seconds]
emerent has quit [Ping timeout: 256 seconds]
emerent has joined #rust-embedded
lehmrob has joined #rust-embedded
explore has joined #rust-embedded
lehmrob has quit [Ping timeout: 256 seconds]
IlPalazzo-ojiisa has quit [Quit: Leaving.]
<re_irc> <@shakencodes:matrix.org> My application has a EEPROM and we intend to use one page of this as a black box for writing out failure/reset conditions. What are possible ways to share the handle for writing the EEPROM between the main application, panic handler, and default exception handler? -- This seems like an ownership nightmare, but it needs to happen.
<re_irc> <@dirbaio:matrix.org> unsafely steal it in HardFault
<re_irc> <@dirbaio:matrix.org> there's no way to do it safely anyway, since HardFault can't be blocked by critical sections
<re_irc> <@shakencodes:matrix.org> Can you explain the unsafe "steal"? At the moment, I am failing to obtain the basic peripherals to talk to the with "pac::Peripherals::take()"
<re_irc> And thank you for pointing out the HardFault. Aside from the main application usages, the black-box write is followed by either a loop and watchdog reset, or a commanded reset. So I am not concerned about stealing the hardware from the main application
<re_irc> <@dirbaio:matrix.org> you can "steal" zero-sized singletons out of thin air with "let i2c: I2C4 = unsafe { core::mem::transmute(()) };"
<re_irc> <@dirbaio:matrix.org> embassy HALs also have "let i2c = unsafe { I2C4::steal() };", not sure about others
<re_irc> <@dirbaio:matrix.org> you can steal the i2c, the pins, construct the driver, then write to the eeprom
<re_irc> <@dirbaio:matrix.org> (assuming it's an i2c eeprom)