X-Git-Url: https://git.patrickod.com/tor.noisebridge.net/plain/.gitignore?a=blobdiff_plain;f=rs-lorachat%2Fsrc%2Fmain.rs;fp=rs-lorachat%2Fsrc%2Fmain.rs;h=a0395d5c7edb6aee6774e607da205cd9dfc6c22b;hb=7ca2acacf40053d56427ec1ca0eab6d0ec1c67d7;hp=e7a11a969c037e00a796aafeff6258501ec15e9a;hpb=65a1447f284f65f006b2c777ffe9dc15e215702c;p=tincan.git 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(); + } }