25#if defined(SUPPORT_OutputType_TLS3001) && defined (ARDUINO_ARCH_ESP32)
34 virtual ~fsm_RMT_state() {}
35 virtual void Init(c_OutputTLS3001Rmt *Parent) = 0;
36 virtual void Poll (c_OutputTLS3001Rmt * Parent) = 0;
37 uint32_t FsmTimerStartTime = 0;
42class c_OutputTLS3001Rmt :
public c_OutputTLS3001
47 gpio_num_t outputGpio,
50 virtual ~c_OutputTLS3001Rmt ();
54 bool SetConfig (ArduinoJson::JsonObject& jsonConfig);
57 void GetStatus (ArduinoJson::JsonObject& jsonStatus);
58 void SetOutputBufferSize (uint32_t NumChannelsAvailable);
59 void PauseOutput(
bool State);
65 friend class fsm_RMT_state_SendReset;
66 friend class fsm_RMT_state_SendStart;
67 friend class fsm_RMT_state_SendData;
68 friend class fsm_RMT_state;
69 fsm_RMT_state * pCurrentFsmState =
nullptr;
81class fsm_RMT_state_SendReset :
public fsm_RMT_state
84 fsm_RMT_state_SendReset() {}
85 virtual ~fsm_RMT_state_SendReset() {}
86 virtual void Init(c_OutputTLS3001Rmt *Parent);
87 virtual void Poll (c_OutputTLS3001Rmt * Parent);
92class fsm_RMT_state_SendStart :
public fsm_RMT_state
95 fsm_RMT_state_SendStart() {}
96 virtual ~fsm_RMT_state_SendStart() {}
97 virtual void Init(c_OutputTLS3001Rmt *Parent);
98 virtual void Poll (c_OutputTLS3001Rmt * Parent);
103class fsm_RMT_state_SendData :
public fsm_RMT_state
106 fsm_RMT_state_SendData() {}
107 virtual ~fsm_RMT_state_SendData() {}
108 virtual void Init(c_OutputTLS3001Rmt *Parent);
109 virtual void Poll (c_OutputTLS3001Rmt * Parent);
111 uint32_t FrameCount = 0;
e_OutputChannelIds
Definition OutputMgr.hpp:67
e_OutputType
Definition OutputMgr.hpp:126
void GetDriverName(String &Name)
Definition main.cpp:115
void SetConfig(const char *DataString)
Definition main.cpp:286