]> sigrok.org Git - sigrok-dumps.git/blame - led/ws281x/README
avr_isp: add dump for ATmega328/P
[sigrok-dumps.git] / led / ws281x / README
CommitLineData
81517080
MR
1-------------------------------------------------------------------------------
2WS2812B LED strip
3-------------------------------------------------------------------------------
4
5This is a capture of data output to 4 LED universes of 256 RGB LEDs.
6Every universe has a frame size of 768 bytes and the dumps are clocked at
7roughly 100 frames per second.
8
9Details:
10 - Koen Kooi's evil vendor tree: https://github.com/koenkooi/kernel
bd6d6407 11 - PRU WS28xx firmware: https://github.com/mranostay/ws28xx-lighting-pru
81517080
MR
12 - WS2812B datasheet: http://www.adafruit.com/datasheets/WS2812.pdf
13
14
15WS2812B protocol overview
16-------------------------
17
bd6d6407
UH
18All values have a +/- tolerance of 150 nanoseconds so the PRU firmware uses
19the slightly different timing values below to sync the high/low transitions.
81517080
MR
20
21 Logic low -> high 0.40 uS -> low 0.85 uS (1.25 uS)
22 Logic high -> high 0.80 uS -> low 0.45 uS (1.25 uS)
23 Latch -> low 50 uS
24
bd6d6407 25Each LED receives and then stores the first 24-bits of GRB ordered data then
81517080
MR
26passes any more out the Data Output pin to the next LED in the chain.
27
bd6d6407
UH
28This functions as a "reverse" shift register and allows the strip length not
29to be defined in the protocol.
81517080
MR
30
31
32Logic analyzer setup
33--------------------
34
bd6d6407 35The logic analyzer used was a Saleae Logic16 (at 5MHz):
81517080
MR
36
37 Probe WS2812B LED strip
38 -----------------------------
39 1 (black) Universe #1
40 2 (brown) Universe #2
41 3 (red) Universe #3
42 4 (orange) Universe #4
43
44
45Data
46----
47
48The data contains various RGB values and frames.
49
50The sigrok command line used was:
51
52 sigrok-cli --driver saleae-logic16 --samples 10M --config samplerate=5mhz \
53 -p 0=UNI1,1=UNI2,2=UNI3,3=UNI4 -o ws281x_4ch_5mhz.sr
bd6d6407 54