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_OutputProtocol_GECE
109 uint32_t IRAM_ATTR PixelSendGECEIntensity();
156 virtual bool SetConfig (ArduinoJson::JsonObject & jsonConfig);
157 virtual void GetConfig (ArduinoJson::JsonObject & jsonConfig);
158 virtual void GetStatus (ArduinoJson::JsonObject& jsonStatus);
163 virtual void WriteChannelData (uint32_t StartChannelId, uint32_t ChannelCount,
byte *pSourceData);
164 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:32
OM_OutputPortDefinition_t OutputPortDefinition
Definition OutputCommon.hpp:71
e_OutputProtocolType
Definition OutputMgr.hpp:78
Definition OutputPixel.hpp:28
void SetPixelPrependInformation(const uint8_t *data, uint32_t len)
Definition OutputPixel.cpp:165
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:170
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:112
uint8_t * NextPixelToSend
Definition OutputPixel.hpp:44
uint8_t gamma_table[256]
Gamma Adjustment table.
Definition OutputPixel.hpp:132
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:783
uint32_t zig_size
Definition OutputPixel.hpp:69
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)
Definition OutputPixel.cpp:76
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:327
char color_order[10]
Definition OutputPixel.hpp:140
uint32_t PrependNullPixelCount
Definition OutputPixel.hpp:71
c_OutputPixel(OM_OutputPortDefinition_t &OutputPortDefinition, c_OutputMgr::e_OutputProtocolType outputType)
Definition OutputPixel.cpp:25
uint32_t IRAM_ATTR FrameAppendData()
Definition OutputPixel.cpp:635
uint32_t GetNumOutputBufferChannelsServiced()
Definition OutputPixel.hpp:160
uint32_t IRAM_ATTR PixelAppendNulls()
Definition OutputPixel.cpp:592
uint32_t IntensityMultiplier
Definition OutputPixel.hpp:78
union c_OutputPixel::ColorOffsets_s ColorOffsets_t
void StartNewFrame()
Definition OutputPixel.cpp:393
bool validate()
confirm that the current configuration is valid
Definition OutputPixel.cpp:290
uint32_t IRAM_ATTR FrameDone()
Definition OutputPixel.cpp:652
void SetIntensityBitTimeInUS(float value)
Definition OutputPixel.hpp:165
uint32_t SentPixelsCount
Definition OutputPixel.hpp:46
virtual void ReadChannelData(uint32_t StartChannelId, uint32_t ChannelCount, byte *pTargetData)
Definition OutputPixel.cpp:840
uint32_t GECEPixelId
Definition OutputPixel.hpp:136
uint32_t IRAM_ATTR FramePrependData()
Definition OutputPixel.cpp:450
uint32_t FrameAppendDataCurrentIndex
Definition OutputPixel.hpp:56
uint32_t(c_OutputPixel::* FrameStateFuncPtr)()
Definition OutputPixel.hpp:117
uint32_t GetNumOutputBufferBytesNeeded()
Definition OutputPixel.hpp:159
uint32_t PixelIntensityCurrentColor
Definition OutputPixel.hpp:48
void SetInvertData(bool _InvertData)
Definition OutputPixel.hpp:162
uint32_t CalculateIntensityOffset(uint32_t ChannelId)
Definition OutputPixel.cpp:727
void IRAM_ATTR SetStartingSendPixelState()
Definition OutputPixel.cpp:368
void SetIntensityDataWidth(uint32_t value)
Definition OutputPixel.cpp:442
uint32_t IRAM_ATTR PixelSendPrependIntensity()
Definition OutputPixel.cpp:518
void updateColorOrderOffsets()
Update color order.
Definition OutputPixel.cpp:245
uint32_t IRAM_ATTR PixelPrependNulls()
Definition OutputPixel.cpp:477
bool IRAM_ATTR ISR_MoreDataToSend()
Definition OutputPixel.hpp:168
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:177
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:141
uint32_t GetPixelCount()
Definition OutputPixel.hpp:171
void SetFrameAppendInformation(const uint8_t *data, uint32_t len)
Definition OutputPixel.cpp:153
uint32_t FramePrependDataSize
Definition OutputPixel.hpp:51
float IntensityBitTimeInUs
Definition OutputPixel.hpp:65
void updateGammaTable()
Generate gamma correction table.
Definition OutputPixel.cpp:227
bool IRAM_ATTR ISR_GetNextIntensityToSend(uint32_t &DataToSend)
Definition OutputPixel.cpp:661
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:684
uint32_t IRAM_ATTR PixelSendIntensity()
Definition OutputPixel.cpp:581
Definition OutputMgrPortDefs.hpp:90
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