28 lines
871 B
Rust
28 lines
871 B
Rust
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);
|
|
}
|
|
}
|