4 releases
Uses old Rust 2015
0.1.3 | Dec 5, 2018 |
---|---|
0.1.2 | Oct 9, 2018 |
0.1.1 | Oct 7, 2018 |
0.1.0 | Oct 7, 2018 |
#35 in #avr
11KB
74 lines
arduino-leonardo
Board support crate for Arduino Leonardo. Reexports types to more closely match the leonardo's labeling.
Example
To see the following example in action, take a look at the leonardo-examples repo.
#![no_std]
#![no_main]
extern crate arduino_leonardo;
use arduino_leonardo::prelude::*;
#[no_mangle]
pub extern fn main() {
let dp = arduino_leonardo::Peripherals::take().unwrap();
let mut delay = arduino_leonardo::Delay::new();
let mut pins = arduino_leonardo::Pins::new(dp.PORTB, dp.PORTC, dp.PORTD, dp.PORTE);
let mut led0 = pins.led_rx.into_output(&mut pins.ddr);
let mut led1 = pins.led_tx.into_output(&mut pins.ddr);
let mut led2 = pins.d13.into_output(&mut pins.ddr);
led0.set_high();
led1.set_high();
led2.set_high();
let mut leds = [
led0.downgrade(),
led1.downgrade(),
led2.downgrade(),
];
loop {
for i in 0..3 {
leds[i].toggle();
leds[(i+2)%3].toggle();
delay.delay_ms(200);
}
}
}
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.
Dependencies
~1MB
~28K SLoC