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
all: Drop unnecessary access mode patches
Due to a change in atdf2svd [1], all these access mode patches are no
longer required - they are now translated correctly from the vendor
source file.
Drop all patches which no longer change the output (the code before and
after this change is equivalent when using the new atdf2svd).
[1]: https://github.com/Rahix/atdf2svd/commit/a189276b3540b647fab832946edf0acf39730a0e