° added markers (GIO12, GPIO14) for logic analyzer debugging
° change UART initialisation
- set RxFIFO full to 1 char, so we can detect active telegram on EMS-Bus
- set RxTOT to 1 char for the same reason
° in ems_parseTelegram: ignore telegram if emsRxStatus != EMS_RX_STATUS_IDLE
because we missed to respond in a timely manner
° ems_tx_buffer is not void anymore, instead we return the Tx status
° extended the emsTxStatus
- EMS_TX_WTD_TIMEOUT: timeout while waiting for echo of last Tx byte
out telegram was ignored by the bus master, so the byte wasn't echoed
- EMS_TX_BRK_DETECT: BRK detected while sending the telegram
bus master send us a break because of protocol violation
° add burnStarts, burnWorkMin and heatWorkMin to MQTT boiler message
TODO:
+ take care of ems_tx_buffer return code
+ accept direct telegram in ems_parse_telegram and do a proper acknowledge
+ split the heartbeat in static (version, IP-address) and dynamic (RSS etc)
+ change the hearbeat to a JSON structure so we can easier pick the uptime
after sending the byte we wait until we receive the busmaster response.
sending the BRK is done in loopback mode.
Only caveat: we will get a phantom \0 in Rx FIFO
- fix typo - replace emsaurt_tx_poll by emsuart_tx_poll
- smart tx - enabled by EMS_Sys_Status.emsTxDelay == 2
use loopback to send in burst mode
- change emsuart_tx_poll to use emsuart_tx_buffer
- encapsulate uart_swap in #ifndef NO_UART_SWAP (private use)