Crate elk_led_controller

Source
Expand description

§elk-led-controller library

A Rust library for controlling ELK-BLEDOM and similar Bluetooth LED strips. Supports multiple device types including ELK-BLE, LEDBLE, MELK, ELK-BULB, and ELK-LAMPL.

§Features

  • Power on/off control
  • RGB color control
  • Color temperature control
  • Brightness adjustment
  • Effect modes (fade, jump, blink)
  • Effect speed control
  • Scheduling
  • Audio monitoring and visualization

§Example

use elk_led_controller::*;

#[tokio::main]
async fn main() -> Result<(), Error> {
    // Initialize tracing for logs
    tracing_subscriber::fmt::init();

    // Initialize error handling
    color_eyre::install()?;

    // Initialize and connect to the device
    let mut device = BleLedDevice::new_without_power().await?;

    // Basic operations
    device.power_on().await?;
    device.set_color(255, 0, 0).await?; // Set to red
    device.set_brightness(80).await?;   // 80% brightness

    Ok(())
}

Re-exports§

pub use audio::AudioMonitor;
pub use audio::AudioVisualization;
pub use audio::FrequencyRange;
pub use audio::VisualizationMode;
pub use device::BleLedDevice;
pub use device::Days;
pub use device::DeviceConfig;
pub use device::DeviceType;
pub use device::Effects;
pub use device::EFFECTS;
pub use device::WEEK_DAYS;

Modules§

audio
device
effects
Effect modes for LED strips
schedule
Scheduling functionality for LED strips

Enums§

Error
Custom error types for the ELK LED controller library

Type Aliases§

Result