Skip to content

Commit

Permalink
Tweaking pixel timing
Browse files Browse the repository at this point in the history
  • Loading branch information
MartinMueller2003 committed Aug 17, 2024
1 parent 53972f1 commit 5dfa036
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions ESPixelStick/src/output/OutputWS2811.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,17 @@ class c_OutputWS2811 : public c_OutputPixel

#define WS2811_PIXEL_DATA_RATE 800000.0
#define WS2811_PIXEL_NS_BIT_TOTAL ( (1.0 / WS2811_PIXEL_DATA_RATE) * NanoSecondsInASecond)

#define WS2811_PIXEL_NS_BIT_0_HIGH 315.0 // 220ns - 380ns per datasheet
#define WS2811_PIXEL_NS_BIT_0_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_0_HIGH)

#define WS2811_PIXEL_NS_BIT_1_HIGH 935.0 // 580ns - 1.6us per datasheet
#define WS2811_PIXEL_NS_BIT_1_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_1_HIGH)
#ifdef ARDUINO_ARCH_ESP32
#define WS2811_PIXEL_NS_BIT_0_HIGH 312.0 // = 312 on logic analyzer 220ns - 380ns per datasheet
#define WS2811_PIXEL_NS_BIT_0_LOW 945.0 // = 937 on logic analyzer 580ns - 1.6us per datasheet
#define WS2811_PIXEL_NS_BIT_1_HIGH 975.0 // = 937 on logic analyzer 580ns - 1.6us per datasheet
#define WS2811_PIXEL_NS_BIT_1_LOW 300.0 // = 312 on logic analyzer 220ns - 380ns per datasheet
#else
#define WS2811_PIXEL_NS_BIT_0_HIGH 312.0 // 220ns - 380ns per datasheet
#define WS2811_PIXEL_NS_BIT_0_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_0_HIGH)
#define WS2811_PIXEL_NS_BIT_1_HIGH 975.0 // 580ns - 1.6us per datasheet
#define WS2811_PIXEL_NS_BIT_1_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_1_HIGH)
#endif // ARDUINO_ARCH_ESP32

#define WS2811_PIXEL_IDLE_TIME_NS 350000.0 // 350us per datasheet
#define WS2811_PIXEL_IDLE_TIME_US (WS2811_PIXEL_IDLE_TIME_NS / float(NanoSecondsInAMicroSecond))
Expand Down

0 comments on commit 5dfa036

Please sign in to comment.