Commit Graph

54 Commits

Author SHA1 Message Date
Susis Strolch
6dba02603f Merge branch 'dev' of https://github.com/proddy/EMS-ESP-Boiler into txmode2
* 'dev' of https://github.com/proddy/EMS-ESP-Boiler:
  tidy up includes
  write to ems+ thermostats (https://github.com/proddy/EMS-ESP/issues/145)
2019-07-31 10:44:52 +02:00
Paul Derbyshire
2a2a50b8c3 tidy up includes 2019-07-29 22:40:33 +02:00
Susis Strolch
573ebcffeb txstatus: remove all references and settings 2019-07-29 21:35:22 +02:00
Susis Strolch
dab66ce918 fixing tx_mode 2
° 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
2019-07-29 19:10:19 +02:00
Paul
33bd95c078 replace NULLs with nullptr to be C++11 friendly 2019-07-27 09:45:18 +02:00
Paul
32e189ec67 https://github.com/proddy/EMS-ESP/pull/154 2019-07-20 10:23:26 +02:00
Paul
f8aabd9bf8 merged in https://github.com/proddy/EMS-ESP/pull/154 from @susisstrolch 2019-07-20 10:22:47 +02:00
Paul
3ba81d4e76 delay uart swap until after wifi connected 2019-07-19 16:12:40 +02:00
Susis Strolch
5587b9d267 reworks because of 'tx_mode 2' and protocol issues
° 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
2019-07-19 13:16:23 +02:00
Susis Strolch
7d361061c6 add marker pins (GPIO12, GPIO14) for logic analyser
° use faster macros for LA markers
2019-07-18 11:26:43 +02:00
Paul
74abec2591 https://github.com/proddy/EMS-ESP/issues/143 2019-07-01 09:15:06 +02:00
Paul
4e50d13bd1 add tx_mode back as new tx code can cause resets 2019-06-26 22:02:16 +02:00
Paul
4b28a1d9b5 add check for max telegram length 2019-06-23 23:55:16 +02:00
Paul
3766780cab version 1.8.0 final 2019-06-15 15:24:56 +02:00
Paul
40659df6be optimize Tx to handle phantom brk 2019-06-11 22:27:46 +02:00
Paul
4ee2cc0f6c improved crash detection 2019-06-09 22:12:38 +02:00
Paul
b3bdcd2228 merged Junkers FW100 & ISM1 2019-06-08 17:22:22 +02:00
Paul
4b7db73e74 cosemtic changes 2019-06-08 17:18:38 +02:00
proddy
16fc383a40 fix to tx_mode 2019-05-27 14:40:26 +02:00
Susis Strolch
fdebf6bbdf tx_mode=2: compensate phantom BRK 2019-05-27 12:47:06 +02:00
Susis Strolch
5479313e53 smart-tx - tx_mode 2 solved
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
2019-05-27 10:08:01 +02:00
proddy
4651987da8 tx_mode = tx_delay 2019-05-26 15:56:00 +02:00
proddy
1d7310411f merge Junkers Tx logic 2019-05-26 12:23:50 +02:00
proddy
6995516ce0 fixed trailing ; in Tx 2019-05-25 10:24:11 +02:00
proddy
9cdd9c403c https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495605798 2019-05-24 15:30:21 +02:00
proddy
1a638d2611 tx logic 2019-05-24 15:08:56 +02:00
proddy
c6a6dca81a empty rx fifo after Tx BRK 2019-05-24 12:28:23 +02:00
proddy
df34e296a3 tx logic "take two" 2019-05-24 11:39:38 +02:00
proddy
a555641ba3 EMS Tx del 2019-05-24 10:06:42 +02:00
proddy
dfbb804887 disabled tx code for mode 2 until we've fixed it 2019-05-24 09:23:18 +02:00
proddy
66ec810ea1 susisstrolch's Tx "take two" mod 2019-05-23 14:52:34 +02:00
proddy
57442db11c small changes 2019-05-22 18:48:27 +02:00
proddy
f9c5cb9dca merged Tx Delay https://github.com/proddy/EMS-ESP/pull/113 2019-05-21 23:50:47 +02:00
Susis Strolch
93b6b1ea4c smart tx - try to fix Tx problems
- 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)
2019-05-21 22:50:26 +02:00
proddy
788441b2df improvements to raw mode 2019-05-07 21:26:50 +02:00
proddy
8814c2a504 more ems+ optimizations 2019-04-19 17:11:36 +02:00
proddy
3322f0af4f added 'autodetect deep' for a full scan 2019-04-15 19:28:33 +02:00
proddy
dc1d797d75 added tx_delay 2019-04-14 13:17:48 +02:00
proddy
b31f3118d1 prepare for ems plujs updates 2019-04-04 21:02:20 +02:00
proddy
8b0d91a9b8 ignore null telegrams 2019-03-24 19:45:59 +01:00
proddy
578783382a length is single byte as buffer should not exceed 32 2019-03-24 15:55:20 +01:00
proddy
7eaab743bf mem optimizatons 2019-03-20 21:55:40 +01:00
proddy
c3204783bc cleanup 2019-03-18 22:32:09 +01:00
proddy
4a559866c7 1.6.0 b2 2019-03-17 14:59:37 +01:00
proddy
9cbdc2ef70 minor updates from Simon Arlott 2019-03-15 19:45:31 +01:00
proddy
8342947cee swap uart back during ota upload 2019-03-14 08:36:53 +01:00
proddy
8e62a99417 1.5.7b 2019-03-10 15:09:51 +01:00
proddy
7957f781b2 minor comment change 2018-12-01 09:48:36 +01:00
proddy
e1b06328ad added new Version type 2018-05-29 21:20:34 +02:00
proddy
91473eb7ea small updates 2018-05-27 11:51:05 +02:00