arduino-leonardo

Crates.ioarduino-leonardo
lib.rsarduino-leonardo
version0.1.3
sourcesrc
created_at2018-10-07 11:31:24.56893
updated_at2018-12-05 21:15:48.714385
descriptionBoard Support Crate for Arduino Leonardo
homepage
repositoryhttps://github.com/Rahix/arduino-leonardo
max_upload_size
id88505
size22,622
Rahix (Rahix)

documentation

https://docs.rs/arduino-leonardo

README

arduino-leonardo crates.io page docs.rs

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

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.

Commit count: 11

cargo fmt