22#if defined(SUPPORT_OutputProtocol_GECE)
32 virtual ~c_OutputGECE ();
35 virtual void Begin ();
36 virtual bool SetConfig(ArduinoJson::JsonObject &jsonConfig);
37 virtual void GetConfig(ArduinoJson::JsonObject &jsonConfig);
38 virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus);
39 virtual uint32_t
Poll();
55#define GECE_PIXEL_LIMIT 63
56#define GECE_DEFAULT_BRIGHTNESS 0xCC
58#define GECE_PIXEL_NS_BIT_0_HIGH (25 * NanoSecondsInAMicroSecond)
59#define GECE_PIXEL_NS_BIT_0_LOW (6 * NanoSecondsInAMicroSecond)
60#define GECE_PIXEL_NS_BIT_1_HIGH (6 * NanoSecondsInAMicroSecond)
61#define GECE_PIXEL_NS_BIT_1_LOW (25 * NanoSecondsInAMicroSecond)
62#define GECE_PIXEL_START_TIME_NS (8 * NanoSecondsInAMicroSecond)
63#define GECE_PIXEL_STOP_TIME_NS (45 * NanoSecondsInAMicroSecond)
64#define GECE_USEC_PER_GECE_BIT ((GECE_PIXEL_NS_BIT_0_HIGH + GECE_PIXEL_NS_BIT_0_LOW)/NanoSecondsInAMicroSecond)
66#define GECE_NUM_INTENSITY_BYTES_PER_PIXEL 3
67#define GECE_BITS_PER_INTENSITY 4
68#define GECE_BITS_BRIGHTNESS 8
69#define GECE_BITS_ADDRESS 6
70#define GECE_OVERHEAD_BITS (GECE_BITS_BRIGHTNESS + GECE_BITS_ADDRESS)
71#define GECE_PACKET_SIZE ((GECE_NUM_INTENSITY_BYTES_PER_PIXEL * GECE_BITS_PER_INTENSITY) + GECE_OVERHEAD_BITS)
73#define GECE_FRAME_TIME_USEC ((GECE_PACKET_SIZE * GECE_USEC_PER_GECE_BIT) + 90)
74#define GECE_FRAME_TIME_NSEC (GECE_FRAME_TIME_USEC * NanoSecondsInAMicroSecond)
const CN_PROGMEM char CN_GECE[]
Definition ConstNames.cpp:116
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
virtual uint32_t Poll()=0
Call from loop(), renders output data.
e_OutputProtocolType
Definition OutputMgr.hpp:78
Definition OutputPixel.hpp:28
virtual void SetOutputBufferSize(uint32_t NumChannelsAvailable)
Definition OutputPixel.cpp:112
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)
Definition OutputPixel.cpp:76
bool validate()
confirm that the current configuration is valid
Definition OutputPixel.cpp:290
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