NODE_DBG("%d\t%d\t%d\t%d\t%d\t%d\t%d\n",serout.repeats,serout.index,serout.level,serout.pin,serout.tablelen,serout.delay_table[serout.index],system_get_time());// timing is delayed for short timings when debug output is enabled
//static uint32_t delay[10] = {9415, 89565, 4*SYMBOL, 4*SYMBOL, 4*SYMBOL, 4550, SYMBOL, SYMBOL, SYMBOL, 30415}; // in us
// the `delay` array of constants must be in RAM as it is accessed from the timer interrupt
staticconstRAM_CONST_SECTION_ATTRuint32_tdelay[10]={US_TO_RTC_TIMER_TICKS(9415),US_TO_RTC_TIMER_TICKS(89565),US_TO_RTC_TIMER_TICKS(4*SYMBOL),US_TO_RTC_TIMER_TICKS(4*SYMBOL),US_TO_RTC_TIMER_TICKS(4*SYMBOL),US_TO_RTC_TIMER_TICKS(4550),US_TO_RTC_TIMER_TICKS(SYMBOL),US_TO_RTC_TIMER_TICKS(SYMBOL),US_TO_RTC_TIMER_TICKS(SYMBOL),US_TO_RTC_TIMER_TICKS(30415)};// in ticks (no need to recalculate)
staticuint8_trepeatindex;
staticuint8_tsignalindex;
staticuint8_tsubindex;
staticuint8_tbitcondition;
intlua_done_ref;// callback when transmission is done