-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();
+ }
}