From: Andy Isaacson Date: Sat, 10 Jul 2021 21:49:16 +0000 (-0700) Subject: working blinky X-Git-Url: https://git.patrickod.com/tor.noisebridge.net/patch?a=commitdiff_plain;h=7ca2acacf40053d56427ec1ca0eab6d0ec1c67d7;p=tincan.git working blinky --- diff --git a/rs-lorachat/Cargo.toml b/rs-lorachat/Cargo.toml index 85fa008..f64427c 100644 --- a/rs-lorachat/Cargo.toml +++ b/rs-lorachat/Cargo.toml @@ -6,3 +6,21 @@ edition = "2018" [dependencies] feather_m0 = { git = "https://github.com/atsamd-rs/atsamd" } + + +[dependencies.cortex-m-rt] +version = "0.6.12" +optional = true + +[dependencies.atsamd-hal] +version = "0.12" +default-features = false + +[dependencies.panic-halt] +version = "0.2" +optional = true + +[features] +default = ["rt", "atsamd-hal/samd21g", "panic_halt"] +rt = ["cortex-m-rt", "atsamd-hal/samd21g-rt"] +panic_halt = ["panic-halt"] diff --git a/rs-lorachat/src/main.rs b/rs-lorachat/src/main.rs index e7a11a9..a0395d5 100644 --- a/rs-lorachat/src/main.rs +++ b/rs-lorachat/src/main.rs @@ -1,3 +1,42 @@ -fn main() { - println!("Hello, world!"); +#![no_std] +#![no_main] + +use panic_halt as _; + +use bsp::hal; +use bsp::pac; +use feather_m0 as bsp; + +use bsp::entry; +use hal::clock::GenericClockController; +use hal::delay::Delay; +use hal::prelude::*; +use pac::{CorePeripherals, Peripherals}; + +#[entry] +fn main() -> ! { + let mut peripherals = Peripherals::take().unwrap(); + let core = CorePeripherals::take().unwrap(); + let mut clocks = GenericClockController::with_external_32kosc( + peripherals.GCLK, + &mut peripherals.PM, + &mut peripherals.SYSCTRL, + &mut peripherals.NVMCTRL, + ); + let pins = bsp::Pins::new(peripherals.PORT); + let mut red_led: bsp::RedLed = pins.d13.into(); + let mut delay = Delay::new(core.SYST, &mut clocks); + loop { + delay.delay_ms(250u8); + delay.delay_ms(250u8); + delay.delay_ms(250u8); + delay.delay_ms(250u8); + red_led.set_high().unwrap(); + delay.delay_ms(100u8); + red_led.set_low().unwrap(); + delay.delay_ms(100u8); + red_led.set_high().unwrap(); + delay.delay_ms(100u8); + red_led.set_low().unwrap(); + } }