° unconditionaly show the last reset reason on telnet connect
° trying to enable stack trace also for Software watchdog events
° add wtdfeed() to MyESP loop
° stabilize emsuart_rx...
We can get more than 32 bytes because of the trailing BRK.
So the buffersize for Rx interrupt is (for safety) increased to 36 bytes.
If length exceeds 36 bytes we dump them to /dev/null
° reintroduced the phantomBreak flag again
We _must_ signal to Rx that we have a double break, otherwise
we get problems in emsuart_recvTask...
° add ems_dumpBuffer which shows TxBuffer before send and RxBuffer after
receive and applying phantomBreak.
The dump is activated in "log j" mode and used to debug the
protocol problems.
° change handling of ID bit 7
on system start we listen for telegram until we receive a valid one,
larger than 5 byte.
Depending on the bit7 of the source address we decide if we have a
Buderus EMS or a Junkers EMS bus.
This decision is used to set the variables emsIDMask (0x00 for Buderus,
0x80 for Junkers) and the emsPollAck buffer, used to send the propper
acknowledge, depending on EMS type.
° move poll acknowledge function (emsuart_tx_poll) from emsuart.cpp to ems.cpp
and rename to ems_pollAck
° add EMS_TX_REV_DETECT status for detecting the SourceID.7 bit and setting
emsIDMask and emsPollAck buffer accordingly
° set initial emsTxStatus to EMS_TX_REV_DETECT
° add 'log j' - jabber - for more extensive debug logs
° 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