28 lines
871 B
Rust
Raw Normal View History

use anyhow::Result;
use esp_idf_svc::hal::{delay::FreeRtos, peripherals::Peripherals};
use log::info;
use rgb_led::WS2812RMT;
fn main() -> Result<()> {
esp_idf_svc::sys::link_patches();
esp_idf_svc::log::EspLogger::initialize_default();
let peripherals = Peripherals::take().unwrap();
// Onboard RGB LED pin
// Rust ESP Board gpio2, ESP32-C3-DevKitC-02 gpio8
let led = peripherals.pins.gpio2;
let channel = peripherals.rmt.channel0;
let mut ws2812 = WS2812RMT::new(led, channel)?;
loop {
info!("Red!");
ws2812.set_pixel(rgb::RGB8::new(255, 0, 0))?;
FreeRtos::delay_ms(1000);
info!("Green!");
ws2812.set_pixel(rgb::RGB8::new(0, 255, 0))?;
FreeRtos::delay_ms(1000);
info!("Blue!");
ws2812.set_pixel(rgb::RGB8::new(0, 0, 255))?;
FreeRtos::delay_ms(1000);
}
}