<cr1901>
But I'm kinda between a rock and a hard place rn... can't use v0.14 b/c EIC pins are missing e-hal trait impls. Can't use v0.16 because USB won't reliably enumerate
<sajattack[m]1>
it's on my list to merge the ehal 1.0 pr
<cr1901>
>EIC pins are missing e-hal trait impls. <-- oh, and not enough of the internals are exposed for me to make a newtype
<cr1901>
sajattack[m]1: Nope, 0.2.* e-hal. Nobody* has written drivers for 1.0
<sajattack[m]1>
oh ok
<cr1901>
(* Obviously not true, but I'm not charitable tonight.)
<sajattack[m]1>
We're pretty low on maintainer energy. I passed ownership on to bradleyharden then he got preoccupied and now it's defacto passed back to me while I have lots of other stuff going on. Sorry for the difficulty.
<sajattack[m]1>
atsamd-rs is a bit of a hot potato :/
<cr1901>
It's not just one thing, it's a cascade of things I can't fix... in v0.14, I can't even tell the polarity of EIC events if I'm using Sense::BOTH
<cr1901>
If I could, I would have a workaround that would've made me not even look at v0.16 lol
<cr1901>
> I can't even tell the polarity of EIC events if I'm using Sense::BOTH <-- AFAICT, in v0.14, EIC wraps the GPIO pin and does not provide a way to get the GPIO pin back even via a ref
<cr1901>
sajattack[m]1: How do I use into_floating_interrupt?
<sajattack[m]1>
pin mode is just the concept of pin multiplexing really
<cr1901>
sajattack[m]1: Okay, thank you, this will most likely get me unstuck
<sajattack[m]1>
yw we do our best
<cr1901>
This is a stupid question, but why does EIC and each EXTINT have their own separate interrupts?
<sajattack[m]1>
I think extint is per-pin in the hal and eic is the whole peripheral in the pac
<sajattack[m]1>
tbh I got handed this crate after haphazardly porting a bunch of dodgy arduino code to it lol. I'm not a professional embedded developer and have limited experience with interrupts and I rely on other maintainers and contributors I trust for most of this stuff
* cr1901
nods
<cr1901>
It looks like I'm going to have to initialize the EIC using the PAC instead of HAL; I assume the EIC consuming a Pin is more of a lint than anything
<cr1901>
the HAL* EIC
<sajattack[m]1>
yeah that's one area others have commented on - other hals have more flexibility to return peripherals. It's probably just an oversight on our end
<cr1901>
The v1/v2 stuff also doesn't give great error messages (you have to convert to the _exact_ corresponding v1 type you need before you can convert with into() to v2, but the error msgs don't make that obvious)
<sajattack[m]1>
issues and prs welcome ;)
<cr1901>
that's a rustc issue, not a HAL issue :P
<sajattack[m]1>
I thought there was a macro for custom error messages?
<bradleyharden[m]>
@cr1901, if the API isn't sufficient for some reason or the documentation isn't clear, please create an issue. I can't promise any fixes, as we're short on maintainer time right now. But we could probably at least help guide you to a solution. Also, you might have better luck finding help in the atsamd-hal room, rather than here.
<bradleyharden[m]>
s/,/:/
<bradleyharden[m]>
s/,/:/
<M9names[m]>
they're on here through the IRC channel, don't know if they even have a matrix account