25#if defined(SUPPORT_OutputProtocol_GECE) && defined(ARDUINO_ARCH_ESP32)
30class c_OutputGECERmt :
public c_OutputGECE
36 virtual ~c_OutputGECERmt ();
40 bool SetConfig (ArduinoJson::JsonObject& jsonConfig);
42#if defined(ARDUINO_ARCH_ESP32)
45 void GetStatus (ArduinoJson::JsonObject& jsonStatus);
46 void SetOutputBufferSize (uint32_t NumChannelsAvailable);
47 void PauseOutput (
bool State);
48 void StartNewDataFrame();
49 bool ISR_GetNextBitToSend (rmt_item32_t & DataToSend);
53#define GECE_PIXEL_RMT_TICKS_BIT_0_HIGH uint16_t ( (GECE_PIXEL_NS_BIT_0_HIGH / RMT_TickLengthNS) + 0.0)
54#define GECE_PIXEL_RMT_TICKS_BIT_0_LOW uint16_t ( (GECE_PIXEL_NS_BIT_0_LOW / RMT_TickLengthNS) + 0.0)
55#define GECE_PIXEL_RMT_TICKS_BIT_1_HIGH uint16_t ( (GECE_PIXEL_NS_BIT_1_HIGH / RMT_TickLengthNS) - 1.0)
56#define GECE_PIXEL_RMT_TICKS_BIT_1_LOW uint16_t ( (GECE_PIXEL_NS_BIT_1_LOW / RMT_TickLengthNS) + 1.0)
57#define GECE_PIXEL_RMT_TICKS_STOP uint16_t ( (GECE_PIXEL_STOP_TIME_NS / RMT_TickLengthNS) + 1.0)
58#define GECE_PIXEL_RMT_TICKS_START uint16_t ( (GECE_PIXEL_START_TIME_NS / RMT_TickLengthNS) + 1.0)
60 rmt_item32_t ZeroBit {GECE_PIXEL_RMT_TICKS_BIT_0_LOW, 0, GECE_PIXEL_RMT_TICKS_BIT_0_HIGH, 1};
61 rmt_item32_t OneBit {GECE_PIXEL_RMT_TICKS_BIT_1_LOW, 0, GECE_PIXEL_RMT_TICKS_BIT_1_HIGH, 1};
62 rmt_item32_t IfgBit {GECE_PIXEL_RMT_TICKS_START / 2, 0, GECE_PIXEL_RMT_TICKS_START / 2, 0};
63 rmt_item32_t StartBit {GECE_PIXEL_RMT_TICKS_START / 2, 1, GECE_PIXEL_RMT_TICKS_START / 2, 1};
64 uint32_t StartBitCount = 0;
65 rmt_item32_t StopBit {GECE_PIXEL_RMT_TICKS_STOP / 2, 0, GECE_PIXEL_RMT_TICKS_STOP / 2, 0};
66 uint32_t StopBitCount = 0;
67 uint32_t DataPattern = 0;
68 uint32_t CurrentDataMask = 0;
71 #ifdef GECE_RMT_DEBUG_COUNTERS
72 #define INC_GECE_RMT_DEBUG_COUNTERS(c) (++RmtDebugCounters.c)
75 uint32_t GetNextBit = 0;
76 uint32_t FrameStarts = 0;
77 uint32_t FrameEnds = 0;
78 uint32_t BreakBits = 0;
80 uint32_t StartBits = 0;
81 uint32_t DataBits = 0;
82 uint32_t StopBits = 0;
83 uint32_t Underrun = 0;
86 #define INC_GECE_RMT_DEBUG_COUNTERS(c)
e_OutputProtocolType
Definition OutputMgr.hpp:78
void SetConfig(const char *DataString)
Definition main.cpp:329
Definition OutputMgrPortDefs.hpp:90