From 7ca2acacf40053d56427ec1ca0eab6d0ec1c67d7 Mon Sep 17 00:00:00 2001 From: Andy Isaacson Date: Sat, 10 Jul 2021 14:49:16 -0700 Subject: [PATCH] working blinky --- rs-lorachat/Cargo.toml | 18 +++++++++++++++++ rs-lorachat/src/main.rs | 43 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 59 insertions(+), 2 deletions(-) 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(); + } } -- 2.45.1