]> patrickod personal git archive - tincan.git/blob - rs-lorachat/src/main.rs
working blinky
[tincan.git] / rs-lorachat / src / main.rs
1 #![no_std]
2 #![no_main]
3
4 use panic_halt as _;
5
6 use bsp::hal;
7 use bsp::pac;
8 use feather_m0 as bsp;
9
10 use bsp::entry;
11 use hal::clock::GenericClockController;
12 use hal::delay::Delay;
13 use hal::prelude::*;
14 use pac::{CorePeripherals, Peripherals};
15
16 #[entry]
17 fn main() -> ! {
18     let mut peripherals = Peripherals::take().unwrap();
19     let core = CorePeripherals::take().unwrap();
20     let mut clocks = GenericClockController::with_external_32kosc(
21         peripherals.GCLK,
22         &mut peripherals.PM,
23         &mut peripherals.SYSCTRL,
24         &mut peripherals.NVMCTRL,
25     );
26     let pins = bsp::Pins::new(peripherals.PORT);
27     let mut red_led: bsp::RedLed = pins.d13.into();
28     let mut delay = Delay::new(core.SYST, &mut clocks);
29     loop {
30         delay.delay_ms(250u8);
31         delay.delay_ms(250u8);
32         delay.delay_ms(250u8);
33         delay.delay_ms(250u8);
34         red_led.set_high().unwrap();
35         delay.delay_ms(100u8);
36         red_led.set_low().unwrap();
37         delay.delay_ms(100u8);
38         red_led.set_high().unwrap();
39         delay.delay_ms(100u8);
40         red_led.set_low().unwrap();
41     }
42 }