26#ifdef ARDUINO_ARCH_ESP32
27# include <driver/uart.h>
34 gpio_num_t outputGpio,
44 virtual bool SetConfig (ArduinoJson::JsonObject & jsonConfig);
45 virtual void GetConfig (ArduinoJson::JsonObject & jsonConfig);
46 virtual uint32_t
Poll () = 0;
47#ifdef ARDUINO_ARCH_ESP32
48 virtual bool RmtPoll () = 0;
56 virtual void GetStatus (ArduinoJson::JsonObject & jsonStatus) = 0;
57 virtual void BaseGetStatus (ArduinoJson::JsonObject & jsonStatus);
64 virtual void WriteChannelData (uint32_t StartChannelId, uint32_t ChannelCount,
byte *pSourceData);
65 virtual void ReadChannelData (uint32_t StartChannelId, uint32_t ChannelCount,
byte *pTargetData);
66 virtual bool ValidateGpio (gpio_num_t ConsoleTxGpio, gpio_num_t ConsoleRxGpio);
74 uart_port_t
UartId = uart_port_t (-1);
89 bool response =
false;
90 uint32_t Now = micros ();
Definition OutputCommon.hpp:31
uint32_t FrameStartTimeInMicroSec
Definition OutputCommon.hpp:107
void SetOutputBufferAddress(uint8_t *pNewOutputBuffer)
Definition OutputCommon.hpp:58
virtual ~c_OutputCommon()
Definition OutputCommon.cpp:50
OID_t GetOutputChannelId()
return the output channel number
Definition OutputCommon.hpp:51
uint32_t ActualFrameDurationMicroSec
Definition OutputCommon.hpp:79
virtual void GetDriverName(String &sDriverName)=0
get the name for the instantiated driver
virtual void Begin()
set up the operating environment based on the current config (or defaults)
Definition OutputCommon.hpp:43
uint32_t FrameCount
Definition OutputCommon.hpp:82
OID_t OutputChannelId
Definition OutputCommon.hpp:76
c_OutputMgr::e_OutputChannelIds OID_t
Definition OutputCommon.hpp:39
uint8_t * pOutputBuffer
Definition OutputCommon.hpp:80
bool Paused
Definition OutputCommon.hpp:83
virtual bool ValidateGpio(gpio_num_t ConsoleTxGpio, gpio_num_t ConsoleRxGpio)
Definition OutputCommon.cpp:150
bool canRefresh()
Definition OutputCommon.hpp:87
virtual uint32_t GetFrameTimeMs()
Definition OutputCommon.hpp:68
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
Definition OutputCommon.cpp:28
virtual uint32_t GetNumOutputBufferChannelsServiced()=0
virtual bool DriverIsSendingIntensityData()
Definition OutputCommon.hpp:67
uint32_t OutputBufferSize
Definition OutputCommon.hpp:81
uart_port_t UartId
Definition OutputCommon.hpp:74
uint32_t FrameDurationInMicroSec
Definition OutputCommon.hpp:78
virtual void PauseOutput(bool NewState)
Definition OutputCommon.hpp:62
uint8_t * GetBufferAddress()
Get the address of the buffer into which the E1.31 handler will stuff data.
Definition OutputCommon.hpp:52
virtual void WriteChannelData(uint32_t StartChannelId, uint32_t ChannelCount, byte *pSourceData)
Definition OutputCommon.cpp:124
virtual void BaseGetStatus(ArduinoJson::JsonObject &jsonStatus)
Definition OutputCommon.cpp:68
OTYPE_t OutputType
Definition OutputCommon.hpp:75
bool IsPaused()
Definition OutputCommon.hpp:69
c_OutputMgr::e_OutputType OTYPE_t
Definition OutputCommon.hpp:40
virtual void GetStatus(ArduinoJson::JsonObject &jsonStatus)=0
virtual uint32_t Poll()=0
Call from loop(), renders output data.
gpio_num_t GetOutputGpio()
Definition OutputCommon.hpp:54
gpio_num_t DataPin
Definition OutputCommon.hpp:73
virtual uint32_t GetNumOutputBufferBytesNeeded()=0
uint32_t GetBufferUsedSize()
Get the address of the buffer into which the E1.31 handler will stuff data.
Definition OutputCommon.hpp:53
virtual bool SetConfig(ArduinoJson::JsonObject &jsonConfig)
Set a new config in the driver.
Definition OutputCommon.cpp:94
OTYPE_t GetOutputType()
Have the instance report its type.
Definition OutputCommon.hpp:55
virtual void ReadChannelData(uint32_t StartChannelId, uint32_t ChannelCount, byte *pTargetData)
Definition OutputCommon.cpp:137
virtual void ClearBuffer()
Definition OutputCommon.cpp:58
virtual void ReportNewFrame()
Definition OutputCommon.cpp:80
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
bool HasBeenInitialized
Definition OutputCommon.hpp:77
e_OutputChannelIds
Definition OutputMgr.hpp:67
e_OutputType
Definition OutputMgr.hpp:126