40#define PIXEL_DEFAULT_INTENSITY_BYTES_PER_PIXEL 3
81#ifdef USE_PIXEL_DEBUG_COUNTERS
82 uint32_t PixelsToSend = 0;
83 uint32_t IntensityBytesSent = 0;
84 uint32_t IntensityBytesSentLastFrame = 0;
85 uint32_t FrameStartCounter = 0;
86 uint32_t FrameEndCounter = 0;
87 uint32_t SentPixels = 0;
88 uint32_t AbortFrameCounter = 0;
89 uint32_t FramePrependDataCounter = 0;
90 uint32_t FrameSendPixelsCounter = 0;
91 uint32_t FrameAppendDataCounter = 0;
92 uint32_t FrameDoneCounter = 0;
93 uint32_t FrameStateUnknownCounter = 0;
94 uint32_t PixelPrependNullsCounter = 0;
95 uint32_t PixelSendIntensityCounter = 0;
96 uint32_t PixelAppendNullsCounter = 0;
97 uint32_t PixelUnkownState = 0;
98 uint32_t GetNextIntensityToSendCounter = 0;
99 uint32_t GetNextIntensityToSendFailedCounter = 0;
100 uint32_t LastGECEdataSent = uint32_t(-1);
101 uint32_t NumGECEdataSent = 0;
108#ifdef SUPPORT_OutputType_GECE
109 uint32_t IRAM_ATTR PixelSendGECEIntensity();
152 gpio_num_t outputGpio,
158 virtual bool SetConfig (ArduinoJson::JsonObject & jsonConfig);
159 virtual void GetConfig (ArduinoJson::JsonObject & jsonConfig);
160 virtual void GetStatus (ArduinoJson::JsonObject& jsonStatus);
165 virtual void WriteChannelData (uint32_t StartChannelId, uint32_t ChannelCount,
byte *pSourceData);
166 virtual void ReadChannelData (uint32_t StartChannelId, uint32_t ChannelCount,
byte *pTargetData);
#define PIXEL_DEFAULT_INTENSITY_BYTES_PER_PIXEL
Definition OutputPixel.hpp:40
Definition OutputCommon.hpp:31
OID_t OutputChannelId
Definition OutputCommon.hpp:76
e_OutputChannelIds
Definition OutputMgr.hpp:67
e_OutputType
Definition OutputMgr.hpp:126
Definition OutputPixel.hpp:28
void SetPixelPrependInformation(const uint8_t *data, uint32_t len)
Definition OutputPixel.cpp:159
uint32_t PixelIntensityCurrentIndex
Definition OutputPixel.hpp:47
uint32_t PixelGroupSize
Definition OutputPixel.hpp:62
uint32_t AdjustedBrightness
Definition OutputPixel.hpp:135
void SetPixelCount(uint32_t value)
Definition OutputPixel.hpp:172
virtual ~c_OutputPixel()
Definition OutputPixel.cpp:42
uint32_t FrameAppendDataSize
Definition OutputPixel.hpp:55
ColorOffsets_t ColorOffsets
Definition OutputPixel.hpp:130
virtual void SetOutputBufferSize(uint32_t NumChannelsAvailable)
Definition OutputPixel.cpp:106
uint8_t * NextPixelToSend
Definition OutputPixel.hpp:44
uint8_t gamma_table[256]
Gamma Adjustment table.
Definition OutputPixel.hpp:132
c_OutputPixel(c_OutputMgr::e_OutputChannelIds OutputChannelId, gpio_num_t outputGpio, uart_port_t uart, c_OutputMgr::e_OutputType outputType)
Definition OutputPixel.cpp:25
uint32_t PixelPrependDataCurrentIndex
Definition OutputPixel.hpp:60
uint8_t * PixelPrependData
Definition OutputPixel.hpp:58
virtual void WriteChannelData(uint32_t StartChannelId, uint32_t ChannelCount, byte *pSourceData)
Definition OutputPixel.cpp:765
uint32_t zig_size
Definition OutputPixel.hpp:69
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)
Definition OutputPixel.cpp:70
float BlockDelayUs
Definition OutputPixel.hpp:67
uint32_t PixelGroups
Definition OutputPixel.hpp:63
uint32_t FramePrependDataCurrentIndex
Definition OutputPixel.hpp:52
void SetFrameDurration(float IntensityBitTimeInUs, uint16_t BlockSize=1, float BlockDelayUs=0.0)
Definition OutputPixel.cpp:309
uint32_t PrependNullPixelCount
Definition OutputPixel.hpp:71
uint32_t IRAM_ATTR FrameAppendData()
Definition OutputPixel.cpp:617
uint32_t GetNumOutputBufferChannelsServiced()
Definition OutputPixel.hpp:162
uint32_t IRAM_ATTR PixelAppendNulls()
Definition OutputPixel.cpp:574
uint32_t IntensityMultiplier
Definition OutputPixel.hpp:78
union c_OutputPixel::ColorOffsets_s ColorOffsets_t
void StartNewFrame()
Definition OutputPixel.cpp:375
bool validate()
confirm that the current configuration is valid
Definition OutputPixel.cpp:272
uint32_t IRAM_ATTR FrameDone()
Definition OutputPixel.cpp:634
void SetIntensityBitTimeInUS(float value)
Definition OutputPixel.hpp:167
uint32_t SentPixelsCount
Definition OutputPixel.hpp:46
virtual void ReadChannelData(uint32_t StartChannelId, uint32_t ChannelCount, byte *pTargetData)
Definition OutputPixel.cpp:795
uint32_t GECEPixelId
Definition OutputPixel.hpp:136
uint32_t IRAM_ATTR FramePrependData()
Definition OutputPixel.cpp:432
uint32_t FrameAppendDataCurrentIndex
Definition OutputPixel.hpp:56
uint32_t(c_OutputPixel::* FrameStateFuncPtr)()
Definition OutputPixel.hpp:117
uint32_t GetNumOutputBufferBytesNeeded()
Definition OutputPixel.hpp:161
uint32_t PixelIntensityCurrentColor
Definition OutputPixel.hpp:48
void SetInvertData(bool _InvertData)
Definition OutputPixel.hpp:164
uint32_t CalculateIntensityOffset(uint32_t ChannelId)
Definition OutputPixel.cpp:709
void IRAM_ATTR SetStartingSendPixelState()
Definition OutputPixel.cpp:350
void SetIntensityDataWidth(uint32_t value)
Definition OutputPixel.cpp:424
uint32_t IRAM_ATTR PixelSendPrependIntensity()
Definition OutputPixel.cpp:500
void updateColorOrderOffsets()
Update color order.
Definition OutputPixel.cpp:236
uint32_t IRAM_ATTR PixelPrependNulls()
Definition OutputPixel.cpp:459
bool IRAM_ATTR ISR_MoreDataToSend()
Definition OutputPixel.hpp:170
uint32_t AppendNullPixelCount
Definition OutputPixel.hpp:74
uint32_t PixelPrependDataSize
Definition OutputPixel.hpp:59
uint32_t GECEBrightness
Definition OutputPixel.hpp:137
uint16_t InterFrameGapInMicroSec
Definition OutputPixel.hpp:35
uint32_t pixel_count
Definition OutputPixel.hpp:45
uint8_t brightness
Definition OutputPixel.hpp:134
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
uint8_t * pFrameAppendData
Definition OutputPixel.hpp:54
uint8_t * pFramePrependData
Definition OutputPixel.hpp:50
float gamma
gamma value to use
Definition OutputPixel.hpp:133
bool InvertData
Definition OutputPixel.hpp:77
void SetFramePrependInformation(const uint8_t *data, uint32_t len)
Definition OutputPixel.cpp:135
uint32_t GetPixelCount()
Definition OutputPixel.hpp:173
void SetFrameAppendInformation(const uint8_t *data, uint32_t len)
Definition OutputPixel.cpp:147
uint32_t FramePrependDataSize
Definition OutputPixel.hpp:51
float IntensityBitTimeInUs
Definition OutputPixel.hpp:65
void updateGammaTable()
Generate gamma correction table.
Definition OutputPixel.cpp:218
bool IRAM_ATTR ISR_GetNextIntensityToSend(uint32_t &DataToSend)
Definition OutputPixel.cpp:643
uint32_t PrependNullPixelCurrentCount
Definition OutputPixel.hpp:72
uint32_t AppendNullPixelCurrentCount
Definition OutputPixel.hpp:75
uint32_t BlockSize
Definition OutputPixel.hpp:66
uint32_t NumIntensityBytesPerPixel
Definition OutputPixel.hpp:42
uint32_t IRAM_ATTR GetIntensityData()
Definition OutputPixel.cpp:666
uint32_t IRAM_ATTR PixelSendIntensity()
Definition OutputPixel.cpp:563
String color_order
Pixel color order.
Definition OutputPixel.hpp:140
Definition OutputPixel.hpp:122
uint8_t b
Definition OutputPixel.hpp:125
uint8_t g
Definition OutputPixel.hpp:124
uint8_t w
Definition OutputPixel.hpp:126
uint8_t r
Definition OutputPixel.hpp:123
Definition OutputPixel.hpp:120
struct c_OutputPixel::ColorOffsets_s::offsets offset
uint8_t Array[4]
Definition OutputPixel.hpp:128