basic/
basic.rs

1use rs_ws281x::ControllerBuilder;
2use rs_ws281x::ChannelBuilder;
3use rs_ws281x::StripType;
4
5fn main() {
6    // Construct a single channel controller. Note that the
7    // Controller is initialized by default and is cleaned up on drop
8
9    let mut controller = ControllerBuilder::new()
10        .freq(800_000)
11        .dma(10)
12        .channel(
13            0, // Channel Index
14            ChannelBuilder::new()
15                .pin(10) // GPIO 10 = SPI0 MOSI
16                .count(64) // Number of LEDs
17                .strip_type(StripType::Ws2812)
18                .brightness(20) // default: 255
19                .build(),
20        )
21        .build()
22        .unwrap();
23
24    let leds = controller.leds_mut(0);
25
26    for led in leds {
27        *led = [0, 0, 255, 0];
28    }
29
30    controller.render().unwrap();
31}