@@ -8,21 +8,19 @@ Fadecandy drives addressable LED strips with the WS2811 and WS2812 controllers.
...
@@ -8,21 +8,19 @@ Fadecandy drives addressable LED strips with the WS2811 and WS2812 controllers.
This firmware is based on Stoffregen's excellent [OctoWS2811](http://www.pjrc.com/teensy/td_libs_OctoWS2811.html) library, which pumps out serial data for these LED strips entirely using DMA. This firmware builds on Paul's work by adding:
This firmware is based on Stoffregen's excellent [OctoWS2811](http://www.pjrc.com/teensy/td_libs_OctoWS2811.html) library, which pumps out serial data for these LED strips entirely using DMA. This firmware builds on Paul's work by adding:
* A high performance USB protocol
* A high performance USB protocol
*Double-buffering
*Zero-copy architecture
* Interpolation between keyframes
* Interpolation between keyframes
* Gamma correction
* Gamma correction
* Temporal dithering
* Temporal dithering
These features add up to give *very smooth* fades and high dynamic range. Ever notice that annoying stair-stepping effect when fading LEDs from off to dim? Fadecandy avoids that using a form of [delta-sigma modulation](http://en.wikipedia.org/wiki/Delta-sigma_modulation). It rapidly wiggles each pixel's value up or down by one 8-bit step, in order to achieve 16-bit resolution for fades.
These features add up to give *very smooth* fades and high dynamic range. Ever notice that annoying stair-stepping effect when fading LEDs from off to dim? Fadecandy avoids that using a form of [delta-sigma modulation](http://en.wikipedia.org/wiki/Delta-sigma_modulation). It rapidly wiggles each pixel's value up or down by one 8-bit step, in order to achieve 16-bit resolution for fades.
TBD
Vitals
---
------
This is a work in progress! Things I don't know yet:
* 512 LEDs supported per Teensy board (8 strings, 64 LEDs per string)
* Constant hardware frame rate of 520 FPS, to support temporal dithering
* How many LEDs will be supported per Teensy board