26#if defined(SUPPORT_OutputProtocol_WS2811)
28#ifdef ARDUINO_ARCH_ESP32
29# include <driver/uart.h>
38 virtual ~c_OutputWS2811 ();
41 virtual void Begin ();
42 virtual bool SetConfig (ArduinoJson::JsonObject & jsonConfig);
43 virtual void GetConfig (ArduinoJson::JsonObject & jsonConfig);
44 virtual void GetStatus (ArduinoJson::JsonObject & jsonStatus);
49#define WS2811_PIXEL_DATA_RATE 800000.0
50#define WS2811_PIXEL_NS_BIT_TOTAL ( (1.0 / WS2811_PIXEL_DATA_RATE) * NanoSecondsInASecond)
51#ifdef ARDUINO_ARCH_ESP32
57 #define WS2811_PIXEL_NS_BIT_0_HIGH 300.0
58 #define WS2811_PIXEL_NS_BIT_0_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_0_HIGH)
59 #define WS2811_PIXEL_NS_BIT_1_HIGH WS2811_PIXEL_NS_BIT_0_LOW
60 #define WS2811_PIXEL_NS_BIT_1_LOW WS2811_PIXEL_NS_BIT_0_HIGH
62 #define WS2811_PIXEL_NS_BIT_0_HIGH 312.0
63 #define WS2811_PIXEL_NS_BIT_0_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_0_HIGH)
64 #define WS2811_PIXEL_NS_BIT_1_HIGH 975.0
65 #define WS2811_PIXEL_NS_BIT_1_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_1_HIGH)
68#define WS2811_PIXEL_IDLE_TIME_US 350.0
69#define WS2811_PIXEL_IDLE_TIME_NS WS2811_PIXEL_IDLE_TIME_US * NanoSecondsInAMicroSecond
71#define WS2811_PIXEL_BITS_PER_INTENSITY 8
const CN_PROGMEM char CN_WS2811[]
Definition ConstNames.cpp:256
virtual void GetDriverName(String &sDriverName)=0
get the name for the instantiated driver
virtual void Begin()
set up the operating environment based on the current config (or defaults)
Definition OutputCommon.hpp:41
e_OutputProtocolType
Definition OutputMgr.hpp:78
Definition OutputPixel.hpp:28
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)
Definition OutputPixel.cpp:76
virtual bool SetConfig(ArduinoJson::JsonObject &jsonConfig)
Set a new config in the driver.
Definition OutputPixel.cpp:177
virtual void GetConfig(ArduinoJson::JsonObject &jsonConfig)
Get the current config used by the driver.
Definition OutputPixel.cpp:50
Definition OutputMgrPortDefs.hpp:90