Return the previous interrupt status upon disabling interrupts
This commit addresses #88 by returning a boolean which reflects the
previous state of the GIE flag upon disabling interrupts. This allows
`critical-section` to implement itself for AVR, while not breaking the
existing `avr-device` API.
Add support for ATtiny816
Add basic support for the ATtiny816 of the tinyAVR1-series.
README: Format device list as a table
Make it use less vertical screen space.
Even though the categories don't make 100% sense...
Add support for ATtiny2313/A
ci: Only run for pushes to main/wip
Fixes "internal" pull-requests leading to a duplicated workflow run.
ci: Upgrade tool versions
Reflect the latest requirements in our CI workflow as well.
Mention tool versions in README
To prevent headaches and regressions, document the exact versions to be
used.
Fix build with svd2rust 0.19
Upgrade to svd2rust version 0.19. We can make use of the new --make_mod
option nicely.
attiny841: Fix TWI:TWSCRB:TWAA enumerated values
Actually this is just a single bit so 2-bit enum values don't make
sense. Newer svd2rust versions check whether enum values fit which
caught this error. Fix it.
README: Update crates.io badge
Add ATtiny202 support
All of the svd patches are in patch/common/attiny-0-series.yaml which should
work for all of the 0-series (but may only work for ATtiny20* and ATtiny40*,
but not 80* or 160* given how the datasheet is split)
Add AT90USB1286 support
Ref: #80
rt: Implement cortex-m-rt-macros static mut conversion
Inside the entrypoint and interrupt handlers, perform a conversion which
turns `static mut`s into &mut references to the static. This is safe
because exception handlers and the entrypoint are guaranteed to not be
reentrant.
This is the same behavior as `cortex-m-rt` where it is documented in the
Rust Embedded Book [1].
[1]: https://docs.rust-embedded.org/book/start/exceptions.html
ci: Use stable Rust for building svd2rust