From: Andy Isaacson <adi@hexapodia.org>
Date: Sat, 10 Jul 2021 21:49:16 +0000 (-0700)
Subject: working blinky
X-Git-Url: https://git.patrickod.com/tor-browser-?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();
+    }
 }