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
Improve error message when no device is selected
Introduce a new `device-selected` feature to simpilify the logic for
showing an error when no device was selected.
atmega328p, pb: Split EIMSK INT field into 2
The INT0 and INT1 fields in the EIMSK register were incorrectly
combined into a 2 bit field, split into individual bits.
Also allow write access to PRR0 and PRR1 in ATmega328PB.
ci: Switch to GitHub Actions
atmega328p: Make PRR register writable
Add attiny84 and atmega644 to `src/lib.rs`