feat: make LED blink

This commit is contained in:
Jet Pham 2025-10-01 23:16:50 -07:00
parent a69b064f39
commit 6045406ea1
No known key found for this signature in database
2 changed files with 41 additions and 5 deletions

View file

@ -25,3 +25,25 @@ On September 30, 2025, a few Noisebridgers got together and started to hack on t
</p> </p>
> We used Kirkland Vodka to clean flux after soldering header pins > We used Kirkland Vodka to clean flux after soldering header pins
## Setup
This project requires Nix for development. Follow these steps to set up the development environment:
1. Install Nix if you haven't already:
- Follow the installation instructions at [nixos.org](https://nixos.org/download.html)
2. Enter the development environment:
```bash
nix develop
```
## Running
To run the project:
```bash
sudo cargo run --release
```
**Note:** The `sudo` command is required for accessing the USB serial port on most Linux systems.

View file

@ -8,8 +8,9 @@
use defmt::info; use defmt::info;
use esp_hal::clock::CpuClock; use esp_hal::clock::CpuClock;
use esp_hal::delay::Delay;
use esp_hal::gpio::{Level, Output, OutputConfig};
use esp_hal::main; use esp_hal::main;
use esp_hal::time::{Duration, Instant};
use esp_hal::timer::timg::TimerGroup; use esp_hal::timer::timg::TimerGroup;
use panic_rtt_target as _; use panic_rtt_target as _;
@ -32,12 +33,25 @@ fn main() -> ! {
let timg0 = TimerGroup::new(peripherals.TIMG0); let timg0 = TimerGroup::new(peripherals.TIMG0);
let _init = esp_wifi::init(timg0.timer0, esp_hal::rng::Rng::new(peripherals.RNG)).unwrap(); let _init = esp_wifi::init(timg0.timer0, esp_hal::rng::Rng::new(peripherals.RNG)).unwrap();
let mut led = Output::new(peripherals.GPIO15, Level::Low, OutputConfig::default());
// Initialize delay
let delay = Delay::new();
info!("Starting LED blink program on GPIO15...");
loop { loop {
info!("Hello world!"); // Turn LED on
let delay_start = Instant::now(); led.set_high();
while delay_start.elapsed() < Duration::from_millis(500) {} info!("LED ON");
delay.delay_millis(1000);
// Turn LED off
led.set_low();
info!("LED OFF");
delay.delay_millis(1000);
} }
// for inspiration have a look at the examples at https://github.com/esp-rs/esp-hal/tree/esp-hal-v1.0.0-rc.0/examples/src/bin // for inspiration have a look at the examples at https://github.com/esp-rs/esp-hal/tree/esp-hal-v1.0.0-rc.0/examples/src/bin
} }