25#ifdef SUPPORT_OutputType_GRINCH
32 gpio_num_t outputGpio,
35 virtual ~c_OutputGrinch ();
38 virtual bool SetConfig (ArduinoJson::JsonObject & jsonConfig);
39 virtual void GetConfig (ArduinoJson::JsonObject & jsonConfig);
40 void GetDriverName (String & sDriverName) { sDriverName = F(
"Grinch"); }
41 virtual void GetStatus (ArduinoJson::JsonObject & jsonStatus);
47 inline bool IRAM_ATTR ISR_MoreDataToSend () {
return SpiOutputDataByteIndex > 0;}
48 bool IRAM_ATTR ISR_GetNextIntensityToSend (uint32_t &DataToSend);
52#define MAX_NUM_SUPPORTED_GRINCHES 4
53#define DATA_CHANNELS_PER_GRINCH 64
56 uint8_t NumberOfGrinchControllers = 1;
57 uint8_t NumberOfGrinchChannels = NumberOfGrinchControllers * DATA_CHANNELS_PER_GRINCH;
58 uint8_t NumberOfGrinchDataBytes = NumberOfGrinchChannels / 8;
59 uint8_t SpiOutputDataByteIndex = 0;
63 struct GrinchLatchData
65 uint8_t LatchChan_01_08 = 0;
66 uint8_t LatchChan_09_16 = 0;
67 uint8_t LatchChan_17_24 = 0;
68 uint8_t LatchChan_25_32 = 0;
72 GrinchData_s dataBuffer[MAX_NUM_SUPPORTED_GRINCHES];
Definition OutputCommon.hpp:31
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:94
virtual void GetConfig(ArduinoJson::JsonObject &jsonConfig)
Get the current config used by the driver.
Definition OutputCommon.cpp:111
virtual void SetOutputBufferSize(uint32_t NewOutputBufferSize)
Definition OutputCommon.hpp:59
e_OutputChannelIds
Definition OutputMgr.hpp:67
e_OutputType
Definition OutputMgr.hpp:126