Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
PaulStoffregen b8b11c2d12 Add readme 7 лет назад
examples/BasicTest Improve WS2812 waveform timing 7 лет назад
WS2812Serial.cpp Improve WS2812 waveform timing 7 лет назад
WS2812Serial.h Wait WS2812 reset time (300us) between updates 7 лет назад
keywords.txt Teensy LC - work in progress... 7 лет назад
readme.md Add readme 7 лет назад
ws2812serial.jpg Add readme 7 лет назад

readme.md

WS2812Serial - Non-Blocking WS2812B / NeoPixel LEDs Library

Similar to OctoWS2811, this library allows you to use WS2811, WS2812, WS2812B / NeoPixel LEDs without blocking interrupts.

Non-blocking allows other libraries, especially Audio and high speed serial communication to function properly while the LEDs update. Complex animation can also run faster, because the show() function does not wait for the LEDs to update, allowing your code more time to draw the next frame.

Hardware Resources Used

WS2812Serial controls a single LED strip, using only 1 pin. While any number of LEDs may be connected, in practice 1 pin is best for small projects with less than 500 to 1000 LEDs. OctoWS2811 offers 8 parallel outputs for large projects.

Non-blocking performance does come with a cost. 15 bytes of memory are required per LED, rather than the usual 3 bytes with FastLED or Adafruit NeoPixel. One of the hardware serial ports is also used to transmit the data, making that port unavailable for other uses.

Supported Pins & Serial Ports

Port Teensy LC Teensy 3.2 Teensy 3.5 Teensy 3.6
Serial1 1, 4, 5, 24 1, 5 1, 5, 26 1, 5, 26
Serial2 10, 31 10 10
Serial3 8, 20 8, 20 8, 20
Serial4 32 32
Serial5 33 33
Serial6 48

Serial2 & Serial3 on Teensy LC are not supported, due to lack of configurable oversampling needed to run at the high speed required.

Serial6 on Teensy 3.6 is not currently supported, due to different hardware registers.