4 releases
Uses old Rust 2015
0.1.3 | Oct 1, 2018 |
---|---|
0.1.2 | Sep 26, 2018 |
0.1.1 | Sep 21, 2018 |
0.1.0 | Sep 21, 2018 |
#7 in #high-speed
34 downloads per month
Used in 2 crates
690KB
27K
SLoC
ATmega32U4
Low level access to ATmega32U4 registers. Refer to the ATmega32U4 datasheet for more detailed information.
Implemented Peripherals
This crate not yet done and support for a lot of peripherals is still missing. The following have been implemented already:
-
PORTB
: Digital IO -
PORTC
: Digital IO -
PORTD
: Digital IO -
PORTE
: Digital IO -
PORTF
: Digital IO -
TIMER0
: 8-bit Timer/Counter0 with PWM -
TIMER1
: 16-bit Timer/Counter1 -
TIMER3
: 16-bit Timer/Counter3 -
TIMER4
: 10-bit High Speed Timer/Counter4 -
EXT_INT
: External Interrupts -
USB
: USB Controller
If support for a peripheral you need is missing, please open an issue or implement it yourself and send a pull request ;)
Generating this crate
This crate is built using svd2rust. However, as there are no svd files available for ATmega32U4,
a python script is used to generate the svd file. Take a look at gen-svd.py
and svd/peripheral.py
.
Peripherals can be specified in a toml format which should make adding new ones easier. Use the existing
ones as reference (eg. svd/timer0.svd
).
To actually perform a build, run build.sh
.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.