ESPixelStick Firmware
Firmware for the ESPixelStick
|
#include <OutputPixel.hpp>
Classes | |
union | ColorOffsets_s |
Public Member Functions | |
c_OutputPixel (c_OutputMgr::e_OutputChannelIds OutputChannelId, gpio_num_t outputGpio, uart_port_t uart, c_OutputMgr::e_OutputType outputType) | |
virtual | ~c_OutputPixel () |
virtual bool | SetConfig (ArduinoJson::JsonObject &jsonConfig) |
Set a new config in the driver. | |
virtual void | GetConfig (ArduinoJson::JsonObject &jsonConfig) |
Get the current config used by the driver. | |
virtual void | GetStatus (ArduinoJson::JsonObject &jsonStatus) |
uint32_t | GetNumOutputBufferBytesNeeded () |
uint32_t | GetNumOutputBufferChannelsServiced () |
virtual void | SetOutputBufferSize (uint32_t NumChannelsAvailable) |
void | SetInvertData (bool _InvertData) |
virtual void | WriteChannelData (uint32_t StartChannelId, uint32_t ChannelCount, byte *pSourceData) |
virtual void | ReadChannelData (uint32_t StartChannelId, uint32_t ChannelCount, byte *pTargetData) |
void | SetIntensityBitTimeInUS (float value) |
void | SetIntensityDataWidth (uint32_t value) |
void | StartNewFrame () |
bool IRAM_ATTR | ISR_MoreDataToSend () |
bool IRAM_ATTR | ISR_GetNextIntensityToSend (uint32_t &DataToSend) |
void | SetPixelCount (uint32_t value) |
uint32_t | GetPixelCount () |
![]() | |
c_OutputCommon (c_OutputMgr::e_OutputChannelIds OutputChannelId, gpio_num_t outputGpio, uart_port_t uart, c_OutputMgr::e_OutputType outputType) | |
< Start up the driver and put it into a safe mode | |
virtual | ~c_OutputCommon () |
virtual void | Begin () |
set up the operating environment based on the current config (or defaults) | |
virtual uint32_t | Poll ()=0 |
Call from loop(), renders output data. | |
virtual void | GetDriverName (String &sDriverName)=0 |
get the name for the instantiated driver | |
OID_t | GetOutputChannelId () |
return the output channel number | |
uint8_t * | GetBufferAddress () |
Get the address of the buffer into which the E1.31 handler will stuff data. | |
uint32_t | GetBufferUsedSize () |
Get the address of the buffer into which the E1.31 handler will stuff data. | |
gpio_num_t | GetOutputGpio () |
OTYPE_t | GetOutputType () |
Have the instance report its type. | |
virtual void | BaseGetStatus (ArduinoJson::JsonObject &jsonStatus) |
void | SetOutputBufferAddress (uint8_t *pNewOutputBuffer) |
virtual void | PauseOutput (bool NewState) |
virtual bool | ValidateGpio (gpio_num_t ConsoleTxGpio, gpio_num_t ConsoleRxGpio) |
virtual bool | DriverIsSendingIntensityData () |
virtual uint32_t | GetFrameTimeMs () |
bool | IsPaused () |
Protected Member Functions | |
void | SetFramePrependInformation (const uint8_t *data, uint32_t len) |
void | SetFrameAppendInformation (const uint8_t *data, uint32_t len) |
void | SetPixelPrependInformation (const uint8_t *data, uint32_t len) |
void | SetFrameDurration (float IntensityBitTimeInUs, uint16_t BlockSize=1, float BlockDelayUs=0.0) |
![]() | |
virtual void | ReportNewFrame () |
bool | canRefresh () |
Protected Attributes | |
uint16_t | InterFrameGapInMicroSec = 300 |
![]() | |
gpio_num_t | DataPin = gpio_num_t (-1) |
uart_port_t | UartId = uart_port_t (-1) |
OTYPE_t | OutputType = OTYPE_t::OutputType_Disabled |
OID_t | OutputChannelId = OID_t::OutputChannelId_End |
bool | HasBeenInitialized = false |
uint32_t | FrameDurationInMicroSec = 25000 |
uint32_t | ActualFrameDurationMicroSec = 50000 |
uint8_t * | pOutputBuffer = nullptr |
uint32_t | OutputBufferSize = 0 |
uint32_t | FrameCount = 0 |
bool | Paused = false |
Private Types | |
typedef union c_OutputPixel::ColorOffsets_s | ColorOffsets_t |
Private Member Functions | |
uint32_t IRAM_ATTR | FramePrependData () |
uint32_t IRAM_ATTR | PixelPrependNulls () |
uint32_t IRAM_ATTR | PixelSendPrependIntensity () |
uint32_t IRAM_ATTR | PixelSendIntensity () |
uint32_t IRAM_ATTR | PixelAppendNulls () |
uint32_t IRAM_ATTR | FrameAppendData () |
uint32_t IRAM_ATTR | FrameDone () |
void IRAM_ATTR | SetStartingSendPixelState () |
void | updateGammaTable () |
Generate gamma correction table. | |
void | updateColorOrderOffsets () |
Update color order. | |
bool | validate () |
confirm that the current configuration is valid | |
uint32_t | CalculateIntensityOffset (uint32_t ChannelId) |
uint32_t IRAM_ATTR | GetIntensityData () |
Additional Inherited Members | |
![]() | |
typedef c_OutputMgr::e_OutputChannelIds | OID_t |
typedef c_OutputMgr::e_OutputType | OTYPE_t |
|
private |
c_OutputPixel::c_OutputPixel | ( | c_OutputMgr::e_OutputChannelIds | OutputChannelId, |
gpio_num_t | outputGpio, | ||
uart_port_t | uart, | ||
c_OutputMgr::e_OutputType | outputType ) |
|
virtual |
|
inlineprivate |
|
private |
|
private |
|
private |
|
virtual |
Get the current config used by the driver.
Reimplemented from c_OutputCommon.
|
private |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
virtual |
bool IRAM_ATTR c_OutputPixel::ISR_GetNextIntensityToSend | ( | uint32_t & | DataToSend | ) |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
virtual |
|
virtual |
Set a new config in the driver.
Reimplemented from c_OutputCommon.
|
protected |
|
protected |
|
protected |
|
inline |
void c_OutputPixel::SetIntensityDataWidth | ( | uint32_t | value | ) |
|
inline |
|
virtual |
|
inline |
|
protected |
|
private |
void c_OutputPixel::StartNewFrame | ( | ) |
|
private |
Update color order.
|
private |
Generate gamma correction table.
|
private |
confirm that the current configuration is valid
|
virtual |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Pixel color order.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
gamma value to use
|
private |
Gamma Adjustment table.
|
private |
|
private |
|
private |
|
private |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |