26#if defined(SUPPORT_OutputType_WS2811)
28#ifdef ARDUINO_ARCH_ESP32
29# include <driver/uart.h>
37 gpio_num_t outputGpio,
40 virtual ~c_OutputWS2811 ();
43 virtual void Begin ();
44 virtual bool SetConfig (ArduinoJson::JsonObject & jsonConfig);
45 virtual void GetConfig (ArduinoJson::JsonObject & jsonConfig);
46 virtual void GetStatus (ArduinoJson::JsonObject & jsonStatus);
51#define WS2811_PIXEL_DATA_RATE 800000.0
52#define WS2811_PIXEL_NS_BIT_TOTAL ( (1.0 / WS2811_PIXEL_DATA_RATE) * NanoSecondsInASecond)
53#ifdef ARDUINO_ARCH_ESP32
59 #define WS2811_PIXEL_NS_BIT_0_HIGH 300.0
60 #define WS2811_PIXEL_NS_BIT_0_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_0_HIGH)
61 #define WS2811_PIXEL_NS_BIT_1_HIGH WS2811_PIXEL_NS_BIT_0_LOW
62 #define WS2811_PIXEL_NS_BIT_1_LOW WS2811_PIXEL_NS_BIT_0_HIGH
64 #define WS2811_PIXEL_NS_BIT_0_HIGH 312.0
65 #define WS2811_PIXEL_NS_BIT_0_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_0_HIGH)
66 #define WS2811_PIXEL_NS_BIT_1_HIGH 975.0
67 #define WS2811_PIXEL_NS_BIT_1_LOW (WS2811_PIXEL_NS_BIT_TOTAL - WS2811_PIXEL_NS_BIT_1_HIGH)
70#define WS2811_PIXEL_IDLE_TIME_US 350.0
71#define WS2811_PIXEL_IDLE_TIME_NS WS2811_PIXEL_IDLE_TIME_US * NanoSecondsInAMicroSecond
73#define WS2811_PIXEL_BITS_PER_INTENSITY 8
const CN_PROGMEM char CN_WS2811[]
Definition ConstNames.cpp:236
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:43
e_OutputChannelIds
Definition OutputMgr.hpp:67
e_OutputType
Definition OutputMgr.hpp:126
Definition OutputPixel.hpp:28
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)
Definition OutputPixel.cpp:70
virtual bool SetConfig(ArduinoJson::JsonObject &jsonConfig)
Set a new config in the driver.
Definition OutputPixel.cpp:171
virtual void GetConfig(ArduinoJson::JsonObject &jsonConfig)
Get the current config used by the driver.
Definition OutputPixel.cpp:50