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}