I still can't get the latest builds to run my ws2812b Neopixels ... so I got out my signal viewer which is super high resolution and started looking at the signals. In my tests, I have just one Neopixel connected (again ... just for testing) and every second, change its color from red to green. This should be the byte sequence 0xff 0x00 0x00 (red) and then a second later 0x00 0xff 0x00 (green). The way that bits are sent to a Neopixel is that a "1" bit is high for longer than a "0" bit. This page gives a good reference ...
The summary is that a "1" bit should be high for >= 625ns and a "0" bit should be high for less than 563ns.
My logic trace shows that we are all over the place. See the attached diagrams:
What I am seeing is that the "relative" durations of highs vs lows is working but the absolute values are out of whack.
@JumJum ... I'm really interested to hear what you have and have not got working. What kind of NeoPixels are you using? Do you known if they are WS2812s or WS2812b's or something else?
© Espruino, powered by microcosm.
Report a problem