ESPixelStick Firmware
Firmware for the ESPixelStick
Loading...
Searching...
No Matches
c_OutputCommon Class Referenceabstract

#include <OutputCommon.hpp>

Inheritance diagram for c_OutputCommon:

Public Types

typedef c_OutputMgr::e_OutputChannelIds OID_t
 
typedef c_OutputMgr::e_OutputType OTYPE_t
 

Public Member Functions

 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 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 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 GetStatus (ArduinoJson::JsonObject &jsonStatus)=0
 
virtual void BaseGetStatus (ArduinoJson::JsonObject &jsonStatus)
 
void SetOutputBufferAddress (uint8_t *pNewOutputBuffer)
 
virtual void SetOutputBufferSize (uint32_t NewOutputBufferSize)
 
virtual uint32_t GetNumOutputBufferBytesNeeded ()=0
 
virtual uint32_t GetNumOutputBufferChannelsServiced ()=0
 
virtual void PauseOutput (bool NewState)
 
virtual void ClearBuffer ()
 
virtual void WriteChannelData (uint32_t StartChannelId, uint32_t ChannelCount, byte *pSourceData)
 
virtual void ReadChannelData (uint32_t StartChannelId, uint32_t ChannelCount, byte *pTargetData)
 
virtual bool ValidateGpio (gpio_num_t ConsoleTxGpio, gpio_num_t ConsoleRxGpio)
 
virtual bool DriverIsSendingIntensityData ()
 
virtual uint32_t GetFrameTimeMs ()
 
bool IsPaused ()
 

Protected Member Functions

virtual void ReportNewFrame ()
 
bool canRefresh ()
 

Protected Attributes

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 Attributes

uint32_t FrameStartTimeInMicroSec = 0
 

Member Typedef Documentation

◆ OID_t

◆ OTYPE_t

Constructor & Destructor Documentation

◆ c_OutputCommon()

c_OutputCommon::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

Here is the call graph for this function:

◆ ~c_OutputCommon()

c_OutputCommon::~c_OutputCommon ( )
virtual

Member Function Documentation

◆ BaseGetStatus()

void c_OutputCommon::BaseGetStatus ( ArduinoJson::JsonObject & jsonStatus)
virtual
Here is the caller graph for this function:

◆ Begin()

virtual void c_OutputCommon::Begin ( )
inlinevirtual

set up the operating environment based on the current config (or defaults)

Reimplemented in c_OutputDisabled.

Here is the caller graph for this function:

◆ canRefresh()

bool c_OutputCommon::canRefresh ( )
inlineprotected

◆ ClearBuffer()

void c_OutputCommon::ClearBuffer ( )
virtual
Here is the call graph for this function:

◆ DriverIsSendingIntensityData()

virtual bool c_OutputCommon::DriverIsSendingIntensityData ( )
inlinevirtual

◆ GetBufferAddress()

uint8_t * c_OutputCommon::GetBufferAddress ( )
inline

Get the address of the buffer into which the E1.31 handler will stuff data.

Here is the caller graph for this function:

◆ GetBufferUsedSize()

uint32_t c_OutputCommon::GetBufferUsedSize ( )
inline

Get the address of the buffer into which the E1.31 handler will stuff data.

◆ GetConfig()

void c_OutputCommon::GetConfig ( ArduinoJson::JsonObject & jsonConfig)
virtual

Get the current config used by the driver.

Reimplemented in c_OutputDisabled, and c_OutputPixel.

Here is the caller graph for this function:

◆ GetDriverName()

virtual void c_OutputCommon::GetDriverName ( String & sDriverName)
pure virtual

get the name for the instantiated driver

Implemented in c_OutputDisabled.

Here is the caller graph for this function:

◆ GetFrameTimeMs()

virtual uint32_t c_OutputCommon::GetFrameTimeMs ( )
inlinevirtual

◆ GetNumOutputBufferBytesNeeded()

virtual uint32_t c_OutputCommon::GetNumOutputBufferBytesNeeded ( )
pure virtual

Implemented in c_OutputDisabled, and c_OutputPixel.

◆ GetNumOutputBufferChannelsServiced()

virtual uint32_t c_OutputCommon::GetNumOutputBufferChannelsServiced ( )
pure virtual

Implemented in c_OutputDisabled, and c_OutputPixel.

◆ GetOutputChannelId()

OID_t c_OutputCommon::GetOutputChannelId ( )
inline

return the output channel number

◆ GetOutputGpio()

gpio_num_t c_OutputCommon::GetOutputGpio ( )
inline

◆ GetOutputType()

OTYPE_t c_OutputCommon::GetOutputType ( )
inline

Have the instance report its type.

Here is the caller graph for this function:

◆ GetStatus()

virtual void c_OutputCommon::GetStatus ( ArduinoJson::JsonObject & jsonStatus)
pure virtual

Implemented in c_OutputDisabled, and c_OutputPixel.

◆ IsPaused()

bool c_OutputCommon::IsPaused ( )
inline

◆ PauseOutput()

virtual void c_OutputCommon::PauseOutput ( bool NewState)
inlinevirtual

◆ Poll()

virtual uint32_t c_OutputCommon::Poll ( )
pure virtual

Call from loop(), renders output data.

Implemented in c_OutputDisabled.

◆ ReadChannelData()

void c_OutputCommon::ReadChannelData ( uint32_t StartChannelId,
uint32_t ChannelCount,
byte * pTargetData )
virtual

Reimplemented in c_OutputPixel.

◆ ReportNewFrame()

void c_OutputCommon::ReportNewFrame ( )
protectedvirtual
Here is the caller graph for this function:

◆ SetConfig()

bool c_OutputCommon::SetConfig ( ArduinoJson::JsonObject & jsonConfig)
virtual

Set a new config in the driver.

Reimplemented in c_OutputDisabled, and c_OutputPixel.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetOutputBufferAddress()

void c_OutputCommon::SetOutputBufferAddress ( uint8_t * pNewOutputBuffer)
inline

◆ SetOutputBufferSize()

virtual void c_OutputCommon::SetOutputBufferSize ( uint32_t NewOutputBufferSize)
inlinevirtual

Reimplemented in c_OutputPixel.

Here is the caller graph for this function:

◆ ValidateGpio()

bool c_OutputCommon::ValidateGpio ( gpio_num_t ConsoleTxGpio,
gpio_num_t ConsoleRxGpio )
virtual

◆ WriteChannelData()

void c_OutputCommon::WriteChannelData ( uint32_t StartChannelId,
uint32_t ChannelCount,
byte * pSourceData )
virtual

Reimplemented in c_OutputPixel.

Member Data Documentation

◆ ActualFrameDurationMicroSec

uint32_t c_OutputCommon::ActualFrameDurationMicroSec = 50000
protected

◆ DataPin

gpio_num_t c_OutputCommon::DataPin = gpio_num_t (-1)
protected

◆ FrameCount

uint32_t c_OutputCommon::FrameCount = 0
protected

◆ FrameDurationInMicroSec

uint32_t c_OutputCommon::FrameDurationInMicroSec = 25000
protected

◆ FrameStartTimeInMicroSec

uint32_t c_OutputCommon::FrameStartTimeInMicroSec = 0
private

◆ HasBeenInitialized

bool c_OutputCommon::HasBeenInitialized = false
protected

◆ OutputBufferSize

uint32_t c_OutputCommon::OutputBufferSize = 0
protected

◆ OutputChannelId

OID_t c_OutputCommon::OutputChannelId = OID_t::OutputChannelId_End
protected

◆ OutputType

OTYPE_t c_OutputCommon::OutputType = OTYPE_t::OutputType_Disabled
protected

◆ Paused

bool c_OutputCommon::Paused = false
protected

◆ pOutputBuffer

uint8_t* c_OutputCommon::pOutputBuffer = nullptr
protected

◆ UartId

uart_port_t c_OutputCommon::UartId = uart_port_t (-1)
protected

The documentation for this class was generated from the following files: