25#ifdef SUPPORT_OutputProtocol_GRINCH
33 virtual ~c_OutputGrinch ();
36 virtual bool SetConfig (ArduinoJson::JsonObject & jsonConfig);
37 virtual void GetConfig (ArduinoJson::JsonObject & jsonConfig);
38 void GetDriverName (String & sDriverName) { sDriverName = F(
"Grinch"); }
39 virtual void GetStatus (ArduinoJson::JsonObject & jsonStatus);
45 inline bool IRAM_ATTR ISR_MoreDataToSend () {
return SpiOutputDataByteIndex > 0;}
46 bool IRAM_ATTR ISR_GetNextIntensityToSend (uint32_t &DataToSend);
50#define MAX_NUM_SUPPORTED_GRINCHES 4
51#define DATA_CHANNELS_PER_GRINCH 64
54 uint8_t NumberOfGrinchControllers = 1;
55 uint8_t NumberOfGrinchChannels = NumberOfGrinchControllers * DATA_CHANNELS_PER_GRINCH;
56 uint8_t NumberOfGrinchDataBytes = NumberOfGrinchChannels / 8;
57 uint8_t SpiOutputDataByteIndex = 0;
61 struct GrinchLatchData
63 uint8_t LatchChan_01_08 = 0;
64 uint8_t LatchChan_09_16 = 0;
65 uint8_t LatchChan_17_24 = 0;
66 uint8_t LatchChan_25_32 = 0;
70 GrinchData_s dataBuffer[MAX_NUM_SUPPORTED_GRINCHES];
Definition OutputCommon.hpp:32
virtual void GetDriverName(String &sDriverName)=0
get the name for the instantiated driver
virtual uint32_t GetNumOutputBufferChannelsServiced()=0
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)=0
virtual uint32_t GetNumOutputBufferBytesNeeded()=0
virtual bool SetConfig(ArduinoJson::JsonObject &jsonConfig)
Set a new config in the driver.
Definition OutputCommon.cpp:78
virtual void GetConfig(ArduinoJson::JsonObject &jsonConfig)
Get the current config used by the driver.
Definition OutputCommon.cpp:95
virtual void SetOutputBufferSize(uint32_t NewOutputBufferSize)
Definition OutputCommon.hpp:57
e_OutputProtocolType
Definition OutputMgr.hpp:78
Definition OutputMgrPortDefs.hpp:90