34# define NUM_UARTS UART_LAST
42 #ifdef ARDUINO_ARCH_ESP8266
43 #define OM_MAX_NUM_CHANNELS (1200 * 3)
45 #define OM_MAX_NUM_CHANNELS (3000 * 3)
56 void GetConfig (
byte * Response, uint32_t maxlen);
59 void SetConfig (ArduinoJson::JsonDocument & NewConfig);
67 void WriteChannelData (uint32_t StartChannelId, uint32_t ChannelCount, uint8_t * pData);
68 void ReadChannelData (uint32_t StartChannelId, uint32_t ChannelCount, uint8_t *pTargetData);
71 void RelayUpdate (uint8_t RelayId, String & NewValue, String & Response);
80 #ifdef SUPPORT_OutputProtocol_WS2811
81 OutputProtocol_WS2811 = 1,
84 #ifdef SUPPORT_OutputProtocol_GECE
85 OutputProtocol_GECE = 2,
88 #ifdef SUPPORT_OutputProtocol_DMX
89 OutputProtocol_DMX = 3,
92 #ifdef SUPPORT_OutputProtocol_Renard
93 OutputProtocol_Renard = 4,
96 #ifdef SUPPORT_OutputProtocol_Serial
97 OutputProtocol_Serial = 5,
100 #ifdef SUPPORT_OutputProtocol_Relay
101 OutputProtocol_Relay = 6,
104 #ifdef SUPPORT_OutputProtocol_Servo_PCA9685
105 OutputProtocol_Servo_PCA9685 = 7,
108 #ifdef SUPPORT_OutputProtocol_UCS1903
109 OutputProtocol_UCS1903 = 8,
112 #ifdef SUPPORT_OutputProtocol_TM1814
113 OutputProtocol_TM1814 = 9,
116 #ifdef SUPPORT_OutputProtocol_WS2801
117 OutputProtocol_WS2801 = 10,
120 #ifdef SUPPORT_OutputProtocol_APA102
121 OutputProtocol_APA102 = 11,
124 #ifdef SUPPORT_OutputProtocol_GS8208
125 OutputProtocol_GS8208 = 12,
128 #ifdef SUPPORT_OutputProtocol_UCS8903
129 OutputProtocol_UCS8903 = 13,
132 #ifdef SUPPORT_OutputProtocol_TLS3001
133 OutputProtocol_TLS3001 = 14,
136 #ifdef SUPPORT_OutputProtocol_GRINCH
137 OutputProtocol_GRINCH = 15,
140 #ifdef SUPPORT_OutputProtocol_FireGod
141 OutputProtocol_FireGod = 16,
157 #define NO_CONFIG_NEEDED time_t(-1)
178 #ifndef DEFAULT_CONSOLE_TX_GPIO
179 #define DEFAULT_CONSOLE_TX_GPIO gpio_num_t::GPIO_NUM_1
180 #define DEFAULT_CONSOLE_RX_GPIO gpio_num_t::GPIO_NUM_3
186#if defined(ARDUINO_ARCH_ESP32)
187 TaskHandle_t myTaskHandle = NULL;
c_FileMgr FileMgr
Definition FileMgr.cpp:2531
#define OM_MAX_NUM_CHANNELS
Definition OutputMgr.hpp:45
#define DEFAULT_CONSOLE_RX_GPIO
Definition OutputMgr.hpp:180
#define NO_CONFIG_NEEDED
Definition OutputMgr.hpp:157
#define DEFAULT_CONSOLE_TX_GPIO
Definition OutputMgr.hpp:179
c_OutputMgr OutputMgr
Definition OutputMgr.cpp:1831
uint8_t OM_PortId_t
Definition OutputMgrPortDefs.hpp:71
void DeleteFlashFile(String FileName)
Definition FileMgr.cpp:646
Definition OutputCommon.hpp:32
Definition OutputMgr.hpp:40
uint32_t NumberOfOutputProtocols
Definition OutputMgr.hpp:149
uint8_t * pOutputBuffer
Definition OutputMgr.hpp:175
void GetDriverName(String &Name)
Definition OutputMgr.hpp:66
void LoadConfig()
Read the current configuration data from nvram.
Definition OutputMgr.cpp:1210
void CreateJsonConfig(JsonObject &jsonConfig)
Definition OutputMgr.cpp:395
gpio_num_t ConsoleRxGpio
Definition OutputMgr.hpp:184
void UpdateDisplayBufferReferences(void)
Definition OutputMgr.cpp:1574
bool ProcessJsonConfig(JsonDocument &jsonConfig)
Definition OutputMgr.cpp:1340
c_OutputMgr()
< Start up the driver and put it into a safe mode
Definition OutputMgr.cpp:247
void ClearStatistics(void)
Definition OutputMgr.cpp:622
e_OutputProtocolType
Definition OutputMgr.hpp:77
@ OutputProtocol_Disabled
Definition OutputMgr.hpp:78
@ OutputProtocol_Last
Definition OutputMgr.hpp:147
void GetConfig(byte *Response, uint32_t maxlen)
Definition OutputMgr.cpp:589
virtual ~c_OutputMgr()
< deallocate any resources and put the output channels into a safe state
Definition OutputMgr.cpp:302
uint32_t UsedBufferSize
Definition OutputMgr.hpp:176
void GetStatus(JsonObject &jsonStatus)
Definition OutputMgr.cpp:600
uint8_t NumOutputPorts
Definition OutputMgr.hpp:154
void SetConfig(const char *NewConfig)
Save the current configuration data to nvram.
Definition OutputMgr.cpp:1445
void InstantiateNewOutputChannel(uint32_t PortIndex, e_OutputProtocolType NewChannelType, bool StartDriver=true)
Definition OutputMgr.cpp:654
void DeleteConfig()
Definition OutputMgr.hpp:64
void ClearBuffer()
Definition OutputMgr.cpp:1820
bool BuildingNewConfig
Definition OutputMgr.hpp:162
time_t ConfigLoadNeeded
Definition OutputMgr.hpp:159
bool SetPortDefnitionDefaults(uint32_t PortIndex, e_OutputProtocolType TargetProtocolType)
Definition OutputMgr.cpp:1117
uint8_t GetNumPorts()
Definition OutputMgr.hpp:73
bool ConfigInProgress
Definition OutputMgr.hpp:160
void Begin()
set up the operating environment based on the current config (or defaults)
Definition OutputMgr.cpp:320
void SetSerialUart()
Definition OutputMgr.cpp:1494
uint32_t GetBufferUsedSize()
Get the size (in intensities) of the buffer into which the E1.31 handler will stuff data.
Definition OutputMgr.hpp:62
void PauseOutputs(bool NewState)
Definition OutputMgr.cpp:1677
uint32_t GetBufferSize()
Get the size (in intensities) of the buffer into which the E1.31 handler will stuff data.
Definition OutputMgr.hpp:63
void WriteChannelData(uint32_t StartChannelId, uint32_t ChannelCount, uint8_t *pData)
Definition OutputMgr.cpp:1694
gpio_num_t ConsoleTxGpio
Definition OutputMgr.hpp:183
void ScheduleLoadConfig()
Definition OutputMgr.hpp:54
void CreateNewConfig()
Definition OutputMgr.cpp:476
bool FindJsonChannelConfig(JsonDocument &jsonConfig, OM_PortId_t PortId, JsonObject &ChanConfig)
Definition OutputMgr.cpp:1249
void ReadChannelData(uint32_t StartChannelId, uint32_t ChannelCount, uint8_t *pTargetData)
Definition OutputMgr.cpp:1759
String ConfigFileName
Definition OutputMgr.hpp:173
uint8_t * GetBufferAddress()
Get the address of the buffer into which the E1.31 handler will stuff data.
Definition OutputMgr.hpp:61
void RelayUpdate(uint8_t RelayId, String &NewValue, String &Response)
Definition OutputMgr.cpp:1646
void Poll()
Call from loop(), renders output data.
Definition OutputMgr.cpp:1540
bool HasBeenInitialized
Definition OutputMgr.hpp:158
bool OutputIsPaused
Definition OutputMgr.hpp:161