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§
Enums§
- Error
- Custom error types for the ELK LED controller library