22#if defined(SUPPORT_OutputType_GECE)
31 gpio_num_t outputGpio,
34 virtual ~c_OutputGECE ();
37 virtual void Begin ();
38 virtual bool SetConfig(ArduinoJson::JsonObject &jsonConfig);
39 virtual void GetConfig(ArduinoJson::JsonObject &jsonConfig);
40 virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus);
41 virtual uint32_t
Poll();
57#define GECE_PIXEL_LIMIT 63
58#define GECE_DEFAULT_BRIGHTNESS 0xCC
60#define GECE_PIXEL_NS_BIT_0_HIGH (25 * NanoSecondsInAMicroSecond)
61#define GECE_PIXEL_NS_BIT_0_LOW (6 * NanoSecondsInAMicroSecond)
62#define GECE_PIXEL_NS_BIT_1_HIGH (6 * NanoSecondsInAMicroSecond)
63#define GECE_PIXEL_NS_BIT_1_LOW (25 * NanoSecondsInAMicroSecond)
64#define GECE_PIXEL_START_TIME_NS (8 * NanoSecondsInAMicroSecond)
65#define GECE_PIXEL_STOP_TIME_NS (45 * NanoSecondsInAMicroSecond)
66#define GECE_USEC_PER_GECE_BIT ((GECE_PIXEL_NS_BIT_0_HIGH + GECE_PIXEL_NS_BIT_0_LOW)/NanoSecondsInAMicroSecond)
68#define GECE_NUM_INTENSITY_BYTES_PER_PIXEL 3
69#define GECE_BITS_PER_INTENSITY 4
70#define GECE_BITS_BRIGHTNESS 8
71#define GECE_BITS_ADDRESS 6
72#define GECE_OVERHEAD_BITS (GECE_BITS_BRIGHTNESS + GECE_BITS_ADDRESS)
73#define GECE_PACKET_SIZE ((GECE_NUM_INTENSITY_BYTES_PER_PIXEL * GECE_BITS_PER_INTENSITY) + GECE_OVERHEAD_BITS)
75#define GECE_FRAME_TIME_USEC ((GECE_PACKET_SIZE * GECE_USEC_PER_GECE_BIT) + 90)
76#define GECE_FRAME_TIME_NSEC (GECE_FRAME_TIME_USEC * NanoSecondsInAMicroSecond)
const CN_PROGMEM char CN_GECE[]
Definition ConstNames.cpp:104
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
virtual uint32_t Poll()=0
Call from loop(), renders output data.
e_OutputChannelIds
Definition OutputMgr.hpp:67
e_OutputType
Definition OutputMgr.hpp:126
Definition OutputPixel.hpp:28
virtual void SetOutputBufferSize(uint32_t NumChannelsAvailable)
Definition OutputPixel.cpp:106
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)
Definition OutputPixel.cpp:70
bool validate()
confirm that the current configuration is valid
Definition OutputPixel.cpp:272
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