<re_irc>
<@newam:matrix.org> Hm, does that mean we can securely do self-hosted runners?
<re_irc>
<@dirbaio:matrix.org> maybe, if you set ` Require approval for all outside collaborators ` and make sure to througly audit ALL prs before approving... :)
<re_irc>
<@dirbaio:matrix.org> what I want from that is to not have to approve, so setting it to ` Require approval for first-time contributors who are new to GitHub `
emerent has quit [Ping timeout: 255 seconds]
emerent_ has joined #rust-embedded
emerent_ is now known as emerent
<re_irc>
<@adamgreig:matrix.org> Aah yay at last
<re_irc>
<@orvi:matrix.org> nice, wonder what the threshold for "new to GitHub" is?
<re_irc>
<@dirbaio:matrix.org> I guess whatever their ALgOrIThMs decide
* re_irc
@orvi:matrix.org sets computer time to 6500 BCE
starblue1 has quit [Ping timeout: 268 seconds]
starblue1 has joined #rust-embedded
fabic has quit [Ping timeout: 268 seconds]
fabic has joined #rust-embedded
radens has quit [Quit: Connection closed for inactivity]
fabic has quit [Ping timeout: 265 seconds]
dcz has joined #rust-embedded
radens has joined #rust-embedded
fabic has joined #rust-embedded
fabic has quit [Ping timeout: 265 seconds]
radens has quit [Quit: Connection closed for inactivity]
fabic has joined #rust-embedded
mikehcox has quit [Ping timeout: 246 seconds]
<re_irc>
<@ubik:matrix.org> hm... why won't OpenOCD find the RTT control block?
<re_irc>
<@ubik:matrix.org> Info : rtt: Searching for control block 'SEGGER_RTT'
<re_irc>
<@ubik:matrix.org> Info : rtt: No control block found
<re_irc>
<@9names:matrix.org> is it because the symbol has a leading underscore that you don't have in your config file?
<re_irc>
<@ubik:matrix.org> Nope. Tried that.
<re_irc>
<@ubik:matrix.org> `cargo embed` picks up RTT, BTW
<re_irc>
<@9names:matrix.org> hmm, openocd is just doing a string comparison against the string you specify at that address. maybe check the data at that address to make sure it's there?
<re_irc>
<@thalesfragoso:matrix.org> Maybe search for more than 0x30
<re_irc>
<@thalesfragoso:matrix.org> Oh, that is the size of the RTT buffer right ? That knurling link is giving the exact address of the control block by checking nm
<re_irc>
<@thalesfragoso:matrix.org> Actually, no it's the control block size not buffer size, might try giving the exact address of it, plus use the same size as knurling
<re_irc>
<@9names:matrix.org> the size you give in the openocd commands should not have any impact on finding the block.
<re_irc>
<@9names:matrix.org> it only checks for the ID string, up to a max length of 16 bytes (including \0)
<re_irc>
<@ubik:matrix.org> newam: can your crate already receive LoRa? Cause the README says transmit only
<re_irc>
<@newam:matrix.org> In theory yes, but I have not tested it which is why I did not put it in the README
<re_irc>
<@newam:matrix.org> I did LoRa TX and received it with a SDR; and the modulation was as expected, that's how I know TX works without RX
<re_irc>
<@ubik:matrix.org> OK, I'll give it a try
<re_irc>
<@newam:matrix.org> if it doesn't work [easily] let me know, adding a test-suite for LoRa is on my ToDo list, I have just been tinkering with other things
<re_irc>
<@therealprof:matrix.org> hargonix: That is very fresh and not released yet. 😉
<re_irc>
<@hargonix:matrix.org> aha, so instead just the Peripherals struct?
<re_irc>
<@therealprof:matrix.org> Yeah, a bit more. It's an abstraction over different microbit versions to get rid of the branching in the applications themselves.
<re_irc>
<@therealprof:matrix.org> In the true spirit of a BSP. 😀
<re_irc>
<@therealprof:matrix.org> I can't take any credit for that. Plan and execution was all done by robyoung.
<re_irc>
<@hargonix:matrix.org> Makes sense, are there any plans for when you're going to release that stuff?
<re_irc>
<@therealprof:matrix.org> I don't have plans but I don't see a reason why not. robyoung ?
<re_irc>
<@dngrs:matrix.org> so... any no-std webservers?
<re_irc>
<@newam:matrix.org> I looked at that a year ago dngrs (spookyvision@github) (so it may have changed). All I could find were some `no-std` HTTP protocol serialization/deserialization crates, not a whole lot more than that.
<re_irc>
<@dngrs:matrix.org> newam: that's a start ... link?
<re_irc>
<@newam:matrix.org> There was another one, but I forget the name.
<re_irc>
<@dngrs:matrix.org> thanks!
<re_irc>
<@metajack:matrix.org> Any idea why this happens? It calling `.unwrap()` works fine in `main()` but if call it in another function it fails.
<re_irc>
<@metajack:matrix.org> error[E0599]: the method `unwrap` exists for enum `Result<(), <Clock as stm32h7xx_hal::embedded_hal::digital::v2::OutputPin>::Error>`, but its trait bounds were not satisfied
<re_irc>
<@dngrs:matrix.org> any `build.rs` (or otherwise) helpers for including files as `&str`s?
<re_irc>
<@dngrs:matrix.org> oh wait
<re_irc>
<@dngrs:matrix.org> `include!` :D
<re_irc>
<@newam:matrix.org> Yeah :D
<re_irc>
<@newam:matrix.org> There's also one to include as bytes
<re_irc>
<@dngrs:matrix.org> `include_str!`
<re_irc>
<@dngrs:matrix.org> perfect
<re_irc>
<@newam:matrix.org> There's also-also one that someone made which gzip's the include (handy if you want to store entire HTML files without minifying)
<re_irc>
<@ubik:matrix.org> has anyone ever seen this error?
<re_irc>
<@newam:matrix.org> Can't say I have.
<re_irc>
<@newam:matrix.org> if you have updated the stm32wl stuff recently I would recommend doing a `cargo clean`, I have seen incremental mis-compiles when I change the PAC
<re_irc>
<@newam:matrix.org> oh, if you're trying to use an interrupt you will need to set `feature = "rt"` in the HAL (it will propagate it to the PAC)
<re_irc>
<@grantm11235:matrix.org> metajack: You can fix this by adding `Clock::Error: Debug` to the `where` clause of your function.
dcz has quit [Ping timeout: 268 seconds]
<re_irc>
<@ubik:matrix.org> newam: I figured it out. Removing the direct dependency to the device module fixed it.
<re_irc>
<@ubik:matrix.org> not sure why 🤷♂️
<re_irc>
<@newam:matrix.org> > not sure why 🤷♂️
<re_irc>
<@newam:matrix.org> I have `resolver = "2"` set in the `Cargo.toml` for the workspace, and I think that will propagate to your workspace when using `path` or `git` for a dependency.
<re_irc>
<@newam:matrix.org> That might be my fault :S
<re_irc>
<@newam:matrix.org> Normally rust does feature unification, where if one crate "foo" sets `features = ["bar"]` for the `spam` dependency then all copies of `spam` will have the `bar` feature enabled.
<re_irc>
<@newam:matrix.org> Oh, and if you want the device crate it gets exported under `hal::pac` 🙂
<re_irc>
<@newam:matrix.org> ub|k: Oh, another though; it could be it was at different versions.
<re_irc>
<@newam:matrix.org> I updated the PAC commit that the HAL points to recently, I keep it up to date with the patches being made here: https://github.com/stm32-rs/stm32-rs/pull/559
<re_irc>
<@ubik:matrix.org> newam: yeah, I figured that out, thanks!
<re_irc>
<@ubik:matrix.org> anyway, it's fine now
<re_irc>
<@ubik:matrix.org> it's just not working 😆
<re_irc>
<@ubik:matrix.org> as in, interrupt never called
<re_irc>
<@newam:matrix.org> When that happens its usually because I forget one of the two; unmasking the IRQ in the NVIC or enabling it in the peripheral 😒
<re_irc>
<@ubik:matrix.org> both done
<re_irc>
<@newam:matrix.org> Hmmm.
<re_irc>
<@newam:matrix.org> Which IRQ?
<re_irc>
<@ubik:matrix.org> by "enabling it in the peripheral", you mean `set_irq_cfg(...)`, right?
<re_irc>
<@ubik:matrix.org> RxDone
<re_irc>
<@ubik:matrix.org> of course that can be due to a million things, especially me messing up some configuration parameter
<re_irc>
<@ubik:matrix.org> i was hoping i could capture the beacon pings I got with the original firmware the other day
<re_irc>
<@newam:matrix.org> Oooh, this is for the sub-ghz radio?
<re_irc>
<@newam:matrix.org> I remember looking at that; it has several layers of special-cases if I recall
<re_irc>
<@ubik:matrix.org> isn't that what I am supposed to use to decode LoRa?
<re_irc>
<@newam:matrix.org> 1. it is not set in `subghz.irq_status()`
<re_irc>
<@newam:matrix.org> Just to make sure I am on the same page, the IRQ not firing, do you mean:
<re_irc>
<@newam:matrix.org> 2. it is set in `subghz.irq_status()`, but not pending in the NVIC
<re_irc>
<@ubik:matrix.org> i have no idea whether it's set in irq_status, because I only check that in the interrupt handler. I assume not, since the NVIC doesn't seem to fire
<re_irc>
<@newam:matrix.org> Gotcha
<re_irc>
<@ubik:matrix.org> as in, the handling function is never called
<re_irc>
<@newam:matrix.org> I'm checking the docs now... I recall there was something unique about that interrupt, but I am having troubling finding it
<re_irc>
<@newam:matrix.org> What interrupt are you using (the enumeration name)?
<re_irc>
<@ubik:matrix.org> Oh, I see. I'm getting an `ExecutionFailure`
<re_irc>
<@newam:matrix.org> Oh, that would do it.
<re_irc>
<@newam:matrix.org> As for special cases I think I am remembering a different radio module, this one should be that easy.
<re_irc>
<@metajack:matrix.org> is adc oversampling not implemented for stm32h7xx_hal?
<re_irc>
<@ubik:matrix.org> newam: does it seem normal that Get_Status() returns a command execution failure at the beginning?
<re_irc>
<@newam:matrix.org> ub|k: YES.
<re_irc>
<@newam:matrix.org> I have had a support ticket open for _months_ with ST and they still have not got back to me.
<re_irc>
<@ubik:matrix.org> oh
<re_irc>
<@newam:matrix.org> I tried out the cube software and it is reproducible using their own code 😕
<re_irc>
<@newam:matrix.org> I am really not sure what to make of it given that the spec says it should never occur.
<re_irc>
<@newam:matrix.org> I should add a note in the docs about that, thanks for reminding me 😀
<re_irc>
<@ubik:matrix.org> beautiful
<re_irc>
<@newam:matrix.org> > In the STM32WL55 reference manual (RM0453 Rev 1) section 5.8.5 states "Get_Status(status) can be issued at any time"
<re_irc>
<@newam:matrix.org> >
<re_irc>
<@newam:matrix.org> > However, there seem to be many situations where this command will result in a reserved value for the "CmdStatus" field.
<re_irc>
<@ubik:matrix.org> BTW, I can't manage to switch to HSE32 standby mode
<re_irc>
<@ubik:matrix.org> I get a 168, which seems to be 0x4: 0x4:command processing error (invalid opcode or incorrect number of
<re_irc>
<@ubik:matrix.org> parameters)
<re_irc>
<@newam:matrix.org> Oh, also for LoRa another thing that isn't documented that you may be interested in:
<re_irc>
<@newam:matrix.org> > In the SubGHz_Phy_PingPong example for the Nucleo-WL55JC2 there two register reads and writes to addresses that are not documented in reference manual.
<re_irc>
<@grantm11235:matrix.org> Would it be possible to give `Operation::Transfer` some kind of interior mutability instead?
<re_irc>
<@orvi:matrix.org> grantm11235: something like making the trait around a Box<W>?
<re_irc>
<@firefrommoonlight:matrix.org> Ok, I think I finally have a GPIO API I'm happy with. May have some potential race-condition vulnerabilities.
<re_irc>
<@firefrommoonlight:matrix.org> let mut gpiob = GpioB::new(dp.GPIOB);
<re_irc>
<@willeml:matrix.org> (maybe not the #[used] part, but the link section, will it work or will it cause problems?)
<re_irc>
<@adamgreig:matrix.org> Function, yes
<re_irc>
<@adamgreig:matrix.org> The rest, don't think so
<re_irc>
<@adamgreig:matrix.org> But if the function calls any other functions they don't inherit it
<re_irc>
<@adamgreig:matrix.org> So unless those calls are inlined, your function will jump to wherever those ones live
<re_irc>
<@willeml:matrix.org> Hmm, how would I get around that? Because my crate is currently a library and a binary, and I want the library part in .qspi
<re_irc>
<@willeml:matrix.org> (although, I dont actually need anything to be in internal flash, it could all be in qspi if thats possible)