From 5dd5462185abfb5e8f6a69df6ad62f4a41806f67 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 May 2019 12:35:10 +0200 Subject: [PATCH 01/66] 1.8.0 --- CHANGELOG.md | 6 ++++++ src/version.h | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ce93a42e9..d1d64bacf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.8.0dev] 2019- + +### Added + +### Changed + ## [1.7.0] 2019-05-11 ### Added diff --git a/src/version.h b/src/version.h index 06b75cc3a..ebd036990 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.7.0b16" +#define APP_VERSION "1.8.0b0" #define APP_HOSTNAME "ems-esp" From 665bfef456dab17df794df5640d4a20c750b9a8f Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 May 2019 15:04:10 +0200 Subject: [PATCH 02/66] fix RX/TX pins --- doc/schematics/Schematic_EMS-ESP-supercap.png | Bin 80681 -> 77294 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/schematics/Schematic_EMS-ESP-supercap.png b/doc/schematics/Schematic_EMS-ESP-supercap.png index 40dac0ac4a6e7f7a8e34250145ddd1644c4809d1..561a5f46252f72e22979872dd4b294d1568d7e7a 100644 GIT binary patch literal 77294 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 From 14353d8e3cfd9c17b30eeebcfa4a834be4fe57d8 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 11 May 2019 16:21:53 +0200 Subject: [PATCH 03/66] hardcode ESP32 OTA PORT --- lib/MyESP/MyESP.cpp | 5 +++-- lib/MyESP/MyESP.h | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index a36f7945c..2997543aa 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -388,7 +388,7 @@ void MyESP::_ota_setup() { return; } - //ArduinoOTA.setPort(OTA_PORT); + ArduinoOTA.setPort(OTA_PORT); ArduinoOTA.setHostname(_app_hostname); ArduinoOTA.onStart([this]() { _OTACallback(); }); @@ -946,7 +946,6 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [MEM] Max OTA size: %d"), (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); myDebug_P(PSTR(" [MEM] OTA Reserved: %d"), 4 * SPI_FLASH_SEC_SIZE); myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); - myDebug_P(PSTR("")); } @@ -1554,10 +1553,12 @@ void MyESP::loop() { jw.loop(); // WiFi + /* // do nothing else until we've got a wifi connection if (WiFi.getMode() & WIFI_AP) { return; } + */ ArduinoOTA.handle(); // OTA _mqttConnect(); // MQTT diff --git a/lib/MyESP/MyESP.h b/lib/MyESP/MyESP.h index 011f1b86f..eed927d77 100644 --- a/lib/MyESP/MyESP.h +++ b/lib/MyESP/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyEMS_h #define MyEMS_h -#define MYESP_VERSION "1.1.9" +#define MYESP_VERSION "1.1.10" #include #include @@ -30,10 +30,10 @@ void custom_crash_callback(struct rst_info *, uint32_t, uint32_t); //#include #include // added for ESP32 #define ets_vsnprintf vsnprintf // added for ESP32 -#define OTA_PORT 8266 +#define OTA_PORT 3232 #else #include -#define OTA_PORT 3232 +#define OTA_PORT 8266 #endif #define MYEMS_CONFIG_FILE "/config.json" From f35fdfab7c6234fea5775d1e626aa16bbafccc12 Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 17 May 2019 13:42:51 +0200 Subject: [PATCH 04/66] fixes for 2.5.1 arduino core --- CHANGELOG.md | 6 ++++++ lib/MyESP/MyESP.cpp | 8 ++++---- lib/MyESP/MyESP.h | 2 +- src/ems-esp.cpp | 2 +- src/ems_devices.h | 1 + src/version.h | 2 +- 6 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d1d64bacf..5c6b15a45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- MM50 Mixer + +### Fixed + +- runtime exceptions with latest 2.5.1 arduino core + ### Changed ## [1.7.0] 2019-05-11 diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 2997543aa..ac1b4adcb 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -906,14 +906,14 @@ void MyESP::showSystemStats() { char buffer[16] = {0}; /* Crash info */ myDebug_P(PSTR(" [EEPROM] EEPROM size: %u"), EEPROMr.reserved() * SPI_FLASH_SEC_SIZE); - strlcpy(output_str, PSTR(" [EEPROM] EEPROM Sector pool size is "), sizeof(output_str)); + strlcpy(output_str, " [EEPROM] EEPROM Sector pool size is ", sizeof(output_str)); strlcat(output_str, itoa(EEPROMr.size(), buffer, 10), sizeof(output_str)); - strlcat(output_str, PSTR(", and in use are: "), sizeof(output_str)); + strlcat(output_str, ", and in use are: ", sizeof(output_str)); for (uint32_t i = 0; i < EEPROMr.size(); i++) { strlcat(output_str, itoa(EEPROMr.base() - i, buffer, 10), sizeof(output_str)); - strlcat(output_str, PSTR(" "), sizeof(output_str)); + strlcat(output_str, " ", sizeof(output_str)); } - myDebug_P(output_str); + myDebug(output_str); #endif #ifdef ARDUINO_BOARD diff --git a/lib/MyESP/MyESP.h b/lib/MyESP/MyESP.h index eed927d77..513cc01e6 100644 --- a/lib/MyESP/MyESP.h +++ b/lib/MyESP/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyEMS_h #define MyEMS_h -#define MYESP_VERSION "1.1.10" +#define MYESP_VERSION "1.1.11" #include #include diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index b9caf386c..c059bcf20 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -93,7 +93,7 @@ typedef struct { bool doingColdShot; // true if we've just sent a jolt of cold water } _EMSESP_Shower; -command_t PROGMEM project_cmds[] = { +command_t project_cmds[] = { {true, "led ", "toggle status LED on/off"}, {true, "led_gpio ", "set the LED pin. Default is the onboard LED (D1=5)"}, diff --git a/src/ems_devices.h b/src/ems_devices.h index 0030a7d83..96261fb31 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -166,6 +166,7 @@ const _Other_Type Other_Types[] = { {EMS_MODEL_OTHER, 250, 0x11, "WM10 Switch Module"}, // warning, fake product id! {EMS_MODEL_OTHER, 160, 0x20, "MM100 Mixing Module"}, {EMS_MODEL_OTHER, 160, 0x21, "MM100 Mixing Module"}, + {EMS_MODEL_OTHER, 159, 0x21, "MM50 Mixing Module"}, {EMS_MODEL_OTHER, 68, 0x09, "BC10/RFM20 Receiver"}, {EMS_MODEL_OTHER, 190, 0x09, "BC10 Base Controller"}, {EMS_MODEL_OTHER, 114, 0x09, "BC10 Base Controller"}, diff --git a/src/version.h b/src/version.h index ebd036990..96cb58d33 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b0" +#define APP_VERSION "1.8.0b1" #define APP_HOSTNAME "ems-esp" From 93b6b1ea4c5cdb568b809b60e431e7e05e4e8189 Mon Sep 17 00:00:00 2001 From: Susis Strolch Date: Tue, 21 May 2019 22:50:26 +0200 Subject: [PATCH 05/66] 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) --- src/ems.cpp | 8 ++-- src/emsuart.cpp | 99 ++++++++++++++++++++++++++++++++++++++++--------- src/emsuart.h | 2 +- 3 files changed, 86 insertions(+), 23 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index a5ed6c2d7..cfcafdaba 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -697,7 +697,7 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { } else { // nothing to send so just send a poll acknowledgement back if (EMS_Sys_Status.emsPollEnabled) { - emsaurt_tx_poll(); + emsuart_tx_poll(); } } } else if (EMS_Sys_Status.emsTxStatus == EMS_TX_STATUS_WAIT) { @@ -705,14 +705,14 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { if (value == EMS_TX_SUCCESS) { EMS_Sys_Status.emsTxPkgs++; // got a success 01. Send a validate to check the value of the last write - emsaurt_tx_poll(); // send a poll to free the EMS bus + emsuart_tx_poll(); // send a poll to free the EMS bus _createValidate(); // create a validate Tx request (if needed) } else if (value == EMS_TX_ERROR) { // last write failed (04), delete it from queue and dont bother to retry if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_VERBOSE) { myDebug_P(PSTR("** Write command failed from host")); } - emsaurt_tx_poll(); // send a poll to free the EMS bus + emsuart_tx_poll(); // send a poll to free the EMS bus _removeTxQueue(); // remove from queue } } @@ -1052,7 +1052,7 @@ void _processType(_EMS_RxTelegram * EMS_RxTelegram) { } } - emsaurt_tx_poll(); // send Acknowledgement back to free the EMS bus since we have the telegram + emsuart_tx_poll(); // send Acknowledgement back to free the EMS bus since we have the telegram } diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 8895a4cc3..cdaf02c84 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -40,8 +40,7 @@ static void emsuart_rx_intr_handler(void * para) { } // clear Rx FIFO full and Rx FIFO timeout interrupts - U0IC = (1 << UIFF); - U0IC = (1 << UITO); + U0IC = (1 << UIFF) | (1 << UITO); } // BREAK detection = End of EMS data block @@ -76,6 +75,13 @@ static void ICACHE_FLASH_ATTR emsuart_recvTask(os_event_t * events) { pEMSRxBuf = paEMSRxBuf[++emsRxBufIdx % EMS_MAXBUFFERS]; // next free EMS Receive buffer } +static inline void ICACHE_FLASH_ATTR emsuart_flush_fifos() { + // flush everything left over in buffer, this clears both rx and tx FIFOs + uint32_t tmp = ((1 << UCRXRST) | (1 << UCTXRST)); // bit mask + USC0(EMSUART_UART) |= (tmp); // set bits + USC0(EMSUART_UART) &= ~(tmp); // clear bits +} + /* * init UART0 driver */ @@ -100,11 +106,8 @@ void ICACHE_FLASH_ATTR emsuart_init() { USD(EMSUART_UART) = (UART_CLK_FREQ / EMSUART_BAUD); USC0(EMSUART_UART) = EMSUART_CONFIG; // 8N1 - // flush everything left over in buffer, this clears both rx and tx FIFOs - uint32_t tmp = ((1 << UCRXRST) | (1 << UCTXRST)); // bit mask - USC0(EMSUART_UART) |= (tmp); // set bits - USC0(EMSUART_UART) &= ~(tmp); // clear bits - + emsuart_flush_fifos(); + // conf1 params // UCTOE = RX TimeOut enable (default is 1) // UCTOT = RX TimeOut Threshold (7bit) = want this when no more data after 2 characters. (default is 2) @@ -128,7 +131,9 @@ void ICACHE_FLASH_ATTR emsuart_init() { system_set_os_print(0); // https://github.com/espruino/Espruino/issues/655 // swap Rx and Tx pins to use GPIO13 (D7) and GPIO15 (D8) respectively + #ifndef NO_UART_SWAP system_uart_swap(); + #endif ETS_UART_INTR_ATTACH(emsuart_rx_intr_handler, NULL); ETS_UART_INTR_ENABLE(); @@ -172,26 +177,84 @@ void ICACHE_FLASH_ATTR emsuart_tx_brk() { USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear bit } +/* + * set loopback mode and clear Tx/Rx FIFO + */ +static inline void ICACHE_FLASH_ATTR emsuart_loopback(boolean enable) { + uint32_t tmp = (1 << UCLBE); // Loopback mask + if (enable) + USC0(EMSUART_UART) |= (tmp); // enable loopback + else + USC0(EMSUART_UART) &= ~(tmp); // disable loopback +} + /* * Send to Tx, ending with a */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { - for (uint8_t i = 0; i < len; i++) { - USF(EMSUART_UART) = buf[i]; + uint32_t tmp; + + // backward compatibility + if (EMS_Sys_Status.emsTxDelay<2) { + for (uint8_t i = 0; i < len; i++) { + USF(EMSUART_UART) = buf[i]; - // check if we need to force a delay to slow down Tx - // https://github.com/proddy/EMS-ESP/issues/23# - if (EMS_Sys_Status.emsTxDelay) { - delayMicroseconds(EMS_TX_BRK_WAIT); + // check if we need to force a delay to slow down Tx + // https://github.com/proddy/EMS-ESP/issues/23# + if (EMS_Sys_Status.emsTxDelay==1) { + delayMicroseconds(EMS_TX_BRK_WAIT); + } } + emsuart_tx_brk(); // send + } else { + // smart Tx + #define UART_BIT_TIME 104 // bit time @9600 baud + + ETS_UART_INTR_DISABLE(); // disable rx interrupt + emsuart_flush_fifos(); + emsuart_loopback(true); // reset FIFOs & enable loopback + + for (uint8_t i = 0; i < len; i++) { + USF(EMSUART_UART) = buf[i]; // send byte + delayMicroseconds(10*UART_BIT_TIME); + + /* wait until + * ° loopback char is received + * ° Rx-FIFO full (unlikely) + * ° Rx-TimeOut (unlikely) + * ° Break detected (bus collision) - not handled now... + */ + for (uint8_t l = 0; l < 13; l++) { + if (((USS(EMSUART_UART) >> USRXC) & 0xFF) + || (U0IS & ((1 << UIFF) | (1 << UITO) | (1 << UIBD)))) + break; + delayMicroseconds(UART_BIT_TIME / 8); // ~13µs + } + + uint32_t break_detect = (U0IS & (1 << UIBD)); // keep break detect interrupt + (void) (USF(EMSUART_UART)); // read out fifo, also clears FIFO counter + U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts + if (break_detect) + break; // collision / abort from master + } + + // send - wait until detect + USC0(EMSUART_UART) |= (1 << UCBRK); // send + while (!(U0IS & (1 << UIBD))) + delayMicroseconds(UART_BIT_TIME / 8); // ~13µs + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear + + U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts + emsuart_flush_fifos(); + emsuart_loopback(false); // disable loopback mode + ETS_UART_INTR_ENABLE(); // enable rx interrupt } - emsuart_tx_brk(); // send } /* * Send the Poll (our own ID) to Tx as a single byte and end with a */ -void ICACHE_FLASH_ATTR emsaurt_tx_poll() { - USF(EMSUART_UART) = EMS_ID_ME; - emsuart_tx_brk(); // send -} +void ICACHE_FLASH_ATTR emsuart_tx_poll() { + static uint8_t buf[] = {EMS_ID_ME}; + emsuart_tx_buffer(buf,1); +} \ No newline at end of file diff --git a/src/emsuart.h b/src/emsuart.h index e1fc9498c..54ed81c1b 100644 --- a/src/emsuart.h +++ b/src/emsuart.h @@ -33,5 +33,5 @@ void ICACHE_FLASH_ATTR emsuart_init(); void ICACHE_FLASH_ATTR emsuart_stop(); void ICACHE_FLASH_ATTR emsuart_start(); void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len); -void ICACHE_FLASH_ATTR emsaurt_tx_poll(); +void ICACHE_FLASH_ATTR emsuart_tx_poll(); void ICACHE_FLASH_ATTR emsuart_tx_brk(); From f9c5cb9dca908c5af882ab63e8da9db3484c4146 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 21 May 2019 23:50:47 +0200 Subject: [PATCH 06/66] merged Tx Delay https://github.com/proddy/EMS-ESP/pull/113 --- CHANGELOG.md | 2 ++ src/ems.cpp | 2 +- src/emsuart.cpp | 63 ++++++++++++++++++++++++------------------------- src/emsuart.h | 4 ++-- src/version.h | 2 +- 5 files changed, 37 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c6b15a45..39e4e9b83 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Improved Tx code, by @Susis Strolch [(pull request 113)](https://github.com/proddy/EMS-ESP/pull/113). Use `set_txdelay 2` + ## [1.7.0] 2019-05-11 ### Added diff --git a/src/ems.cpp b/src/ems.cpp index cfcafdaba..a30541216 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -687,7 +687,7 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { _last_emsPollFrequency = EMS_RxTelegram.timestamp; // check first for a Poll for us - if (value == (EMS_ID_ME | 0x80)) { + if ((value & 0x7F) == EMS_ID_ME) { EMS_Sys_Status.emsTxCapable = true; // do we have something to send thats waiting in the Tx queue? diff --git a/src/emsuart.cpp b/src/emsuart.cpp index cdaf02c84..829c83235 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -107,13 +107,13 @@ void ICACHE_FLASH_ATTR emsuart_init() { USC0(EMSUART_UART) = EMSUART_CONFIG; // 8N1 emsuart_flush_fifos(); - + // conf1 params // UCTOE = RX TimeOut enable (default is 1) // UCTOT = RX TimeOut Threshold (7bit) = want this when no more data after 2 characters. (default is 2) // UCFFT = RX FIFO Full Threshold (7 bit) = want this to be 31 for 32 bytes of buffer. (default was 127). // see https://www.espressif.com/sites/default/files/documentation/esp8266-technical_reference_en.pdf - USC1(EMSUART_UART) = 0; // reset config first + USC1(EMSUART_UART) = 0; // reset config first USC1(EMSUART_UART) = (EMS_MAX_TELEGRAM_LENGTH << UCFFT) | (0x02 << UCTOT) | (1 << UCTOE); // enable interupts // set interrupts for triggers @@ -130,10 +130,10 @@ void ICACHE_FLASH_ATTR emsuart_init() { // disable esp debug which will go to Tx and mess up the line system_set_os_print(0); // https://github.com/espruino/Espruino/issues/655 - // swap Rx and Tx pins to use GPIO13 (D7) and GPIO15 (D8) respectively - #ifndef NO_UART_SWAP +// swap Rx and Tx pins to use GPIO13 (D7) and GPIO15 (D8) respectively +#ifndef NO_UART_SWAP system_uart_swap(); - #endif +#endif ETS_UART_INTR_ATTACH(emsuart_rx_intr_handler, NULL); ETS_UART_INTR_ENABLE(); @@ -181,11 +181,11 @@ void ICACHE_FLASH_ATTR emsuart_tx_brk() { * set loopback mode and clear Tx/Rx FIFO */ static inline void ICACHE_FLASH_ATTR emsuart_loopback(boolean enable) { - uint32_t tmp = (1 << UCLBE); // Loopback mask + uint32_t tmp = (1 << UCLBE); // Loopback mask if (enable) - USC0(EMSUART_UART) |= (tmp); // enable loopback + USC0(EMSUART_UART) |= (tmp); // enable loopback else - USC0(EMSUART_UART) &= ~(tmp); // disable loopback + USC0(EMSUART_UART) &= ~(tmp); // disable loopback } /* @@ -193,30 +193,30 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(boolean enable) { */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { uint32_t tmp; - + // backward compatibility - if (EMS_Sys_Status.emsTxDelay<2) { + if (EMS_Sys_Status.emsTxDelay < 2) { for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; // check if we need to force a delay to slow down Tx // https://github.com/proddy/EMS-ESP/issues/23# - if (EMS_Sys_Status.emsTxDelay==1) { + if (EMS_Sys_Status.emsTxDelay == 1) { delayMicroseconds(EMS_TX_BRK_WAIT); } } emsuart_tx_brk(); // send } else { - // smart Tx - #define UART_BIT_TIME 104 // bit time @9600 baud +// smart Tx +#define UART_BIT_TIME 104 // bit time @9600 baud - ETS_UART_INTR_DISABLE(); // disable rx interrupt + ETS_UART_INTR_DISABLE(); // disable rx interrupt emsuart_flush_fifos(); - emsuart_loopback(true); // reset FIFOs & enable loopback + emsuart_loopback(true); // reset FIFOs & enable loopback for (uint8_t i = 0; i < len; i++) { - USF(EMSUART_UART) = buf[i]; // send byte - delayMicroseconds(10*UART_BIT_TIME); + USF(EMSUART_UART) = buf[i]; // send byte + delayMicroseconds(10 * UART_BIT_TIME); /* wait until * ° loopback char is received @@ -225,29 +225,28 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { * ° Break detected (bus collision) - not handled now... */ for (uint8_t l = 0; l < 13; l++) { - if (((USS(EMSUART_UART) >> USRXC) & 0xFF) - || (U0IS & ((1 << UIFF) | (1 << UITO) | (1 << UIBD)))) + if (((USS(EMSUART_UART) >> USRXC) & 0xFF) || (U0IS & ((1 << UIFF) | (1 << UITO) | (1 << UIBD)))) break; - delayMicroseconds(UART_BIT_TIME / 8); // ~13µs + delayMicroseconds(UART_BIT_TIME / 8); // ~13µs } - - uint32_t break_detect = (U0IS & (1 << UIBD)); // keep break detect interrupt - (void) (USF(EMSUART_UART)); // read out fifo, also clears FIFO counter - U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts + + uint32_t break_detect = (U0IS & (1 << UIBD)); // keep break detect interrupt + (void)(USF(EMSUART_UART)); // read out fifo, also clears FIFO counter + U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts if (break_detect) - break; // collision / abort from master + break; // collision / abort from master } // send - wait until detect - USC0(EMSUART_UART) |= (1 << UCBRK); // send + USC0(EMSUART_UART) |= (1 << UCBRK); // send while (!(U0IS & (1 << UIBD))) - delayMicroseconds(UART_BIT_TIME / 8); // ~13µs - USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear + delayMicroseconds(UART_BIT_TIME / 8); // ~13µs + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear - U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts + U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts emsuart_flush_fifos(); - emsuart_loopback(false); // disable loopback mode - ETS_UART_INTR_ENABLE(); // enable rx interrupt + emsuart_loopback(false); // disable loopback mode + ETS_UART_INTR_ENABLE(); // enable rx interrupt } } @@ -256,5 +255,5 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { */ void ICACHE_FLASH_ATTR emsuart_tx_poll() { static uint8_t buf[] = {EMS_ID_ME}; - emsuart_tx_buffer(buf,1); + emsuart_tx_buffer(buf, 1); } \ No newline at end of file diff --git a/src/emsuart.h b/src/emsuart.h index 54ed81c1b..7655c4183 100644 --- a/src/emsuart.h +++ b/src/emsuart.h @@ -13,8 +13,8 @@ #define EMSUART_CONFIG 0x1C // 8N1 (8 bits, no stop bits, 1 parity) #define EMSUART_BAUD 9600 // uart baud rate for the EMS circuit -#define EMS_MAXBUFFERS 10 // 4 buffers for circular filling to avoid collisions -#define EMS_MAXBUFFERSIZE 32 // max size of the buffer. packets are max 32 bytes +#define EMS_MAXBUFFERS 10 // 4 buffers for circular filling to avoid collisions +#define EMS_MAXBUFFERSIZE 32 // max size of the buffer. packets are max 32 bytes // this is how long we drop the Tx signal to create a 11-bit Break of zeros (BRK) // At 9600 baud, 11 bits will be 1144 microseconds diff --git a/src/version.h b/src/version.h index 96cb58d33..c59324730 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b1" +#define APP_VERSION "1.8.0b2" #define APP_HOSTNAME "ems-esp" From 03d9e6547f9e6f2cd65fbf2fe10880262beef716 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 22 May 2019 00:01:59 +0200 Subject: [PATCH 07/66] txDelay change from bool to int --- src/ems-esp.cpp | 17 +++++------------ src/ems.cpp | 10 +++++----- src/ems.h | 6 +++--- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index c059bcf20..243c03e63 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -106,7 +106,7 @@ command_t project_cmds[] = { {true, "shower_alert ", "send a warning of cold water after shower time is exceeded"}, {true, "publish_wait ", "set frequency for publishing to MQTT"}, {true, "heating_circuit <1 | 2>", "set the thermostat HC to work with if using multiple heating circuits"}, - {true, "tx_delay ", "turn on if Tx not working on newer boilers"}, + {true, "tx_delay ", "0=normal, 1=ems+, 2=new logic"}, {false, "info", "show data captured on the EMS bus"}, {false, "log ", "set logging mode to none, basic, thermostat only, raw or verbose"}, @@ -342,7 +342,7 @@ void showInfo() { myDebug_P(PSTR(" Rx: Poll=%d ms, # Rx telegrams read=%d, # CRC errors=%d"), ems_getPollFrequency(), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); if (ems_getTxCapable()) { - myDebug_P(PSTR(" Tx: available, Tx delay is %s, # Tx telegrams sent=%d"), (ems_getTxDelay() ? "on" : "off"), EMS_Sys_Status.emsTxPkgs); + myDebug_P(PSTR(" Tx: available, Tx delay is %d, # Tx telegrams sent=%d"), ems_getTxDelay(), EMS_Sys_Status.emsTxPkgs); } else { myDebug_P(PSTR(" Tx: no signal")); } @@ -1182,15 +1182,8 @@ bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, c // tx delay if ((strcmp(setting, "tx_delay") == 0) && (wc == 2)) { - if (strcmp(value, "on") == 0) { - ems_setTxDelay(true); - ok = true; - } else if (strcmp(value, "off") == 0) { - ems_setTxDelay(false); - ok = true; - } else { - myDebug_P(PSTR("Error. Usage: set tx_delay ")); - } + ems_setTxDelay(atoi(value)); + ok = true; } } @@ -1218,7 +1211,7 @@ bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, c myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Status.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Status.shower_alert ? "on" : "off"); myDebug_P(PSTR(" publish_wait=%d"), EMSESP_Status.publish_wait); - myDebug_P(PSTR(" tx_delay=%s"), ems_getTxDelay() ? "on" : "off"); + myDebug_P(PSTR(" tx_delay=%d"), ems_getTxDelay()); } return ok; diff --git a/src/ems.cpp b/src/ems.cpp index a30541216..2e5f55e07 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -220,7 +220,7 @@ void ems_init() { EMS_Sys_Status.emsTxDisabled = false; EMS_Sys_Status.emsPollFrequency = 0; EMS_Sys_Status.txRetryCount = 0; - EMS_Sys_Status.emsTxDelay = false; + EMS_Sys_Status.emsTxDelay = 0; // thermostat EMS_Thermostat.setpoint_roomTemp = EMS_VALUE_SHORT_NOTSET; @@ -329,12 +329,12 @@ bool ems_getPoll() { return EMS_Sys_Status.emsPollEnabled; } -void ems_setTxDelay(bool b) { - EMS_Sys_Status.emsTxDelay = b; - myDebug_P(PSTR("EMS Tx delay is %s"), EMS_Sys_Status.emsTxDelay ? "enabled" : "disabled"); +void ems_setTxDelay(uint8_t delay) { + EMS_Sys_Status.emsTxDelay = delay; + myDebug_P(PSTR("EMS Tx delay is %d"), EMS_Sys_Status.emsTxDelay); } -bool ems_getTxDelay() { +uint8_t ems_getTxDelay() { return EMS_Sys_Status.emsTxDelay; } diff --git a/src/ems.h b/src/ems.h index 702f1a793..edb8fbd1e 100644 --- a/src/ems.h +++ b/src/ems.h @@ -94,7 +94,7 @@ typedef struct { bool emsTxCapable; // able to send via Tx bool emsTxDisabled; // true to prevent all Tx uint8_t txRetryCount; // # times the last Tx was re-sent - bool emsTxDelay; // if true, slows down the Tx transmit + uint8_t emsTxDelay; // handles Tx logic } _EMS_Sys_Status; // The Tx send package @@ -301,7 +301,7 @@ void ems_setFlowTemp(uint8_t temperature); void ems_setWarmWaterActivated(bool activated); void ems_setWarmTapWaterActivated(bool activated); void ems_setPoll(bool b); -void ems_setTxDelay(bool b); +void ems_setTxDelay(uint8_t delay); void ems_setLogging(_EMS_SYS_LOGGING loglevel); void ems_setEmsRefreshed(bool b); void ems_setWarmWaterModeComfort(uint8_t comfort); @@ -316,7 +316,7 @@ bool ems_getPoll(); bool ems_getTxEnabled(); bool ems_getThermostatEnabled(); bool ems_getBoilerEnabled(); -bool ems_getTxDelay(); +uint8_t ems_getTxDelay(); bool ems_getBusConnected(); _EMS_SYS_LOGGING ems_getLogging(); bool ems_getEmsRefreshed(); From 57442db11cda3e765b66479724a1f40bcc9a486a Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 22 May 2019 18:48:27 +0200 Subject: [PATCH 08/66] small changes --- src/emsuart.cpp | 48 +++++++++++++++++++++++++++--------------------- src/emsuart.h | 3 ++- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 829c83235..61268ff43 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -75,8 +75,10 @@ static void ICACHE_FLASH_ATTR emsuart_recvTask(os_event_t * events) { pEMSRxBuf = paEMSRxBuf[++emsRxBufIdx % EMS_MAXBUFFERS]; // next free EMS Receive buffer } +/* + * flush everything left over in buffer, this clears both rx and tx FIFOs + */ static inline void ICACHE_FLASH_ATTR emsuart_flush_fifos() { - // flush everything left over in buffer, this clears both rx and tx FIFOs uint32_t tmp = ((1 << UCRXRST) | (1 << UCTXRST)); // bit mask USC0(EMSUART_UART) |= (tmp); // set bits USC0(EMSUART_UART) &= ~(tmp); // clear bits @@ -144,10 +146,12 @@ void ICACHE_FLASH_ATTR emsuart_init() { */ void ICACHE_FLASH_ATTR emsuart_stop() { ETS_UART_INTR_DISABLE(); - //ETS_UART_INTR_ATTACH(NULL, NULL); - //system_uart_swap(); // to be sure, swap Tx/Rx back. + ETS_UART_INTR_ATTACH(NULL, NULL); + noInterrupts(); +#ifndef NO_UART_SWAP //detachInterrupt(digitalPinToInterrupt(D7)); - //noInterrupts(); + system_uart_swap(); // to be sure, swap Tx/Rx back. +#endif } /* @@ -162,30 +166,32 @@ void ICACHE_FLASH_ATTR emsuart_start() { * Which is a 11-bit set of zero's (11 cycles) */ void ICACHE_FLASH_ATTR emsuart_tx_brk() { + uint32_t tmp; + // must make sure Tx FIFO is empty while (((USS(EMSUART_UART) >> USTXC) & 0xff) != 0) ; - uint32_t tmp = ((1 << UCRXRST) | (1 << UCTXRST)); // bit mask - USC0(EMSUART_UART) |= (tmp); // set bits - USC0(EMSUART_UART) &= ~(tmp); // clear bits + tmp = ((1 << UCRXRST) | (1 << UCTXRST)); // bit mask + USC0(EMSUART_UART) |= (tmp); // set bits + USC0(EMSUART_UART) &= ~(tmp); // clear bits // To create a 11-bit we set TXD_BRK bit so the break signal will // automatically be sent when the tx fifo is empty - USC0(EMSUART_UART) |= (1 << UCBRK); // set bit - delayMicroseconds(EMS_TX_BRK_WAIT); // 2070 - based on trial and error using an oscilloscope - USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear bit + tmp = (1 << UCBRK); + USC0(EMSUART_UART) |= (tmp); // set bit + delayMicroseconds(EMSUART_TX_BRK_WAIT); + USC0(EMSUART_UART) &= ~(tmp); // clear bit } /* * set loopback mode and clear Tx/Rx FIFO */ -static inline void ICACHE_FLASH_ATTR emsuart_loopback(boolean enable) { - uint32_t tmp = (1 << UCLBE); // Loopback mask +static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { if (enable) - USC0(EMSUART_UART) |= (tmp); // enable loopback + USC0(EMSUART_UART) |= (1 << UCLBE); // enable loopback else - USC0(EMSUART_UART) &= ~(tmp); // disable loopback + USC0(EMSUART_UART) &= ~(1 << UCLBE); // disable loopback } /* @@ -202,13 +208,12 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // check if we need to force a delay to slow down Tx // https://github.com/proddy/EMS-ESP/issues/23# if (EMS_Sys_Status.emsTxDelay == 1) { - delayMicroseconds(EMS_TX_BRK_WAIT); + delayMicroseconds(EMSUART_TX_BRK_WAIT); } } emsuart_tx_brk(); // send } else { -// smart Tx -#define UART_BIT_TIME 104 // bit time @9600 baud + // smart Tx ETS_UART_INTR_DISABLE(); // disable rx interrupt emsuart_flush_fifos(); @@ -216,7 +221,8 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; // send byte - delayMicroseconds(10 * UART_BIT_TIME); + + delayMicroseconds(10 * EMSUART_BIT_TIME); /* wait until * ° loopback char is received @@ -227,7 +233,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { for (uint8_t l = 0; l < 13; l++) { if (((USS(EMSUART_UART) >> USRXC) & 0xFF) || (U0IS & ((1 << UIFF) | (1 << UITO) | (1 << UIBD)))) break; - delayMicroseconds(UART_BIT_TIME / 8); // ~13µs + delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs } uint32_t break_detect = (U0IS & (1 << UIBD)); // keep break detect interrupt @@ -240,8 +246,8 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // send - wait until detect USC0(EMSUART_UART) |= (1 << UCBRK); // send while (!(U0IS & (1 << UIBD))) - delayMicroseconds(UART_BIT_TIME / 8); // ~13µs - USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear + delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts emsuart_flush_fifos(); diff --git a/src/emsuart.h b/src/emsuart.h index 7655c4183..c01803cda 100644 --- a/src/emsuart.h +++ b/src/emsuart.h @@ -19,7 +19,8 @@ // this is how long we drop the Tx signal to create a 11-bit Break of zeros (BRK) // At 9600 baud, 11 bits will be 1144 microseconds // the BRK from Boiler master is roughly 1.039ms, so accounting for hardware lag using around 2078 (for half-duplex) - 8 (lag) -#define EMS_TX_BRK_WAIT 2070 +#define EMSUART_TX_BRK_WAIT 2070 +#define EMSUART_BIT_TIME 104 // bit time @9600 baud #define EMSUART_recvTaskPrio 1 #define EMSUART_recvTaskQueueLen 64 From 66ec810ea17fced02a32400f6b0c5fa537f083b8 Mon Sep 17 00:00:00 2001 From: proddy Date: Thu, 23 May 2019 14:52:34 +0200 Subject: [PATCH 09/66] susisstrolch's Tx "take two" mod --- src/emsuart.cpp | 59 +++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 61268ff43..d25b0b9af 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -200,7 +200,7 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { uint32_t tmp; - // backward compatibility + // backwards compatibility if (EMS_Sys_Status.emsTxDelay < 2) { for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; @@ -213,46 +213,43 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { } emsuart_tx_brk(); // send } else { - // smart Tx + /* smart Tx - take two - https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch + * changed logic... + * we emit the whole telegram, with Rx interrupt disabled, collecting busmaster response in FIFO. + * after sending the last char we poll the Rx status until either + * - size(Rx FIFO) == size(Tx-Telegram) + * - is detected + * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. + */ ETS_UART_INTR_DISABLE(); // disable rx interrupt emsuart_flush_fifos(); - emsuart_loopback(true); // reset FIFOs & enable loopback - for (uint8_t i = 0; i < len; i++) { + // throw out the telegram... + for (uint8_t i = 0; i < len; i++) USF(EMSUART_UART) = buf[i]; // send byte - delayMicroseconds(10 * EMSUART_BIT_TIME); + // wait until we received sizeof(telegram) or RxBRK (== collision detect) + while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (U0IS & (1 << UIBD))) + delayMicroseconds(11 * EMSUART_BIT_TIME); // burn CPU cycles... - /* wait until - * ° loopback char is received - * ° Rx-FIFO full (unlikely) - * ° Rx-TimeOut (unlikely) - * ° Break detected (bus collision) - not handled now... - */ - for (uint8_t l = 0; l < 13; l++) { - if (((USS(EMSUART_UART) >> USRXC) & 0xFF) || (U0IS & ((1 << UIFF) | (1 << UITO) | (1 << UIBD)))) - break; + // we got the whole telegram in Rx buffer + // on Rx-BRK (bus collision), we simply enable Rx and leave + // otherwise, we send the final Tx-BRK in loopback and enable Rx-INT. + // worst case, we'll see an additional Rx-BRK... + if (!(U0IS & (1 << UIBD))) { + // no bus collision - send terminating BRK signal + emsuart_loopback(true); + USC0(EMSUART_UART) |= (1 << UCBRK); // set + + while (!(U0IS & (1 << UIBD))) // wait until BRK detected... delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs - } + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear - uint32_t break_detect = (U0IS & (1 << UIBD)); // keep break detect interrupt - (void)(USF(EMSUART_UART)); // read out fifo, also clears FIFO counter - U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts - if (break_detect) - break; // collision / abort from master + U0IC = (1 << UIBD); // clear BRK detect IRQ + emsuart_loopback(false); // disable loopback mode } - - // send - wait until detect - USC0(EMSUART_UART) |= (1 << UCBRK); // send - while (!(U0IS & (1 << UIBD))) - delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs - USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear - - U0IC = (1 << UIFF) | (1 << UITO) | (1 << UIBD); // clear pending interrupts - emsuart_flush_fifos(); - emsuart_loopback(false); // disable loopback mode - ETS_UART_INTR_ENABLE(); // enable rx interrupt + ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } } From dfbb80488767d03eba4ff42652131117163005e1 Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 09:23:18 +0200 Subject: [PATCH 10/66] disabled tx code for mode 2 until we've fixed it --- src/emsuart.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index d25b0b9af..29dca667c 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -226,8 +226,11 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_flush_fifos(); // throw out the telegram... - for (uint8_t i = 0; i < len; i++) - USF(EMSUART_UART) = buf[i]; // send byte + for (uint8_t i = 0; i < len; i++) { + USF(EMSUART_UART) = buf[i]; // send each Tx byte + } + + /* COMMENTED OUT - NOT WORKING // wait until we received sizeof(telegram) or RxBRK (== collision detect) while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (U0IS & (1 << UIBD))) @@ -249,6 +252,9 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { U0IC = (1 << UIBD); // clear BRK detect IRQ emsuart_loopback(false); // disable loopback mode } + + */ + ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } } From a555641ba336ba3f3f4e4ce0d61a07b22eb3e508 Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 10:06:42 +0200 Subject: [PATCH 11/66] EMS Tx del --- src/emsuart.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 29dca667c..f21cb5e55 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -222,6 +222,8 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. */ + /* COMMENTED OUT - NOT WORKING + ETS_UART_INTR_DISABLE(); // disable rx interrupt emsuart_flush_fifos(); @@ -230,8 +232,6 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { USF(EMSUART_UART) = buf[i]; // send each Tx byte } - /* COMMENTED OUT - NOT WORKING - // wait until we received sizeof(telegram) or RxBRK (== collision detect) while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (U0IS & (1 << UIBD))) delayMicroseconds(11 * EMSUART_BIT_TIME); // burn CPU cycles... @@ -253,9 +253,10 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_loopback(false); // disable loopback mode } - */ ETS_UART_INTR_ENABLE(); // receive anything from FIFO... + + */ } } From b394940e21ad2f2302db0d50cab05e10f4e7bec5 Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 11:39:20 +0200 Subject: [PATCH 12/66] small change to serial for easier debugging --- lib/MyESP/MyESP.cpp | 13 ++++++++----- lib/MyESP/MyESP.h | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index ac1b4adcb..5163c72f5 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -154,10 +154,9 @@ void MyESP::_wifiCallback(justwifi_messages_t code, char * parameter) { // finally if we don't want Serial anymore, turn it off if (!_use_serial) { - myDebug_P(PSTR("Disabling serial port")); + myDebug_P(PSTR("Disabling serial port communication.")); + SerialAndTelnet.flush(); // flush so all buffer is printed to serial SerialAndTelnet.setSerial(NULL); - } else { - myDebug_P(PSTR("Using serial port output")); } // call any final custom settings @@ -1537,11 +1536,15 @@ void MyESP::begin(const char * app_hostname, const char * app_name, const char * _app_name = strdup(app_name); _app_version = strdup(app_version); - _telnet_setup(); // Telnet setup, does first to set Serial - _eeprom_setup(); // set up eeprom for storing crash data + _telnet_setup(); // Telnet setup, called first to set Serial + _eeprom_setup(); // set up eeprom for storing crash data, if compiled with -DCRASH _fs_setup(); // SPIFFS setup, do this first to get values _wifi_setup(); // WIFI setup _ota_setup(); // init OTA + + // print a welcome message + myDebug_P(PSTR("\n* %s version %s"), _app_name, _app_version); + SerialAndTelnet.flush(); } /* diff --git a/lib/MyESP/MyESP.h b/lib/MyESP/MyESP.h index 513cc01e6..4b613e733 100644 --- a/lib/MyESP/MyESP.h +++ b/lib/MyESP/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyEMS_h #define MyEMS_h -#define MYESP_VERSION "1.1.11" +#define MYESP_VERSION "1.1.12" #include #include From df34e296a31514a88cdf0c56a4f7f73fc33f3820 Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 11:39:38 +0200 Subject: [PATCH 13/66] tx logic "take two" --- src/ems-esp.cpp | 2 +- src/ems.cpp | 1 - src/emsuart.cpp | 16 +++------------- src/version.h | 2 +- 4 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 243c03e63..b5f3b386d 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1539,7 +1539,7 @@ void WIFICallback() { // This is done after we have a WiFi signal to avoid any resource conflicts if (myESP.getUseSerial()) { - myDebug_P(PSTR("Warning! EMS bus disabled when in Serial mode. Use 'set serial off' to start EMS.")); + myDebug_P(PSTR("Warning! EMS bus communication disabled when Serial mode enabled. Use 'set serial off' to start communication.")); } else { emsuart_init(); myDebug_P(PSTR("[UART] Opened Rx/Tx connection")); diff --git a/src/ems.cpp b/src/ems.cpp index 2e5f55e07..aedbe4651 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -331,7 +331,6 @@ bool ems_getPoll() { void ems_setTxDelay(uint8_t delay) { EMS_Sys_Status.emsTxDelay = delay; - myDebug_P(PSTR("EMS Tx delay is %d"), EMS_Sys_Status.emsTxDelay); } uint8_t ems_getTxDelay() { diff --git a/src/emsuart.cpp b/src/emsuart.cpp index f21cb5e55..4dde6fe0f 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -119,7 +119,7 @@ void ICACHE_FLASH_ATTR emsuart_init() { USC1(EMSUART_UART) = (EMS_MAX_TELEGRAM_LENGTH << UCFFT) | (0x02 << UCTOT) | (1 << UCTOE); // enable interupts // set interrupts for triggers - USIC(EMSUART_UART) = 0xffff; // clear all interupts + USIC(EMSUART_UART) = 0xFFFF; // clear all interupts USIE(EMSUART_UART) = 0; // disable all interrupts // enable rx break, fifo full and timeout. @@ -143,15 +143,10 @@ void ICACHE_FLASH_ATTR emsuart_init() { /* * stop UART0 driver + * This is called prior to an OTA upload and also before a save to SPIFFS to prevent conflicts */ void ICACHE_FLASH_ATTR emsuart_stop() { ETS_UART_INTR_DISABLE(); - ETS_UART_INTR_ATTACH(NULL, NULL); - noInterrupts(); -#ifndef NO_UART_SWAP - //detachInterrupt(digitalPinToInterrupt(D7)); - system_uart_swap(); // to be sure, swap Tx/Rx back. -#endif } /* @@ -169,7 +164,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_brk() { uint32_t tmp; // must make sure Tx FIFO is empty - while (((USS(EMSUART_UART) >> USTXC) & 0xff) != 0) + while (((USS(EMSUART_UART) >> USTXC) & 0xFF) != 0) ; tmp = ((1 << UCRXRST) | (1 << UCTXRST)); // bit mask @@ -198,7 +193,6 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { * Send to Tx, ending with a */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { - uint32_t tmp; // backwards compatibility if (EMS_Sys_Status.emsTxDelay < 2) { @@ -222,8 +216,6 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. */ - /* COMMENTED OUT - NOT WORKING - ETS_UART_INTR_DISABLE(); // disable rx interrupt emsuart_flush_fifos(); @@ -253,10 +245,8 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_loopback(false); // disable loopback mode } - ETS_UART_INTR_ENABLE(); // receive anything from FIFO... - */ } } diff --git a/src/version.h b/src/version.h index c59324730..b71406fcb 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b2" +#define APP_VERSION "1.8.0b3" #define APP_HOSTNAME "ems-esp" From cab36c38c0f4ecfd38bc460644e5cbdba732c69f Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 12:00:55 +0200 Subject: [PATCH 14/66] cleanup --- platformio.ini-dev | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/platformio.ini-dev b/platformio.ini-dev index 1861cc137..3c3506e75 100644 --- a/platformio.ini-dev +++ b/platformio.ini-dev @@ -1,9 +1,10 @@ ; ; PlatformIO Project Configuration File for EMS-ESP -; Uses PlatformIO 4.0 +; Uses PlatformIO 4.0 (pio upgrade --dev) ; [platformio] +;env_default = release env_default = debug [common] @@ -12,12 +13,11 @@ env_default = debug wifi_settings = [env] -platform = espressif8266 -; platform = https://github.com/platformio/platform-espressif8266.git board = d1_mini ; board = nodemcuv2 ; board = d1_mini_pro framework = arduino +platform = espressif8266 lib_deps = CRC32 CircularBuffer @@ -26,12 +26,8 @@ lib_deps = ArduinoJson OneWire EEPROM_rotate -lib_ignore = -;lib_extra_dirs = D:\dev\lib upload_speed = 921600 monitor_speed = 115200 -; Set the ESP8266 clock frequency to 160MHz -;board_f_cpu = 160000000L upload_protocol = espota upload_port = ems-esp.local From c6a6dca81a0758b2eafde886446e7599b3528fba Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 12:28:23 +0200 Subject: [PATCH 15/66] empty rx fifo after Tx BRK --- src/emsuart.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 4dde6fe0f..e0b9dd054 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -237,7 +237,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_loopback(true); USC0(EMSUART_UART) |= (1 << UCBRK); // set - while (!(U0IS & (1 << UIBD))) // wait until BRK detected... + while (!(U0IS & (1 << UIBD))) ; // wait until BRK detected... delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear @@ -245,6 +245,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_loopback(false); // disable loopback mode } + emsuart_flush_fifos(); // flush Rx buffer to be sure ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } From 1a638d26113552403a8cb2c97f001eec0eb9378c Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 15:08:56 +0200 Subject: [PATCH 16/66] tx logic --- src/emsuart.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index e0b9dd054..9c2c34c87 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -193,7 +193,6 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { * Send to Tx, ending with a */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { - // backwards compatibility if (EMS_Sys_Status.emsTxDelay < 2) { for (uint8_t i = 0; i < len; i++) { @@ -225,8 +224,10 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { } // wait until we received sizeof(telegram) or RxBRK (== collision detect) - while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (U0IS & (1 << UIBD))) + // while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || !(USIS(EMSUART_UART) & (1 << UIBD))) + while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (U0IS & (1 << UIBD))) { delayMicroseconds(11 * EMSUART_BIT_TIME); // burn CPU cycles... + } // we got the whole telegram in Rx buffer // on Rx-BRK (bus collision), we simply enable Rx and leave @@ -237,17 +238,17 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_loopback(true); USC0(EMSUART_UART) |= (1 << UCBRK); // set - while (!(U0IS & (1 << UIBD))) ; // wait until BRK detected... - delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs - USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear + while (!(USIS(EMSUART_UART) & (1 << UIBD))) + ; // wait until BRK detected... + delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear - U0IC = (1 << UIBD); // clear BRK detect IRQ - emsuart_loopback(false); // disable loopback mode + USIC(EMSUART_UART) = (1 << UIBD); // clear BRK detect IRQ + emsuart_loopback(false); // disable loopback mode } - emsuart_flush_fifos(); // flush Rx buffer to be sure + emsuart_flush_fifos(); // flush Rx buffer to be sure ETS_UART_INTR_ENABLE(); // receive anything from FIFO... - } } From 9cdd9c403ca360efb8da3418cbfefb3539795f3d Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 24 May 2019 15:30:21 +0200 Subject: [PATCH 17/66] https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495605798 --- src/emsuart.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 9c2c34c87..483b08ada 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -216,6 +216,9 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { */ ETS_UART_INTR_DISABLE(); // disable rx interrupt + + // clear Rx status register - https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495605798 + USC0(EMSUART_UART) |= (1 << UCRXRST); // reset uart rx fifo emsuart_flush_fifos(); // throw out the telegram... From 6995516ce02a89de77c5439cc1e2e48498e5f35f Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 25 May 2019 10:24:11 +0200 Subject: [PATCH 18/66] fixed trailing ; in Tx --- src/emsuart.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 483b08ada..536572155 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -241,10 +241,11 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_loopback(true); USC0(EMSUART_UART) |= (1 << UCBRK); // set - while (!(USIS(EMSUART_UART) & (1 << UIBD))) - ; // wait until BRK detected... - delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs - USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear + // wait until BRK detected... + while (!(USIS(EMSUART_UART) & (1 << UIBD))) { + delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs + } + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear USIC(EMSUART_UART) = (1 << UIBD); // clear BRK detect IRQ emsuart_loopback(false); // disable loopback mode From 9ce1a5b488273763d15e7bc5642c06d9dde7aba4 Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 25 May 2019 11:21:13 +0200 Subject: [PATCH 19/66] poll from milli to micro secs for better accuracy --- src/ems-esp.cpp | 2 +- src/ems.cpp | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index b5f3b386d..f8e21cf31 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -339,7 +339,7 @@ void showInfo() { if (ems_getBusConnected()) { myDebug_P(PSTR(" Bus is connected")); - myDebug_P(PSTR(" Rx: Poll=%d ms, # Rx telegrams read=%d, # CRC errors=%d"), ems_getPollFrequency(), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); + myDebug_P(PSTR(" Rx: Poll=%d microsecs, # Rx telegrams read=%d, # CRC errors=%d"), ems_getPollFrequency(), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); if (ems_getTxCapable()) { myDebug_P(PSTR(" Tx: available, Tx delay is %d, # Tx telegrams sent=%d"), ems_getTxDelay(), EMS_Sys_Status.emsTxPkgs); diff --git a/src/ems.cpp b/src/ems.cpp index aedbe4651..7242fdea7 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -680,12 +680,13 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { // it could well be a Poll request from the boiler for us, which will have a value of 0x8B (0x0B | 0x80) // or either a return code like 0x01 or 0x04 from the last Write command if (length == 1) { - uint8_t value = telegram[0]; // 1st byte of data package - - EMS_Sys_Status.emsPollFrequency = (EMS_RxTelegram.timestamp - _last_emsPollFrequency); - _last_emsPollFrequency = EMS_RxTelegram.timestamp; + uint32_t timenow_microsecs = micros(); + EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); + _last_emsPollFrequency = timenow_microsecs; // check first for a Poll for us + uint8_t value = telegram[0]; // 1st byte of data package + if ((value & 0x7F) == EMS_ID_ME) { EMS_Sys_Status.emsTxCapable = true; From 65bd9b96d4f7a445b7fd998176d4679fe5f48cea Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 26 May 2019 12:23:33 +0200 Subject: [PATCH 20/66] update file location --- scripts/EspStackTraceDecoder.jar | Bin 3056 -> 0 bytes scripts/debug.py | 9 +------ scripts/stackdmp.txt | 45 ++++++++++++++++++++++++------- 3 files changed, 37 insertions(+), 17 deletions(-) delete mode 100644 scripts/EspStackTraceDecoder.jar diff --git a/scripts/EspStackTraceDecoder.jar b/scripts/EspStackTraceDecoder.jar deleted file mode 100644 index bc53018315d8e6f7d1d4cab2fbd6228b9f49f4b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3056 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 -3fffff30: 00000020 3fff4dcc 0000000d 40216e4e -3fffff40: 00000020 3fff4dcc 3fff4db8 3fff4e3c -3fffff50: 0000000d 3fff4db8 3fff4b64 4021280d -3fffff60: 0000000d 3fff5094 3ffe8560 3fff5038 -3fffff70: 3fff4b64 3fff316c 3fff4b54 3fff5038 -3fffff80: 3fffdad0 3fff316c 3fff4b64 402128df -3fffff90: 3fffdad0 00000000 3fff316c 4020bc20 -3fffffa0: 3fffdad0 00000000 3fff5008 402143d4 -3fffffb0: feefeffe feefeffe 3ffe8560 40100b01 +3ffffd80: 40004303 00000030 00000013 ffffffff +3ffffd90: 60000200 00000000 3ffffe70 80000000 +3ffffda0: 20000000 80000000 08060d3c 00000000 +3ffffdb0: 0000ffff 00000000 3fff1be8 3ffffec0 +3ffffdc0: 00000008 00060d3c 00000000 00000030 +3ffffdd0: 00000005 00000000 00000020 4010106a +3ffffde0: 3ffec925 4010446b 3fff0388 00000030 +3ffffdf0: 40101d81 3fff0388 00000010 40210ec8 +3ffffe00: 00000044 0d6e5485 3fff0de8 40101f5a +3ffffe10: 3ffed1ac 00000000 00000000 40210ec8 +3ffffe20: 00000044 0d6e5485 4010239a 00000100 +3ffffe30: 7fffffff 3ffed1ac 3ffed1ac 00000001 +3ffffe40: 00000001 00000080 00000000 40231901 +3ffffe50: 00000000 0d6e5485 00002200 4000050c +3ffffe60: 3fffc278 40102134 3fffc200 00000022 +3ffffe70: 00000000 400042db 3fff87cc 40232616 +3ffffe80: 40004b31 3ffffec0 00000008 00060d3c +3ffffe90: 40105934 4024a5a0 00000001 00000000 +3ffffea0: 40100289 3ffffec0 00000001 3fff43a4 +3ffffeb0: 4025e230 ffff9c44 00060d3c 4020cc80 +3ffffec0: 00000000 00000000 400205e9 40100250 +3ffffed0: 4025164b 00000001 00000000 3fff43f8 +3ffffee0: 0006ba50 00000000 00000001 4020da04 +3ffffef0: 00000000 3fff42dc 4020e890 3fffefa0 +3fffff00: 03fa5a79 3fffdad0 00000064 3fff44e8 +3fffff10: 3fff4a78 3fff43f8 3fff4a38 4021d2bb +3fffff20: 00000001 3fff426c 3fff426c 402171c7 +3fffff30: 4024f6de 3fff4994 3fff260c 00000001 +3fffff40: 402508a7 40224708 1301a8c0 4021c658 +3fffff50: 3fff7bd4 40216e98 3fff4004 4020c905 +3fffff60: 00000000 3fff4544 3ffe9714 3fff44e8 +3fffff70: 3fffdad0 3fff260c 3fff4a38 4021d5e8 +3fffff80: 3fffdad0 3fff260c 3fff4004 4020c938 +3fffff90: 3fffdad0 00000000 3fff260c 40205be8 +3fffffa0: 3fffdad0 00000000 3fff44b8 4020e940 +3fffffb0: feefeffe feefeffe 3ffe9714 401006f1 << Date: Sun, 26 May 2019 12:23:50 +0200 Subject: [PATCH 21/66] merge Junkers Tx logic --- CHANGELOG.md | 15 ++++++++----- lib/MyESP/MyESP.cpp | 2 +- src/ems-esp.cpp | 6 ++--- src/ems.cpp | 27 +++++++++++++++-------- src/ems.h | 1 + src/emsuart.cpp | 53 ++++++++++++++++++++++++++++++--------------- src/emsuart.h | 11 +++++----- src/version.h | 2 +- 8 files changed, 76 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 39e4e9b83..169574802 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,20 +5,25 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.8.0dev] 2019- +## [1.8.0dev] 2019-05-26 ### Added - MM50 Mixer +- tx_delay takes a value from 0 to 3 for the different Tx logic + + 0 = original classic ems logic + + 1 = @kwertie01 ems+ logic (https://github.com/proddy/EMS-ESP/issues/23#issuecomment-476872291) + + 2 = @susisstrolch logic [(pull request 113)](https://github.com/proddy/EMS-ESP/pull/113) + + 3 = @philrich logic for Junkers (https://github.com/proddy/EMS-ESP/files/3190563/ems-delay-rev-poll.patch.txt) ### Fixed - runtime exceptions with latest 2.5.1 arduino core -### Changed - -- Improved Tx code, by @Susis Strolch [(pull request 113)](https://github.com/proddy/EMS-ESP/pull/113). Use `set_txdelay 2` - ## [1.7.0] 2019-05-11 ### Added diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 5163c72f5..2cdd138f9 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -496,7 +496,7 @@ void MyESP::_consoleShowHelp() { } else { myDebug_P(PSTR("* Hostname: %s (%s)"), _getESPhostname().c_str(), WiFi.localIP().toString().c_str()); myDebug_P(PSTR("* WiFi SSID: %s (signal %d%%)"), WiFi.SSID().c_str(), getWifiQuality()); - myDebug_P(PSTR("* MQTT is %s"), mqttClient.connected() ? "connected" : "disconnected"); + myDebug_P(PSTR("* MQTT %s"), mqttClient.connected() ? "connected" : "disconnected"); } myDebug_P(PSTR("*")); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index f8e21cf31..548747178 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -106,7 +106,7 @@ command_t project_cmds[] = { {true, "shower_alert ", "send a warning of cold water after shower time is exceeded"}, {true, "publish_wait ", "set frequency for publishing to MQTT"}, {true, "heating_circuit <1 | 2>", "set the thermostat HC to work with if using multiple heating circuits"}, - {true, "tx_delay ", "0=normal, 1=ems+, 2=new logic"}, + {true, "tx_delay ", "0=classic ems logic, 1=@kwertie01 ems+ logic, 2=@susisstrolch logic, 3=@philrich logic for Junkers"}, {false, "info", "show data captured on the EMS bus"}, {false, "log ", "set logging mode to none, basic, thermostat only, raw or verbose"}, @@ -339,10 +339,10 @@ void showInfo() { if (ems_getBusConnected()) { myDebug_P(PSTR(" Bus is connected")); - myDebug_P(PSTR(" Rx: Poll=%d microsecs, # Rx telegrams read=%d, # CRC errors=%d"), ems_getPollFrequency(), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); + myDebug_P(PSTR(" Rx: Poll=%d microseconds, # Rx telegrams read=%d, # CRC errors=%d"), ems_getPollFrequency(), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); if (ems_getTxCapable()) { - myDebug_P(PSTR(" Tx: available, Tx delay is %d, # Tx telegrams sent=%d"), ems_getTxDelay(), EMS_Sys_Status.emsTxPkgs); + myDebug_P(PSTR(" Tx: available, Tx delay is %d, # successful write commands=%d"), ems_getTxDelay(), EMS_Sys_Status.emsTxPkgs); } else { myDebug_P(PSTR(" Tx: no signal")); } diff --git a/src/ems.cpp b/src/ems.cpp index 7242fdea7..08d097588 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -221,6 +221,7 @@ void ems_init() { EMS_Sys_Status.emsPollFrequency = 0; EMS_Sys_Status.txRetryCount = 0; EMS_Sys_Status.emsTxDelay = 0; + EMS_Sys_Status.emsReverse = false; // thermostat EMS_Thermostat.setpoint_roomTemp = EMS_VALUE_SHORT_NOTSET; @@ -331,6 +332,13 @@ bool ems_getPoll() { void ems_setTxDelay(uint8_t delay) { EMS_Sys_Status.emsTxDelay = delay; + + // special case for Junkers. If tx_delay is 3 then set the reverse poll flag + // https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495945850 + if (delay == 3) { + EMS_Sys_Status.emsReverse = true; + myDebug_P(PSTR("Setting for Tx Junkers logic and enabled the poll reverse flag")); + } } uint8_t ems_getTxDelay() { @@ -557,8 +565,9 @@ void _ems_sendTelegram() { return; } - // create header - EMS_TxTelegram.data[0] = EMS_ID_ME; // src + // create the header + EMS_TxTelegram.data[0] = (EMS_Sys_Status.emsReverse) ? EMS_ID_ME | 0x80 : EMS_ID_ME; // src + // dest if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_WRITE) { EMS_TxTelegram.data[1] = EMS_TxTelegram.dest; @@ -672,9 +681,10 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { // create the Rx package static _EMS_RxTelegram EMS_RxTelegram; static uint32_t _last_emsPollFrequency = 0; - EMS_RxTelegram.telegram = telegram; - EMS_RxTelegram.timestamp = millis(); - EMS_RxTelegram.length = length; + + EMS_RxTelegram.telegram = telegram; + EMS_RxTelegram.timestamp = millis(); + EMS_RxTelegram.length = length; // check if we just received a single byte // it could well be a Poll request from the boiler for us, which will have a value of 0x8B (0x0B | 0x80) @@ -684,12 +694,11 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); _last_emsPollFrequency = timenow_microsecs; - // check first for a Poll for us uint8_t value = telegram[0]; // 1st byte of data package - if ((value & 0x7F) == EMS_ID_ME) { - EMS_Sys_Status.emsTxCapable = true; - + // check first for a Poll for us + // the poll has the MSB set - seems to work on both EMS and Junkers + if (value == (EMS_ID_ME | 0x80)) { // do we have something to send thats waiting in the Tx queue? // if so send it if the Queue is not in a wait state if ((!EMS_TxQueue.isEmpty()) && (EMS_Sys_Status.emsTxStatus == EMS_TX_STATUS_IDLE)) { diff --git a/src/ems.h b/src/ems.h index edb8fbd1e..34925146e 100644 --- a/src/ems.h +++ b/src/ems.h @@ -95,6 +95,7 @@ typedef struct { bool emsTxDisabled; // true to prevent all Tx uint8_t txRetryCount; // # times the last Tx was re-sent uint8_t emsTxDelay; // handles Tx logic + bool emsReverse; // if true, poll logic is reversed } _EMS_Sys_Status; // The Tx send package diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 536572155..01b84cb75 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -175,7 +175,11 @@ void ICACHE_FLASH_ATTR emsuart_tx_brk() { // automatically be sent when the tx fifo is empty tmp = (1 << UCBRK); USC0(EMSUART_UART) |= (tmp); // set bit - delayMicroseconds(EMSUART_TX_BRK_WAIT); + if (EMS_Sys_Status.emsTxDelay <= 2) { + delayMicroseconds(EMSUART_TX_BRK_WAIT); // classic mode + } else if (EMS_Sys_Status.emsTxDelay == 3) { + delayMicroseconds(EMSUART_TX_WAIT_BRK - EMSUART_TX_LAG); // 1144 (11 Bits) + } USC0(EMSUART_UART) &= ~(tmp); // clear bit } @@ -193,21 +197,32 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { * Send to Tx, ending with a */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { - // backwards compatibility - if (EMS_Sys_Status.emsTxDelay < 2) { + if (EMS_Sys_Status.emsTxDelay == 0) { // Classic logic + for (uint8_t i = 0; i < len; i++) { + USF(EMSUART_UART) = buf[i]; + } + emsuart_tx_brk(); // send + } else if (EMS_Sys_Status.emsTxDelay == 1) { // With extra tx delay for EMS+ + for (uint8_t i = 0; i < len; i++) { + USF(EMSUART_UART) = buf[i]; + delayMicroseconds(EMSUART_TX_BRK_WAIT); // https://github.com/proddy/EMS-ESP/issues/23# + } + emsuart_tx_brk(); // send + } else if (EMS_Sys_Status.emsTxDelay == 3) { // Junkers logic by @philrich for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; - // check if we need to force a delay to slow down Tx - // https://github.com/proddy/EMS-ESP/issues/23# - if (EMS_Sys_Status.emsTxDelay == 1) { - delayMicroseconds(EMSUART_TX_BRK_WAIT); - } + // just to be safe wait for tx fifo empty (needed?) + while (((USS(EMSUART_UART) >> USTXC) & 0xff) != 0) + ; + + // wait until bits are sent on wire + delayMicroseconds(EMSUART_TX_WAIT_BYTE - EMSUART_TX_LAG + EMSUART_TX_WAIT_GAP); } - emsuart_tx_brk(); // send - } else { - /* smart Tx - take two - https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch - * changed logic... + emsuart_tx_brk(); // send + } else if (EMS_Sys_Status.emsTxDelay == 2) { // smart Tx - take two - https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch + + /* * we emit the whole telegram, with Rx interrupt disabled, collecting busmaster response in FIFO. * after sending the last char we poll the Rx status until either * - size(Rx FIFO) == size(Tx-Telegram) @@ -227,8 +242,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { } // wait until we received sizeof(telegram) or RxBRK (== collision detect) - // while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || !(USIS(EMSUART_UART) & (1 << UIBD))) - while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (U0IS & (1 << UIBD))) { + while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (USIS(EMSUART_UART) & (1 << UIBD))) { delayMicroseconds(11 * EMSUART_BIT_TIME); // burn CPU cycles... } @@ -236,7 +250,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // on Rx-BRK (bus collision), we simply enable Rx and leave // otherwise, we send the final Tx-BRK in loopback and enable Rx-INT. // worst case, we'll see an additional Rx-BRK... - if (!(U0IS & (1 << UIBD))) { + if (!(USIS(EMSUART_UART) & (1 << UIBD))) { // no bus collision - send terminating BRK signal emsuart_loopback(true); USC0(EMSUART_UART) |= (1 << UCBRK); // set @@ -260,6 +274,11 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { * Send the Poll (our own ID) to Tx as a single byte and end with a */ void ICACHE_FLASH_ATTR emsuart_tx_poll() { - static uint8_t buf[] = {EMS_ID_ME}; + static uint8_t buf[1]; + if (EMS_Sys_Status.emsReverse) { + buf[0] = {EMS_ID_ME | 0x80}; + } else { + buf[0] = {EMS_ID_ME}; + } emsuart_tx_buffer(buf, 1); -} \ No newline at end of file +} diff --git a/src/emsuart.h b/src/emsuart.h index c01803cda..dce0bf761 100644 --- a/src/emsuart.h +++ b/src/emsuart.h @@ -16,11 +16,12 @@ #define EMS_MAXBUFFERS 10 // 4 buffers for circular filling to avoid collisions #define EMS_MAXBUFFERSIZE 32 // max size of the buffer. packets are max 32 bytes -// this is how long we drop the Tx signal to create a 11-bit Break of zeros (BRK) -// At 9600 baud, 11 bits will be 1144 microseconds -// the BRK from Boiler master is roughly 1.039ms, so accounting for hardware lag using around 2078 (for half-duplex) - 8 (lag) -#define EMSUART_TX_BRK_WAIT 2070 -#define EMSUART_BIT_TIME 104 // bit time @9600 baud +#define EMSUART_TX_BRK_WAIT 2070 // the BRK from Boiler master is roughly 1.039ms, so accounting for hardware lag using around 2078 (for half-duplex) - 8 (lag) +#define EMSUART_BIT_TIME 104 // bit time @9600 baud +#define EMSUART_TX_WAIT_BYTE EMSUART_BIT_TIME * 10 // Time to send one Byte (8 Bits, 1 Start Bit, 1 Stop Bit) +#define EMSUART_TX_WAIT_BRK EMSUART_BIT_TIME * 11 // Time to send a BRK Signal (11 Bit) +#define EMSUART_TX_WAIT_GAP EMSUART_BIT_TIME * 7 // Gap between to Bytes +#define EMSUART_TX_LAG 8 // Assumed Lag #define EMSUART_recvTaskPrio 1 #define EMSUART_recvTaskQueueLen 64 diff --git a/src/version.h b/src/version.h index b71406fcb..607408915 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b3" +#define APP_VERSION "1.8.0b4" #define APP_HOSTNAME "ems-esp" From 4651987da8f6d0517be321ecd0674c597d0910eb Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 26 May 2019 15:56:00 +0200 Subject: [PATCH 22/66] tx_mode = tx_delay --- CHANGELOG.md | 2 +- lib/MyESP/MyESP.cpp | 2 +- src/ems-esp.cpp | 24 +++++++++++++----------- src/ems.cpp | 30 ++++++++++++++++-------------- src/ems.h | 6 +++--- src/emsuart.cpp | 12 ++++++------ src/version.h | 2 +- 7 files changed, 41 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 169574802..d257e76e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - MM50 Mixer -- tx_delay takes a value from 0 to 3 for the different Tx logic +- tx_mode takes a value from 0 to 3 for the different Tx logic 0 = original classic ems logic diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 2cdd138f9..e0e3f644d 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -1186,7 +1186,7 @@ void MyESP::_fs_eraseConfig() { "automatically restart when finished.")); if (SPIFFS.format()) { - delay(1000); // wait 1 seconds + delay(1000); // wait 1 second resetESP(); } } diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 548747178..d10774d31 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -106,7 +106,7 @@ command_t project_cmds[] = { {true, "shower_alert ", "send a warning of cold water after shower time is exceeded"}, {true, "publish_wait ", "set frequency for publishing to MQTT"}, {true, "heating_circuit <1 | 2>", "set the thermostat HC to work with if using multiple heating circuits"}, - {true, "tx_delay ", "0=classic ems logic, 1=@kwertie01 ems+ logic, 2=@susisstrolch logic, 3=@philrich logic for Junkers"}, + {true, "tx_mode ", "0=classic ems logic, 1=@kwertie01 ems+ logic, 2=@susisstrolch logic, 3=@philrich logic for Junkers"}, {false, "info", "show data captured on the EMS bus"}, {false, "log ", "set logging mode to none, basic, thermostat only, raw or verbose"}, @@ -338,11 +338,13 @@ void showInfo() { if (ems_getBusConnected()) { myDebug_P(PSTR(" Bus is connected")); - - myDebug_P(PSTR(" Rx: Poll=%d microseconds, # Rx telegrams read=%d, # CRC errors=%d"), ems_getPollFrequency(), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); + myDebug_P(PSTR(" Rx: # successful read requests=%d, # CRC errors=%d"), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); if (ems_getTxCapable()) { - myDebug_P(PSTR(" Tx: available, Tx delay is %d, # successful write commands=%d"), ems_getTxDelay(), EMS_Sys_Status.emsTxPkgs); + char valuestr[8] = {0}; // for formatting floats + myDebug_P(PSTR(" Tx: Last poll=%s seconds ago, Tx mode=%d, # successful write requests=%d"), + _float_to_char(valuestr, (ems_getPollFrequency() / (float)1000000), 3), + EMS_Sys_Status.emsTxPkgs); } else { myDebug_P(PSTR(" Tx: no signal")); } @@ -1020,8 +1022,8 @@ bool FSCallback(MYESP_FSACTION action, const JsonObject json) { // shower_alert EMSESP_Status.shower_alert = json["shower_alert"]; - // tx delay - ems_setTxDelay(json["tx_delay"]); + // tx mode + ems_setTxMode(json["tx_mode"]); // publish_wait if (!(EMSESP_Status.publish_wait = json["publish_wait"])) { @@ -1049,7 +1051,7 @@ bool FSCallback(MYESP_FSACTION action, const JsonObject json) { json["shower_alert"] = EMSESP_Status.shower_alert; json["publish_wait"] = EMSESP_Status.publish_wait; json["heating_circuit"] = EMSESP_Status.heating_circuit; - json["tx_delay"] = ems_getTxDelay(); + json["tx_mode"] = ems_getTxMode(); return true; } @@ -1180,9 +1182,9 @@ bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, c } } - // tx delay - if ((strcmp(setting, "tx_delay") == 0) && (wc == 2)) { - ems_setTxDelay(atoi(value)); + // tx delay/ tx mode + if (((strcmp(setting, "tx_mode") == 0) || (strcmp(setting, "tx_delay") == 0)) && (wc == 2)) { + ems_setTxMode(atoi(value)); ok = true; } } @@ -1211,7 +1213,7 @@ bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, c myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Status.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Status.shower_alert ? "on" : "off"); myDebug_P(PSTR(" publish_wait=%d"), EMSESP_Status.publish_wait); - myDebug_P(PSTR(" tx_delay=%d"), ems_getTxDelay()); + myDebug_P(PSTR(" tx_mode=%d"), ems_getTxMode()); } return ok; diff --git a/src/ems.cpp b/src/ems.cpp index 08d097588..42e9dee0c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -199,9 +199,9 @@ const uint8_t ems_crc_table[] = {0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0xA1, 0xA3, 0xA5, 0xA7, 0xD9, 0xDB, 0xDD, 0xDF, 0xD1, 0xD3, 0xD5, 0xD7, 0xC9, 0xCB, 0xCD, 0xCF, 0xC1, 0xC3, 0xC5, 0xC7, 0xF9, 0xFB, 0xFD, 0xFF, 0xF1, 0xF3, 0xF5, 0xF7, 0xE9, 0xEB, 0xED, 0xEF, 0xE1, 0xE3, 0xE5, 0xE7}; -const uint8_t TX_WRITE_TIMEOUT_COUNT = 2; // 3 retries before timeout -const uint32_t EMS_BUS_TIMEOUT = 15000; // timeout in ms before recognizing the ems bus is offline (15 seconds) -const uint32_t EMS_POLL_TIMEOUT = 5000; // timeout in ms before recognizing the ems bus is offline (5 seconds) +const uint8_t TX_WRITE_TIMEOUT_COUNT = 2; // 3 retries before timeout +const uint32_t EMS_BUS_TIMEOUT = 15000; // timeout in ms before recognizing the ems bus is offline (15 seconds) +const uint32_t EMS_POLL_TIMEOUT = 5000000; // timeout in microseconds before recognizing the ems bus is offline (5 seconds) // init stats and counters and buffers // uses -255 or 255 for values that haven't been set yet (EMS_VALUE_INT_NOTSET and EMS_VALUE_FLOAT_NOTSET) @@ -220,7 +220,7 @@ void ems_init() { EMS_Sys_Status.emsTxDisabled = false; EMS_Sys_Status.emsPollFrequency = 0; EMS_Sys_Status.txRetryCount = 0; - EMS_Sys_Status.emsTxDelay = 0; + EMS_Sys_Status.emsTxMode = 0; EMS_Sys_Status.emsReverse = false; // thermostat @@ -330,19 +330,19 @@ bool ems_getPoll() { return EMS_Sys_Status.emsPollEnabled; } -void ems_setTxDelay(uint8_t delay) { - EMS_Sys_Status.emsTxDelay = delay; +void ems_setTxMode(uint8_t mode) { + EMS_Sys_Status.emsTxMode = mode; - // special case for Junkers. If tx_delay is 3 then set the reverse poll flag + // special case for Junkers. If tx_mode is 3 then set the reverse poll flag // https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495945850 - if (delay == 3) { + if (mode == 3) { EMS_Sys_Status.emsReverse = true; myDebug_P(PSTR("Setting for Tx Junkers logic and enabled the poll reverse flag")); } } -uint8_t ems_getTxDelay() { - return EMS_Sys_Status.emsTxDelay; +uint8_t ems_getTxMode() { + return EMS_Sys_Status.emsTxMode; } bool ems_getEmsRefreshed() { @@ -690,15 +690,17 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { // it could well be a Poll request from the boiler for us, which will have a value of 0x8B (0x0B | 0x80) // or either a return code like 0x01 or 0x04 from the last Write command if (length == 1) { - uint32_t timenow_microsecs = micros(); - EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); - _last_emsPollFrequency = timenow_microsecs; - uint8_t value = telegram[0]; // 1st byte of data package // check first for a Poll for us // the poll has the MSB set - seems to work on both EMS and Junkers if (value == (EMS_ID_ME | 0x80)) { + + EMS_Sys_Status.emsTxCapable = true; + uint32_t timenow_microsecs = micros(); + EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); + _last_emsPollFrequency = timenow_microsecs; + // do we have something to send thats waiting in the Tx queue? // if so send it if the Queue is not in a wait state if ((!EMS_TxQueue.isEmpty()) && (EMS_Sys_Status.emsTxStatus == EMS_TX_STATUS_IDLE)) { diff --git a/src/ems.h b/src/ems.h index 34925146e..447720ab4 100644 --- a/src/ems.h +++ b/src/ems.h @@ -94,7 +94,7 @@ typedef struct { bool emsTxCapable; // able to send via Tx bool emsTxDisabled; // true to prevent all Tx uint8_t txRetryCount; // # times the last Tx was re-sent - uint8_t emsTxDelay; // handles Tx logic + uint8_t emsTxMode; // handles Tx logic bool emsReverse; // if true, poll logic is reversed } _EMS_Sys_Status; @@ -302,7 +302,7 @@ void ems_setFlowTemp(uint8_t temperature); void ems_setWarmWaterActivated(bool activated); void ems_setWarmTapWaterActivated(bool activated); void ems_setPoll(bool b); -void ems_setTxDelay(uint8_t delay); +void ems_setTxMode(uint8_t mode); void ems_setLogging(_EMS_SYS_LOGGING loglevel); void ems_setEmsRefreshed(bool b); void ems_setWarmWaterModeComfort(uint8_t comfort); @@ -317,7 +317,7 @@ bool ems_getPoll(); bool ems_getTxEnabled(); bool ems_getThermostatEnabled(); bool ems_getBoilerEnabled(); -uint8_t ems_getTxDelay(); +uint8_t ems_getTxMode(); bool ems_getBusConnected(); _EMS_SYS_LOGGING ems_getLogging(); bool ems_getEmsRefreshed(); diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 01b84cb75..133640a5c 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -175,9 +175,9 @@ void ICACHE_FLASH_ATTR emsuart_tx_brk() { // automatically be sent when the tx fifo is empty tmp = (1 << UCBRK); USC0(EMSUART_UART) |= (tmp); // set bit - if (EMS_Sys_Status.emsTxDelay <= 2) { + if (EMS_Sys_Status.emsTxMode <= 2) { delayMicroseconds(EMSUART_TX_BRK_WAIT); // classic mode - } else if (EMS_Sys_Status.emsTxDelay == 3) { + } else if (EMS_Sys_Status.emsTxMode == 3) { delayMicroseconds(EMSUART_TX_WAIT_BRK - EMSUART_TX_LAG); // 1144 (11 Bits) } USC0(EMSUART_UART) &= ~(tmp); // clear bit @@ -197,18 +197,18 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { * Send to Tx, ending with a */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { - if (EMS_Sys_Status.emsTxDelay == 0) { // Classic logic + if (EMS_Sys_Status.emsTxMode == 0) { // Classic logic for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; } emsuart_tx_brk(); // send - } else if (EMS_Sys_Status.emsTxDelay == 1) { // With extra tx delay for EMS+ + } else if (EMS_Sys_Status.emsTxMode == 1) { // With extra tx delay for EMS+ for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; delayMicroseconds(EMSUART_TX_BRK_WAIT); // https://github.com/proddy/EMS-ESP/issues/23# } emsuart_tx_brk(); // send - } else if (EMS_Sys_Status.emsTxDelay == 3) { // Junkers logic by @philrich + } else if (EMS_Sys_Status.emsTxMode == 3) { // Junkers logic by @philrich for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; @@ -220,7 +220,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { delayMicroseconds(EMSUART_TX_WAIT_BYTE - EMSUART_TX_LAG + EMSUART_TX_WAIT_GAP); } emsuart_tx_brk(); // send - } else if (EMS_Sys_Status.emsTxDelay == 2) { // smart Tx - take two - https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch + } else if (EMS_Sys_Status.emsTxMode == 2) { // smart Tx - take two - https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch /* * we emit the whole telegram, with Rx interrupt disabled, collecting busmaster response in FIFO. diff --git a/src/version.h b/src/version.h index 607408915..7a47bf9cb 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b4" +#define APP_VERSION "1.8.0b5" #define APP_HOSTNAME "ems-esp" From dfb3ae856cdea5bb1c0bcb4c62d7be69c6f6e31b Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 26 May 2019 17:43:11 +0200 Subject: [PATCH 23/66] added support for heatpumps --- CHANGELOG.md | 1 + src/ems-esp.cpp | 55 ++++++++++++++++++++++++++++++++++++++--------- src/ems.cpp | 40 ++++++++++++++++++++++++++++++---- src/ems.h | 6 +++++- src/ems_devices.h | 2 ++ src/my_config.h | 5 +++++ src/test_data.h | 6 +++++- src/version.h | 2 +- 8 files changed, 100 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d257e76e9..2e8bd4f69 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- HeatPump (e.g. Nefit Enviline) - MM50 Mixer - tx_mode takes a value from 0 to 3 for the different Tx logic diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index d10774d31..477bca03e 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -110,6 +110,11 @@ command_t project_cmds[] = { {false, "info", "show data captured on the EMS bus"}, {false, "log ", "set logging mode to none, basic, thermostat only, raw or verbose"}, + +#ifdef TESTS + {false, "test ", "insert a test telegram on to the EMS bus"}, +#endif + {false, "publish", "publish all values to MQTT"}, {false, "refresh", "fetch values from the EMS devices"}, {false, "devices", "list all supported and detected EMS devices and types IDs"}, @@ -449,13 +454,21 @@ void showInfo() { if (EMS_Other.SM) { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sSolar Module stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); - _renderShortValue(" Collector temperature", "C", EMS_Other.SMcollectorTemp); - _renderShortValue(" Bottom temperature", "C", EMS_Other.SMbottomTemp); - _renderIntValue(" Pump modulation", "%", EMS_Other.SMpumpModulation); - _renderBoolValue(" Pump active", EMS_Other.SMpump); - _renderShortValue(" Energy Last Hour", "Wh", EMS_Other.SMEnergyLastHour, 1); // *10 - _renderShortValue(" Energy Today", "Wh", EMS_Other.SMEnergyToday, 0); - _renderShortValue(" Energy Total", "kWH", EMS_Other.SMEnergyTotal, 1); // *10 + _renderShortValue("Collector temperature", "C", EMS_Other.SMcollectorTemp); + _renderShortValue("Bottom temperature", "C", EMS_Other.SMbottomTemp); + _renderIntValue("Pump modulation", "%", EMS_Other.SMpumpModulation); + _renderBoolValue("Pump active", EMS_Other.SMpump); + _renderShortValue("Energy Last Hour", "Wh", EMS_Other.SMEnergyLastHour, 1); // *10 + _renderShortValue("Energy Today", "Wh", EMS_Other.SMEnergyToday, 0); + _renderShortValue("Energy Total", "kWH", EMS_Other.SMEnergyTotal, 1); // *10 + } + + // For HeatPumps + if (EMS_Other.HP) { + myDebug_P(PSTR("")); // newline + myDebug_P(PSTR("%sHeat Pump stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); + _renderIntValue("Pump modulation", "%", EMS_Other.HPModulation); + _renderIntValue("Pump speed", "%", EMS_Other.HPSpeed); } // Thermostat stats @@ -567,6 +580,7 @@ void publishSensorValues() { // CRC check is done to see if there are changes in the values since the last send to avoid too much wifi traffic // a check is done against the previous values and if there are changes only then they are published. Unless force=true void publishValues(bool force) { + // don't send if MQTT is connected if (!myESP.isMQTTConnected()) { return; @@ -751,6 +765,7 @@ void publishValues(bool force) { } // handle the other values separately + // For SM10 and SM100 Solar Modules if (EMS_Other.SM) { // build new json object @@ -796,6 +811,27 @@ void publishValues(bool force) { myESP.mqttPublish(TOPIC_SM_DATA, data); } } + + // handle HeatPump + if (EMS_Other.HP) { + // build new json object + doc.clear(); + JsonObject rootSM = doc.to(); + + if (EMS_Other.HPModulation != EMS_VALUE_INT_NOTSET) + rootSM[HP_PUMPMODULATION] = EMS_Other.HPModulation; + + if (EMS_Other.HPSpeed != EMS_VALUE_INT_NOTSET) + rootSM[HP_PUMPSPEED] = EMS_Other.HPSpeed; + + data[0] = '\0'; // reset data for next package + serializeJson(doc, data, sizeof(data)); + + myDebugLog("Publishing HeatPump data via MQTT"); + + // send values via MQTT + myESP.mqttPublish(TOPIC_HP_DATA, data); + } } // sets the shower timer on/off @@ -977,7 +1013,7 @@ void runUnitTest(uint8_t test_num) { publishValuesTimer.detach(); systemCheckTimer.detach(); regularUpdatesTimer.detach(); - EMSESP_Status.listen_mode = true; // temporary go into listen mode to disable Tx + // EMSESP_Status.listen_mode = true; // temporary go into listen mode to disable Tx ems_testTelegram(test_num); } @@ -1092,7 +1128,7 @@ bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, c EMSESP_Status.listen_mode = false; ok = true; ems_setTxDisabled(false); - myDebug_P(PSTR("* out of listen mode. Tx is enabled.")); + myDebug_P(PSTR("* out of listen mode. Tx is now enabled.")); } else { myDebug_P(PSTR("Error. Usage: set listen_mode ")); } @@ -1451,7 +1487,6 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if ((hc >= 1) && (hc <= 2)) { EMSESP_Status.heating_circuit = hc; ems_setThermostatHC(hc); - // TODO: save setting to SPIFFS?? } } diff --git a/src/ems.cpp b/src/ems.cpp index 42e9dee0c..9a39bfdc1 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -50,7 +50,6 @@ void _process_UBAMonitorWWMessage(_EMS_RxTelegram * EMS_RxTelegram); void _process_UBAParameterWW(_EMS_RxTelegram * EMS_RxTelegram); void _process_UBATotalUptimeMessage(_EMS_RxTelegram * EMS_RxTelegram); void _process_UBAParametersMessage(_EMS_RxTelegram * EMS_RxTelegram); - void _process_SetPoints(_EMS_RxTelegram * EMS_RxTelegram); // SM10 @@ -62,6 +61,10 @@ void _process_SM100Status(_EMS_RxTelegram * EMS_RxTelegram); void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram); void _process_SM100Energy(_EMS_RxTelegram * EMS_RxTelegram); +// HeatPump HP +void _process_HPMonitor1(_EMS_RxTelegram * EMS_RxTelegram); +void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram); + // Common for most thermostats void _process_RCTime(_EMS_RxTelegram * EMS_RxTelegram); void _process_RCOutdoorTempMessage(_EMS_RxTelegram * EMS_RxTelegram); @@ -120,6 +123,8 @@ const _EMS_Type EMS_Types[] = { {EMS_MODEL_OTHER, EMS_TYPE_SM100Status, "SM100Status", _process_SM100Status}, {EMS_MODEL_OTHER, EMS_TYPE_SM100Status2, "SM100Status2", _process_SM100Status2}, {EMS_MODEL_OTHER, EMS_TYPE_SM100Energy, "SM100Energy", _process_SM100Energy}, + {EMS_MODEL_OTHER, EMS_TYPE_HPMonitor1, "HeatPumpMonitor1", _process_HPMonitor1}, + {EMS_MODEL_OTHER, EMS_TYPE_HPMonitor2, "HeatPumpMonitor2", _process_HPMonitor2}, // RC10 {EMS_MODEL_RC10, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, @@ -299,6 +304,8 @@ void ems_init() { EMS_Other.SMEnergyLastHour = EMS_VALUE_SHORT_NOTSET; EMS_Other.SMEnergyToday = EMS_VALUE_SHORT_NOTSET; EMS_Other.SMEnergyTotal = EMS_VALUE_SHORT_NOTSET; + EMS_Other.HPModulation = EMS_VALUE_INT_NOTSET; + EMS_Other.HPSpeed = EMS_VALUE_INT_NOTSET; // calculated values EMS_Boiler.tapwaterActive = EMS_VALUE_INT_NOTSET; // Hot tap water is on/off @@ -315,6 +322,7 @@ void ems_init() { // set other types EMS_Other.SM = false; + EMS_Other.HP = false; // default logging is none ems_setLogging(EMS_SYS_LOGGING_DEFAULT); @@ -695,7 +703,6 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { // check first for a Poll for us // the poll has the MSB set - seems to work on both EMS and Junkers if (value == (EMS_ID_ME | 0x80)) { - EMS_Sys_Status.emsTxCapable = true; uint32_t timenow_microsecs = micros(); EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); @@ -1427,10 +1434,9 @@ void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram) { /* * SM100Energy - type 0x028E EMS+ for energy readings + * e.g. 30 00 FF 00 02 8E 00 00 00 00 00 00 06 C5 00 00 76 35 */ void _process_SM100Energy(_EMS_RxTelegram * EMS_RxTelegram) { - // e.g. 30 00 FF 00 02 8E 00 00 00 00 00 00 06 C5 00 00 76 35 - EMS_Other.SMEnergyLastHour = _toShort(2); // last hour / 10 in Wh EMS_Other.SMEnergyToday = _toShort(6); // todays in Wh EMS_Other.SMEnergyTotal = _toShort(10); // total / 10 in kWh @@ -1439,6 +1445,26 @@ void _process_SM100Energy(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT } +/* + * Type 0xE3 - HeatPump Monitor 1 + */ +void _process_HPMonitor1(_EMS_RxTelegram * EMS_RxTelegram) { + EMS_Other.HPModulation = _toByte(14); // modulation % + + EMS_Other.HP = true; + EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT +} + +/* + * Type 0xE5 - HeatPump Monitor 2 + */ +void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram) { + EMS_Other.HPSpeed = _toByte(25); // speed % + + EMS_Other.HP = true; + EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT +} + /** * UBASetPoint 0x1A */ @@ -1631,6 +1657,12 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { myDebug_P(PSTR("SM10 Solar Module support enabled.")); } + // see if this is a HeatPump + if (Other_Types[i].device_id == EMS_ID_HP) { + EMS_Other.HP = true; // we have detected a HP + myDebug_P(PSTR("HeatPump support enabled.")); + } + // fetch other values ems_getOtherValues(); return; diff --git a/src/ems.h b/src/ems.h index 447720ab4..d40d90dd4 100644 --- a/src/ems.h +++ b/src/ems.h @@ -18,6 +18,7 @@ #define EMS_ID_ME 0x0B // Fixed - our device, hardcoded as the "Service Key" #define EMS_ID_DEFAULT_BOILER 0x08 #define EMS_ID_SM 0x30 // Solar Module SM10 and SM100 +#define EMS_ID_HP 0x38 // HeatPump #define EMS_ID_GATEWAY 0x48 // KM200 Web Gateway #define EMS_MIN_TELEGRAM_LENGTH 6 // minimal length for a validation telegram, including CRC @@ -242,7 +243,8 @@ typedef struct { // UBAParameterWW // SM Solar Module - SM10Monitor/SM100Monitor typedef struct { - bool SM; // set true if there is a SM available + bool SM; // set true if there is a Solar Module available + bool HP; // set true if there is a Heat Pump available int16_t SMcollectorTemp; // collector temp int16_t SMbottomTemp; // bottom temp uint8_t SMpumpModulation; // modulation solar pump @@ -250,6 +252,8 @@ typedef struct { int16_t SMEnergyLastHour; int16_t SMEnergyToday; int16_t SMEnergyTotal; + uint8_t HPModulation; // heatpump modulation in % + uint8_t HPSpeed; // speed 0-100 % } _EMS_Other; // Thermostat data diff --git a/src/ems_devices.h b/src/ems_devices.h index 96261fb31..175749300 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -46,6 +46,8 @@ #define EMS_TYPE_SM100Status 0x0264 // SM100Status #define EMS_TYPE_SM100Status2 0x026A // SM100Status2 #define EMS_TYPE_SM100Energy 0x028E // SM100Energy +#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 +#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 /* * Thermostats... diff --git a/src/my_config.h b/src/my_config.h index b2713a2a0..c12218e00 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -58,6 +58,11 @@ #define SM_ENERGYTODAY "energytoday" // energy today #define SM_ENERGYTOTAL "energytotal" // energy total +// MQTT for HP (HeatPump) +#define TOPIC_HP_DATA "hp_data" // topic name +#define HP_PUMPMODULATION "pumpmodulation" // pump modulation +#define HP_PUMPSPEED "pumpspeed" // pump speed + // shower time #define TOPIC_SHOWERTIME "showertime" // for sending shower time results #define TOPIC_SHOWER_TIMER "shower_timer" // toggle switch for enabling the shower logic diff --git a/src/test_data.h b/src/test_data.h index 40b2b365c..30f9c3c31 100644 --- a/src/test_data.h +++ b/src/test_data.h @@ -46,7 +46,11 @@ static const char * TEST_DATA[] = { "10 48 F7 00 FF 01 A5 DF FF F7 7F 1F", // test 41 - gateway "30 00 FF 09 02 64 1E", // test 42 - SM100 "08 00 18 00 05 03 30 00 00 00 00 04 40 80 00 02 17 80 00 00 00 FF 30 48 00 CB 00 00 00", // test 43 - sys pressure - "90 00 FF 00 00 6F 03 01 00 BE 00 BF" // test 44 - FR10 + "90 00 FF 00 00 6F 03 01 00 BE 00 BF", // test 44 - FR10 + "08 00 E3 00 01 00 01 00 00 00 00 00 00 00 00 00 DF 00 64 55", // test 45 - heatpump Enviline + "08 00 E5 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A", // test 46 - heatpump Enviline + "38 10 FF 00 03 2B 00 C7 07 C3 01" // test 47 - heatpump Enviline + }; diff --git a/src/version.h b/src/version.h index 7a47bf9cb..8b82bbcc1 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b5" +#define APP_VERSION "1.8.0b6" #define APP_HOSTNAME "ems-esp" From 45741c774487aad105e7f53da5a79dca23cf1396 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 26 May 2019 17:57:35 +0200 Subject: [PATCH 24/66] https://github.com/proddy/EMS-ESP/issues/117 --- src/ems_devices.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 175749300..2b7627c0d 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -152,7 +152,7 @@ const _Boiler_Type Boiler_Types[] = { {EMS_MODEL_UBA, 72, 0x08, "MC10 Module"}, {EMS_MODEL_UBA, 123, 0x08, "Buderus GB172/Nefit Trendline"}, {EMS_MODEL_UBA, 115, 0x08, "Nefit Topline Compact/Buderus GB162"}, - {EMS_MODEL_UBA, 203, 0x08, "Buderus Logamax U122"}, + {EMS_MODEL_UBA, 203, 0x08, "Buderus Logamax U122/Junkers Cerapur"}, {EMS_MODEL_UBA, 208, 0x08, "Buderus Logamax plus/GB192"}, {EMS_MODEL_UBA, 64, 0x08, "Sieger BK15 Boiler/Nefit Smartline"}, {EMS_MODEL_UBA, 95, 0x08, "Bosch Condens 2500/Junkers Heatronics3"}, @@ -173,6 +173,7 @@ const _Other_Type Other_Types[] = { {EMS_MODEL_OTHER, 190, 0x09, "BC10 Base Controller"}, {EMS_MODEL_OTHER, 114, 0x09, "BC10 Base Controller"}, {EMS_MODEL_OTHER, 125, 0x09, "BC25 Base Controller"}, + {EMS_MODEL_OTHER, 152, 0x09, "Junkers Controller"}, {EMS_MODEL_OTHER, 205, 0x02, "Nefit Moduline Easy Connect"}, {EMS_MODEL_OTHER, 73, EMS_ID_SM, "SM10 Solar Module"}, {EMS_MODEL_OTHER, 163, EMS_ID_SM, "SM100 Solar Module"}, From 5479313e53fce47e2bc6fbfad3d89ea7d4fb9498 Mon Sep 17 00:00:00 2001 From: Susis Strolch Date: Mon, 27 May 2019 10:08:01 +0200 Subject: [PATCH 25/66] 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 --- src/emsuart.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 133640a5c..b9ca314ac 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -237,13 +237,13 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_flush_fifos(); // throw out the telegram... - for (uint8_t i = 0; i < len; i++) { - USF(EMSUART_UART) = buf[i]; // send each Tx byte - } + for (uint8_t i = 0; i < len;) { + USF(EMSUART_UART) = buf[i++]; // send each Tx byte + // wait for echo from busmaster + while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < i || (USIS(EMSUART_UART) & (1 << UIBD)))) { + delayMicroseconds(EMSUART_BIT_TIME); // burn CPU cycles... - // wait until we received sizeof(telegram) or RxBRK (== collision detect) - while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < len) || (USIS(EMSUART_UART) & (1 << UIBD))) { - delayMicroseconds(11 * EMSUART_BIT_TIME); // burn CPU cycles... + } } // we got the whole telegram in Rx buffer @@ -257,7 +257,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // wait until BRK detected... while (!(USIS(EMSUART_UART) & (1 << UIBD))) { - delayMicroseconds(EMSUART_BIT_TIME / 8); // ~13µs + delayMicroseconds(EMSUART_BIT_TIME); } USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear @@ -265,7 +265,8 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { emsuart_loopback(false); // disable loopback mode } - emsuart_flush_fifos(); // flush Rx buffer to be sure + // w/o flushing the Rx FIFO we will get a trailing \0 from our loopback BRK + // emsuart_flush_fifos(); // flush Rx buffer to be sure ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } } From 1bea0d9f622cc0f9f3605364c50f45fbceb941cf Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 27 May 2019 10:12:36 +0200 Subject: [PATCH 26/66] heatpump minor changes --- platformio.ini-dev | 46 ------------------------------------- platformio.ini-example | 52 ++++++++++++++++++++++++------------------ src/ems.cpp | 17 +++++++------- src/ems_devices.h | 1 + 4 files changed, 40 insertions(+), 76 deletions(-) delete mode 100644 platformio.ini-dev diff --git a/platformio.ini-dev b/platformio.ini-dev deleted file mode 100644 index 3c3506e75..000000000 --- a/platformio.ini-dev +++ /dev/null @@ -1,46 +0,0 @@ -; -; PlatformIO Project Configuration File for EMS-ESP -; Uses PlatformIO 4.0 (pio upgrade --dev) -; - -[platformio] -;env_default = release -env_default = debug - -[common] -; hard code if you prefer. Recommendation is to set from within the app when in Serial or AP mode -; wifi_settings = '-DWIFI_SSID="XXXX"' '-DWIFI_PASSWORD="XXXX"' -wifi_settings = - -[env] -board = d1_mini -; board = nodemcuv2 -; board = d1_mini_pro -framework = arduino -platform = espressif8266 -lib_deps = - CRC32 - CircularBuffer - JustWifi - AsyncMqttClient - ArduinoJson - OneWire - EEPROM_rotate -upload_speed = 921600 -monitor_speed = 115200 -upload_protocol = espota -upload_port = ems-esp.local - -[env:debug] -build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DCRASH -DTESTS ${common.wifi_settings} - -[env:clean] -extra_scripts = pre:scripts/clean_fw.py - -[env:release] -build_flags = -g -w -extra_scripts = pre:scripts/rename_fw.py - -[env:checkcode] -build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DCRASH -DTESTS -extra_scripts = scripts/checkcode.py diff --git a/platformio.ini-example b/platformio.ini-example index 00f68f0a4..ce9bdd37d 100644 --- a/platformio.ini-example +++ b/platformio.ini-example @@ -1,19 +1,23 @@ +; +; PlatformIO Project Configuration File for EMS-ESP +; Uses PlatformIO 4.0 (pio upgrade --dev) +; + [platformio] -; add here your board, e.g. nodemcuv2, d1_mini, d1_mini_pro -env_default = d1_mini +env_default = release +;env_default = debug [common] -flash_mode = dout - -build_flags = -g -w - -; for debug use these... -; build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DCRASH -DTESTS - -wifi_settings = ; hard code if you prefer. Recommendation is to set from within the app when in Serial or AP mode ; wifi_settings = '-DWIFI_SSID="XXXX"' '-DWIFI_PASSWORD="XXXX"' +wifi_settings = +[env] +board = d1_mini +; board = nodemcuv2 +; board = d1_mini_pro +framework = arduino +platform = espressif8266 lib_deps = CRC32 CircularBuffer @@ -22,17 +26,21 @@ lib_deps = ArduinoJson OneWire EEPROM_rotate - -[env:d1_mini] -board = d1_mini -platform = espressif8266 -framework = arduino -lib_deps = ${common.lib_deps} -build_flags = ${common.build_flags} ${common.wifi_settings} -board_build.flash_mode = ${common.flash_mode} upload_speed = 921600 monitor_speed = 115200 -; for OTA comment out these sections -;upload_protocol = espota -;upload_port = ems-esp.local -;upload_port = +upload_protocol = espota +upload_port = ems-esp.local + +[env:debug] +build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DCRASH -DTESTS ${common.wifi_settings} + +[env:clean] +extra_scripts = pre:scripts/clean_fw.py + +[env:release] +build_flags = -g -w +extra_scripts = pre:scripts/rename_fw.py + +[env:checkcode] +build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DCRASH -DTESTS +extra_scripts = scripts/checkcode.py diff --git a/src/ems.cpp b/src/ems.cpp index 9a39bfdc1..21e098d18 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -828,6 +828,8 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { strlcpy(output_str, "Thermostat", sizeof(output_str)); } else if (src == EMS_ID_SM) { strlcpy(output_str, "SM", sizeof(output_str)); + } else if (src == EMS_ID_HP) { + strlcpy(output_str, "HP", sizeof(output_str)); } else if (src == EMS_ID_GATEWAY) { strlcpy(output_str, "Gateway", sizeof(output_str)); } else { @@ -850,6 +852,9 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { } else if (dest == EMS_ID_SM) { strlcat(output_str, "SM", sizeof(output_str)); strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); + } else if (dest == EMS_ID_HP) { + strlcat(output_str, "HP", sizeof(output_str)); + strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); } else if (dest == EMS_ID_GATEWAY) { strlcat(output_str, "Gateway", sizeof(output_str)); strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); @@ -914,13 +919,6 @@ void _ems_processTelegram(_EMS_RxTelegram * EMS_RxTelegram) { typeFound = true; break; } - - /* - if ((EMS_Types[i].model_id == EMS_MODEL_ALL) || ((src == EMS_Boiler.device_id) || (src == EMS_Thermostat.device_id) || (src == EMS_ID_SM))) { - typeFound = true; - break; - } - */ } i++; } @@ -1687,6 +1685,9 @@ void ems_discoverModels() { // solar module ems_doReadCommand(EMS_TYPE_Version, EMS_ID_SM); // check if there is Solar Module available + // heatpump module + ems_doReadCommand(EMS_TYPE_Version, EMS_ID_HP); // check if there is HeatPump Module available + // thermostat // if it hasn't been set, auto discover it if (EMS_Thermostat.device_id == EMS_ID_NONE) { @@ -1799,7 +1800,7 @@ void ems_getBoilerValues() { */ void ems_getOtherValues() { if (EMS_Other.SM) { - ems_doReadCommand(EMS_TYPE_SM10Monitor, EMS_ID_SM); // fetch all from SM10Monitor, e.g. 0B B0 97 00 16 + ems_doReadCommand(EMS_TYPE_SM10Monitor, EMS_ID_SM); // fetch all from SM10Monitor } } diff --git a/src/ems_devices.h b/src/ems_devices.h index 2b7627c0d..8f4814ef1 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -178,6 +178,7 @@ const _Other_Type Other_Types[] = { {EMS_MODEL_OTHER, 73, EMS_ID_SM, "SM10 Solar Module"}, {EMS_MODEL_OTHER, 163, EMS_ID_SM, "SM100 Solar Module"}, {EMS_MODEL_OTHER, 171, 0x02, "EMS-OT OpenTherm converter"}, + {EMS_MODEL_OTHER, 252, EMS_ID_HP, "HeatPump Module"}, // warning, fake product id! {EMS_MODEL_OTHER, 189, EMS_ID_GATEWAY, "Web Gateway KM200"} }; From fdebf6bbdf204b6983fa2459b7fb3210c9a6fe69 Mon Sep 17 00:00:00 2001 From: Susis Strolch Date: Mon, 27 May 2019 12:47:06 +0200 Subject: [PATCH 27/66] tx_mode=2: compensate phantom BRK --- src/emsuart.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/emsuart.cpp b/src/emsuart.cpp index b9ca314ac..b1c8ba841 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -16,6 +16,7 @@ _EMSRxBuf * pEMSRxBuf; _EMSRxBuf * paEMSRxBuf[EMS_MAXBUFFERS]; uint8_t emsRxBufIdx = 0; +uint8_t phantomBrk = 0; // tells Rx about upcoming phantom break from Tx os_event_t recvTaskQueue[EMSUART_recvTaskQueueLen]; // our Rx queue @@ -49,6 +50,12 @@ static void emsuart_rx_intr_handler(void * para) { U0IC = (1 << UIBD); // INT clear the BREAK detect interrupt + // we've send a BRK with loopback enabled, so we must compensate the phantom break + if (phantomBrk) { + length--; // compensate buffer length + phantomBrk = 0; // clear flag + } + // copy data into transfer buffer pEMSRxBuf->writePtr = length; os_memcpy((void *)pEMSRxBuf->buffer, (void *)&uart_buffer, length); @@ -251,6 +258,8 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // otherwise, we send the final Tx-BRK in loopback and enable Rx-INT. // worst case, we'll see an additional Rx-BRK... if (!(USIS(EMSUART_UART) & (1 << UIBD))) { + phantomBrk = 1; // tell Rx to expect a phantom BRK + // no bus collision - send terminating BRK signal emsuart_loopback(true); USC0(EMSUART_UART) |= (1 << UCBRK); // set From 16fc383a40cccd78891fbe35d039368bbec3ed67 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 27 May 2019 14:40:26 +0200 Subject: [PATCH 28/66] fix to tx_mode --- src/ems-esp.cpp | 2 +- src/emsuart.cpp | 11 +++++------ src/version.h | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 477bca03e..3a17f1544 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -348,7 +348,7 @@ void showInfo() { if (ems_getTxCapable()) { char valuestr[8] = {0}; // for formatting floats myDebug_P(PSTR(" Tx: Last poll=%s seconds ago, Tx mode=%d, # successful write requests=%d"), - _float_to_char(valuestr, (ems_getPollFrequency() / (float)1000000), 3), + _float_to_char(valuestr, (ems_getPollFrequency() / (float)1000000), 3), ems_getTxMode(), EMS_Sys_Status.emsTxPkgs); } else { myDebug_P(PSTR(" Tx: no signal")); diff --git a/src/emsuart.cpp b/src/emsuart.cpp index b1c8ba841..1b6e4e227 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -16,7 +16,7 @@ _EMSRxBuf * pEMSRxBuf; _EMSRxBuf * paEMSRxBuf[EMS_MAXBUFFERS]; uint8_t emsRxBufIdx = 0; -uint8_t phantomBrk = 0; // tells Rx about upcoming phantom break from Tx +uint8_t phantomBrk = 0; // tells Rx about upcoming phantom break from Tx os_event_t recvTaskQueue[EMSUART_recvTaskQueueLen]; // our Rx queue @@ -208,13 +208,13 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; } - emsuart_tx_brk(); // send + emsuart_tx_brk(); // send } else if (EMS_Sys_Status.emsTxMode == 1) { // With extra tx delay for EMS+ for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; delayMicroseconds(EMSUART_TX_BRK_WAIT); // https://github.com/proddy/EMS-ESP/issues/23# } - emsuart_tx_brk(); // send + emsuart_tx_brk(); // send } else if (EMS_Sys_Status.emsTxMode == 3) { // Junkers logic by @philrich for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; @@ -226,7 +226,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // wait until bits are sent on wire delayMicroseconds(EMSUART_TX_WAIT_BYTE - EMSUART_TX_LAG + EMSUART_TX_WAIT_GAP); } - emsuart_tx_brk(); // send + emsuart_tx_brk(); // send } else if (EMS_Sys_Status.emsTxMode == 2) { // smart Tx - take two - https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch /* @@ -249,7 +249,6 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // wait for echo from busmaster while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < i || (USIS(EMSUART_UART) & (1 << UIBD)))) { delayMicroseconds(EMSUART_BIT_TIME); // burn CPU cycles... - } } @@ -258,7 +257,7 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // otherwise, we send the final Tx-BRK in loopback and enable Rx-INT. // worst case, we'll see an additional Rx-BRK... if (!(USIS(EMSUART_UART) & (1 << UIBD))) { - phantomBrk = 1; // tell Rx to expect a phantom BRK + phantomBrk = 1; // tell Rx to expect a phantom BRK // no bus collision - send terminating BRK signal emsuart_loopback(true); diff --git a/src/version.h b/src/version.h index 8b82bbcc1..2a10afa6a 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b6" +#define APP_VERSION "1.8.0b7" #define APP_HOSTNAME "ems-esp" From 4d974bbfa07d780417f26fbae8cad58fe22bad67 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 27 May 2019 22:13:37 +0200 Subject: [PATCH 29/66] set emsReverse if a Junkers heatronic is detected --- src/ems.cpp | 31 +++++++++++++++---------------- src/ems.h | 13 +++++++------ src/ems_devices.h | 21 +++++++++++---------- 3 files changed, 33 insertions(+), 32 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 21e098d18..bf6111248 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -345,7 +345,7 @@ void ems_setTxMode(uint8_t mode) { // https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495945850 if (mode == 3) { EMS_Sys_Status.emsReverse = true; - myDebug_P(PSTR("Setting for Tx Junkers logic and enabled the poll reverse flag")); + myDebug_P(PSTR("Forcing emsReverse")); } } @@ -1553,28 +1553,29 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { if (typeFound) { // its a boiler - myDebug_P(PSTR("Boiler found. Model %s (DeviceID:0x%02X ProductID:%d Version:%s)"), - Boiler_Types[i].model_string, - Boiler_Types[i].device_id, - product_id, - version); + myDebug_P(PSTR("Boiler found. Model %s (DeviceID:0x%02X ProductID:%d Version:%s)"), Boiler_Types[i].model_string, EMS_ID_BOILER, product_id, version); // add to list - _addDevice(product_id, Boiler_Types[i].device_id, version, Boiler_Types[i].model_string); + _addDevice(product_id, EMS_ID_BOILER, version, Boiler_Types[i].model_string); // if its a boiler set it, unless it already has been set by checking for a productID // it will take the first one found in the list - if (((EMS_Boiler.device_id == EMS_ID_NONE) || (EMS_Boiler.device_id == Boiler_Types[i].device_id)) && EMS_Boiler.product_id == EMS_ID_NONE) { + if ((EMS_Boiler.device_id == EMS_ID_NONE) || ((EMS_Boiler.device_id == EMS_ID_BOILER) && EMS_Boiler.product_id == EMS_ID_NONE)) { myDebug_P(PSTR("* Setting Boiler to model %s (DeviceID:0x%02X ProductID:%d Version:%s)"), Boiler_Types[i].model_string, - Boiler_Types[i].device_id, + EMS_ID_BOILER, product_id, version); - EMS_Boiler.device_id = Boiler_Types[i].device_id; + EMS_Boiler.device_id = EMS_ID_BOILER; EMS_Boiler.product_id = Boiler_Types[i].product_id; strlcpy(EMS_Boiler.version, version, sizeof(EMS_Boiler.version)); + // check to see if its a Junkers Heatronic3, which has a different poll'ing logic + if (EMS_Boiler.product_id == EMS_PRODUCTID_HEATRONICS) { + EMS_Sys_Status.emsReverse = true; + } + myESP.fs_saveConfig(); // save config to SPIFFS ems_getBoilerValues(); // get Boiler values that we would usually have to wait for @@ -1603,7 +1604,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { } // add to list - _addDevice(product_id, Boiler_Types[i].device_id, version, Thermostat_Types[i].model_string); + _addDevice(product_id, Thermostat_Types[i].device_id, version, Thermostat_Types[i].model_string); // if we don't have a thermostat set, use this one if (((EMS_Thermostat.device_id == EMS_ID_NONE) || (EMS_Thermostat.model_id == EMS_MODEL_NONE) @@ -1895,10 +1896,8 @@ void ems_scanDevices() { std::list Device_Ids; // create a new list - // copy over boilers - for (_Boiler_Type bt : Boiler_Types) { - Device_Ids.push_back(bt.device_id); - } + // add boiler device_id which is always 0x08 + Device_Ids.push_back(EMS_ID_BOILER); // copy over thermostats for (_Thermostat_Type tt : Thermostat_Types) { @@ -1933,7 +1932,7 @@ void ems_printAllDevices() { COLOR_BOLD_ON, Boiler_Types[i].model_string, COLOR_BOLD_OFF, - Boiler_Types[i].device_id, + EMS_ID_BOILER, Boiler_Types[i].product_id); } diff --git a/src/ems.h b/src/ems.h index d40d90dd4..eb7e3e092 100644 --- a/src/ems.h +++ b/src/ems.h @@ -12,15 +12,17 @@ #include -// EMS IDs -#define EMS_ID_NONE 0x00 // Fixed - used as a dest in broadcast messages and empty device IDs -#define EMS_PLUS_ID_NONE 0x01 // Fixed - used as a dest in broadcast messages and empty device IDs -#define EMS_ID_ME 0x0B // Fixed - our device, hardcoded as the "Service Key" -#define EMS_ID_DEFAULT_BOILER 0x08 +#define EMS_ID_NONE 0x00 // used as a dest in broadcast messages and empty device IDs + +// Fixed EMS IDs +#define EMS_ID_ME 0x0B // our device, hardcoded as the "Service Key" +#define EMS_ID_BOILER 0x08 // all UBA Boilers have 0x08 #define EMS_ID_SM 0x30 // Solar Module SM10 and SM100 #define EMS_ID_HP 0x38 // HeatPump #define EMS_ID_GATEWAY 0x48 // KM200 Web Gateway +#define EMS_PRODUCTID_HEATRONICS 95 // ProductID for a Junkers Heatronic3 device + #define EMS_MIN_TELEGRAM_LENGTH 6 // minimal length for a validation telegram, including CRC // max length of a telegram, including CRC, for Rx and Tx. @@ -150,7 +152,6 @@ const _EMS_TxTelegram EMS_TX_TELEGRAM_NEW = { typedef struct { uint8_t model_id; uint8_t product_id; - uint8_t device_id; char model_string[50]; } _Boiler_Type; diff --git a/src/ems_devices.h b/src/ems_devices.h index 8f4814ef1..84fdb43b9 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -146,18 +146,19 @@ typedef enum { } _EMS_MODEL_ID; // EMS types for known Buderus/Bosch devices. This list will be extended when new devices are recognized. -// format is MODEL_ID, PRODUCT ID, TYPE_ID, DESCRIPTION +// The device_id is always 0x08 +// format is MODEL_ID, PRODUCT ID, DESCRIPTION const _Boiler_Type Boiler_Types[] = { - {EMS_MODEL_UBA, 72, 0x08, "MC10 Module"}, - {EMS_MODEL_UBA, 123, 0x08, "Buderus GB172/Nefit Trendline"}, - {EMS_MODEL_UBA, 115, 0x08, "Nefit Topline Compact/Buderus GB162"}, - {EMS_MODEL_UBA, 203, 0x08, "Buderus Logamax U122/Junkers Cerapur"}, - {EMS_MODEL_UBA, 208, 0x08, "Buderus Logamax plus/GB192"}, - {EMS_MODEL_UBA, 64, 0x08, "Sieger BK15 Boiler/Nefit Smartline"}, - {EMS_MODEL_UBA, 95, 0x08, "Bosch Condens 2500/Junkers Heatronics3"}, - {EMS_MODEL_UBA, 122, 0x08, "Nefit Proline"}, - {EMS_MODEL_UBA, 172, 0x08, "Nefit Enviline"} + {EMS_MODEL_UBA, 72, "MC10 Module"}, + {EMS_MODEL_UBA, 123, "Buderus GB172/Nefit Trendline"}, + {EMS_MODEL_UBA, 115, "Nefit Topline Compact/Buderus GB162"}, + {EMS_MODEL_UBA, 203, "Buderus Logamax U122/Junkers Cerapur"}, + {EMS_MODEL_UBA, 208, "Buderus Logamax plus/GB192"}, + {EMS_MODEL_UBA, 64, "Sieger BK15 Boiler/Nefit Smartline"}, + {EMS_MODEL_UBA, EMS_PRODUCTID_HEATRONICS, "Bosch Condens 2500/Junkers Heatronics3"}, // Junkers + {EMS_MODEL_UBA, 122, "Nefit Proline"}, + {EMS_MODEL_UBA, 172, "Nefit Enviline"} }; From 2b494d8bc8af65cf4de5e7ea71b26f1d2510cc6b Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 27 May 2019 22:14:07 +0200 Subject: [PATCH 30/66] bump --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 2a10afa6a..e7e39b363 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b7" +#define APP_VERSION "1.8.0b8" #define APP_HOSTNAME "ems-esp" From b869bc1d75a5f9dfcbd054d95948688bb5989b3d Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 28 May 2019 11:57:04 +0200 Subject: [PATCH 31/66] detect junkers on startup --- src/ems.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index bf6111248..094258f3f 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1681,7 +1681,8 @@ void ems_discoverModels() { myDebug_P(PSTR("Starting auto discover of EMS devices...")); // boiler - ems_doReadCommand(EMS_TYPE_Version, EMS_Boiler.device_id); // get version details of boiler + ems_doReadCommand(EMS_TYPE_Version, EMS_ID_BOILER); + ems_doReadCommand(EMS_TYPE_Version, EMS_ID_BOILER | 0x80); // special for Junkers Heatronics3. Write commands need the src to have the MSB set // solar module ems_doReadCommand(EMS_TYPE_Version, EMS_ID_SM); // check if there is Solar Module available From c3427be1092073ce0bf1bd4085e7ff725c28b6c6 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 28 May 2019 19:39:25 +0200 Subject: [PATCH 32/66] detect junkers on startup --- src/ems.cpp | 33 +++++++++++++++++++++------------ src/ems.h | 2 +- src/version.h | 2 +- 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 094258f3f..9d1c27429 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -345,7 +345,9 @@ void ems_setTxMode(uint8_t mode) { // https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495945850 if (mode == 3) { EMS_Sys_Status.emsReverse = true; - myDebug_P(PSTR("Forcing emsReverse")); + myDebug_P(PSTR("Forcing emsReverse for Junkers")); + } else { + EMS_Sys_Status.emsReverse = false; } } @@ -566,10 +568,12 @@ void _ems_sendTelegram() { EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); // add the CRC EMS_RxTelegram.length = EMS_TxTelegram.length; // full length of telegram EMS_RxTelegram.telegram = EMS_TxTelegram.data; - EMS_RxTelegram.timestamp = millis(); // now - _debugPrintTelegram("Sending raw: ", &EMS_RxTelegram, COLOR_CYAN, true); // always show - emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); // send the telegram to the UART Tx - EMS_TxQueue.shift(); // remove from queue + EMS_RxTelegram.timestamp = millis(); // now + if (EMS_Sys_Status.emsLogging != EMS_SYS_LOGGING_NONE) { + _debugPrintTelegram("Sending raw: ", &EMS_RxTelegram, COLOR_CYAN, true); + } + emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); // send the telegram to the UART Tx + EMS_TxQueue.shift(); // remove from queue return; } @@ -1003,7 +1007,8 @@ void _processType(_EMS_RxTelegram * EMS_RxTelegram) { // if WRITE, should not happen // if VALIDATE, check the contents if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_READ) { - if ((EMS_RxTelegram->src == EMS_TxTelegram.dest) && (EMS_RxTelegram->type == EMS_TxTelegram.type)) { + // remove MSB from src/dest + if (((EMS_RxTelegram->src & 0x7F) == (EMS_TxTelegram.dest & 0x7F)) && (EMS_RxTelegram->type == EMS_TxTelegram.type)) { // all checks out, read was successful, remove tx from queue and continue to process telegram _removeTxQueue(); EMS_Sys_Status.emsRxPgks++; // increment counter @@ -1680,17 +1685,21 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { void ems_discoverModels() { myDebug_P(PSTR("Starting auto discover of EMS devices...")); - // boiler + // boiler... ems_doReadCommand(EMS_TYPE_Version, EMS_ID_BOILER); - ems_doReadCommand(EMS_TYPE_Version, EMS_ID_BOILER | 0x80); // special for Junkers Heatronics3. Write commands need the src to have the MSB set - // solar module + // special hack for Junkers. Do a read command for the version with the src having the MSB set + char s[20] = {0}; + snprintf(s, sizeof(s), "%02X %02X %02X 00 %02X", (EMS_ID_ME | 0x80), EMS_ID_BOILER, (EMS_TYPE_Version | 0x80), EMS_MAX_TELEGRAM_LENGTH); + ems_sendRawTelegram(s); + + // solar module... ems_doReadCommand(EMS_TYPE_Version, EMS_ID_SM); // check if there is Solar Module available - // heatpump module + // heatpump module... ems_doReadCommand(EMS_TYPE_Version, EMS_ID_HP); // check if there is HeatPump Module available - // thermostat + // thermostat... // if it hasn't been set, auto discover it if (EMS_Thermostat.device_id == EMS_ID_NONE) { ems_scanDevices(); // auto-discover it @@ -2023,7 +2032,7 @@ void ems_doReadCommand(uint16_t type, uint8_t dest, bool forceRefresh) { } } EMS_TxTelegram.action = EMS_TX_TELEGRAM_READ; // read command - EMS_TxTelegram.dest = dest; // set 8th bit to indicate a read + EMS_TxTelegram.dest = dest; // 8th bit will be set to indicate a read EMS_TxTelegram.offset = 0; // 0 for all data EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; // is always 6 bytes long (including CRC at end) EMS_TxTelegram.type = type; diff --git a/src/ems.h b/src/ems.h index eb7e3e092..8464c914d 100644 --- a/src/ems.h +++ b/src/ems.h @@ -47,7 +47,7 @@ #define EMS_TX_TELEGRAM_QUEUE_MAX 100 // max size of Tx FIFO queue -// #define EMS_SYS_LOGGING_DEFAULT EMS_SYS_LOGGING_VERBOSE +//#define EMS_SYS_LOGGING_DEFAULT EMS_SYS_LOGGING_VERBOSE #define EMS_SYS_LOGGING_DEFAULT EMS_SYS_LOGGING_NONE /* EMS UART transfer status */ diff --git a/src/version.h b/src/version.h index e7e39b363..12b1e7657 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b8" +#define APP_VERSION "1.8.0b9" #define APP_HOSTNAME "ems-esp" From 17a75fb06e528e9f51c965045fd63a928af70f4f Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 28 May 2019 21:15:57 +0200 Subject: [PATCH 33/66] fix tapwater off --- src/ems.cpp | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 9d1c27429..ecb208e09 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1025,7 +1025,7 @@ void _processType(_EMS_RxTelegram * EMS_RxTelegram) { _removeTxQueue(); } else { if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { - myDebug_P(PSTR("...Retrying read. Attempt %d/%d..."), EMS_Sys_Status.txRetryCount, TX_WRITE_TIMEOUT_COUNT); + myDebug_P(PSTR("Read failed. Retrying attempt %d/%d..."), EMS_Sys_Status.txRetryCount, TX_WRITE_TIMEOUT_COUNT); } } } @@ -1679,6 +1679,16 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { } } +/* + * See if we have a Junkers Heatronic3 compatible device + * Do a read command for the version with the src having the MSB set + */ +void _ems_detectJunkers() { + char s[20] = {0}; + snprintf(s, sizeof(s), "%02X %02X %02X 00 %02X", (EMS_ID_ME | 0x80), EMS_ID_BOILER, (EMS_TYPE_Version | 0x80), EMS_MAX_TELEGRAM_LENGTH); + ems_sendRawTelegram(s); +} + /* * Figure out the boiler and thermostat types */ @@ -1688,10 +1698,7 @@ void ems_discoverModels() { // boiler... ems_doReadCommand(EMS_TYPE_Version, EMS_ID_BOILER); - // special hack for Junkers. Do a read command for the version with the src having the MSB set - char s[20] = {0}; - snprintf(s, sizeof(s), "%02X %02X %02X 00 %02X", (EMS_ID_ME | 0x80), EMS_ID_BOILER, (EMS_TYPE_Version | 0x80), EMS_MAX_TELEGRAM_LENGTH); - ems_sendRawTelegram(s); + _ems_detectJunkers(); // special hack for Junkers. // solar module... ems_doReadCommand(EMS_TYPE_Version, EMS_ID_SM); // check if there is Solar Module available @@ -1928,6 +1935,9 @@ void ems_scanDevices() { for (uint8_t device_id : Device_Ids) { ems_doReadCommand(EMS_TYPE_Version, device_id); } + + // add a check for Junkers onto the queue + _ems_detectJunkers(); } /** @@ -2362,7 +2372,6 @@ void ems_setWarmTapWaterActivated(bool activated) { EMS_TxTelegram.dest = EMS_Boiler.device_id; EMS_TxTelegram.type = EMS_TYPE_UBAFunctionTest; EMS_TxTelegram.offset = 0; - EMS_TxTelegram.length = 22; // 17 bytes of data including header and CRC EMS_TxTelegram.type_validate = EMS_TxTelegram.type; EMS_TxTelegram.comparisonOffset = 0; // 1st byte @@ -2378,13 +2387,19 @@ void ems_setWarmTapWaterActivated(bool activated) { // we use the special test mode 0x1D for this. Setting the first data to 5A puts the system into test mode and // a setting of 0x00 puts it back into normal operarting mode - // when in test mode we're able to mess around with the core 3-way valve settings + // when in test mode we're able to mess around with the 3-way valve settings if (!activated) { // on EMS_TxTelegram.data[4] = 0x5A; // test mode on EMS_TxTelegram.data[5] = 0x00; // burner output 0% EMS_TxTelegram.data[7] = 0x64; // boiler pump capacity 100% EMS_TxTelegram.data[8] = 0xFF; // 3-way valve hot water only + EMS_TxTelegram.length = 22; // 17 bytes of data including header and CRC. We send all zeros just to be sure. + } else { + // get out of test mode + // telegram: 0B 08 1D 00 00 + EMS_TxTelegram.data[4] = 0x00; // test mode off + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; } EMS_TxQueue.push(EMS_TxTelegram); // add to queue From 51f8b55fe841e210621b531d5e225305008d5654 Mon Sep 17 00:00:00 2001 From: Vuego123 Date: Sat, 1 Jun 2019 23:42:30 +0200 Subject: [PATCH 34/66] Solar Module Junkers ISM1 Added support to read collector temperature and solar boiler temperature for Solar Module Junkers ISM1 --- src/ems.cpp | 14 ++++++++++++++ src/ems_devices.h | 2 ++ 2 files changed, 16 insertions(+) diff --git a/src/ems.cpp b/src/ems.cpp index ecb208e09..72e52fc1d 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -61,6 +61,9 @@ void _process_SM100Status(_EMS_RxTelegram * EMS_RxTelegram); void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram); void _process_SM100Energy(_EMS_RxTelegram * EMS_RxTelegram); +// ISM1 +void _process_ISM1StatusMessage(_EMS_RxTelegram * EMS_RxTelegram); + // HeatPump HP void _process_HPMonitor1(_EMS_RxTelegram * EMS_RxTelegram); void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram); @@ -125,6 +128,7 @@ const _EMS_Type EMS_Types[] = { {EMS_MODEL_OTHER, EMS_TYPE_SM100Energy, "SM100Energy", _process_SM100Energy}, {EMS_MODEL_OTHER, EMS_TYPE_HPMonitor1, "HeatPumpMonitor1", _process_HPMonitor1}, {EMS_MODEL_OTHER, EMS_TYPE_HPMonitor2, "HeatPumpMonitor2", _process_HPMonitor2}, + {EMS_MODEL_OTHER, EMS_TYPE_ISM1StatusMessage, "ISM1StatusMessage", _process_ISM1StatusMessage}, // RC10 {EMS_MODEL_RC10, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, @@ -1468,6 +1472,16 @@ void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Sys_Status.emsRefreshed = true; // triggers a send the values back via MQTT } +/* + * Junkers ISM1 Solar Module - type 0x0003 EMS+ for energy readings + */ +void _process_ISM1StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { + // e.g. B0 00 FF 00 00 03 32 00 00 00 00 13 00 D6 00 00 00 FB D0 F0 + EMS_Other.SMcollectorTemp = _toShort(4); // Collector Temperature + EMS_Other.SMbottomTemp = _toShort(6); // Temperature Bottom of Solar Boiler + EMS_Other.SM = true; +} + /** * UBASetPoint 0x1A */ diff --git a/src/ems_devices.h b/src/ems_devices.h index 84fdb43b9..a69cc536d 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -48,6 +48,7 @@ #define EMS_TYPE_SM100Energy 0x028E // SM100Energy #define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 #define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 +#define EMS_TYPE_ISM1StatusMessage 0x0003 // Solar Module Junkers ISM1 Status /* * Thermostats... @@ -180,6 +181,7 @@ const _Other_Type Other_Types[] = { {EMS_MODEL_OTHER, 163, EMS_ID_SM, "SM100 Solar Module"}, {EMS_MODEL_OTHER, 171, 0x02, "EMS-OT OpenTherm converter"}, {EMS_MODEL_OTHER, 252, EMS_ID_HP, "HeatPump Module"}, // warning, fake product id! + {EMS_MODEL_OTHER, 101, 0x30, "Junkers ISM1 Solar Controller"}, {EMS_MODEL_OTHER, 189, EMS_ID_GATEWAY, "Web Gateway KM200"} }; From b204677c938fd7b1c471d9a2751b63c99f4214d9 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 5 Jun 2019 22:35:06 +0200 Subject: [PATCH 35/66] updated to new pio4 schema --- platformio.ini-example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platformio.ini-example b/platformio.ini-example index ce9bdd37d..be8d8c199 100644 --- a/platformio.ini-example +++ b/platformio.ini-example @@ -4,8 +4,8 @@ ; [platformio] -env_default = release -;env_default = debug +;default_envs = debug +default_envs = release [common] ; hard code if you prefer. Recommendation is to set from within the app when in Serial or AP mode From f0cf3b8b7012c6e8665224dfd1643cd421b429b8 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 5 Jun 2019 22:35:16 +0200 Subject: [PATCH 36/66] new devices --- src/ems_devices.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 84fdb43b9..a936bef39 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -141,11 +141,12 @@ typedef enum { EMS_MODEL_OT, EMS_MODEL_FR10, EMS_MODEL_FR100, - EMS_MODEL_FR110 + EMS_MODEL_FR110, + EMS_MODEL_FW120 } _EMS_MODEL_ID; -// EMS types for known Buderus/Bosch devices. This list will be extended when new devices are recognized. +// EMS types for known devices. This list will be extended when new devices are recognized. // The device_id is always 0x08 // format is MODEL_ID, PRODUCT ID, DESCRIPTION const _Boiler_Type Boiler_Types[] = { @@ -155,7 +156,7 @@ const _Boiler_Type Boiler_Types[] = { {EMS_MODEL_UBA, 115, "Nefit Topline Compact/Buderus GB162"}, {EMS_MODEL_UBA, 203, "Buderus Logamax U122/Junkers Cerapur"}, {EMS_MODEL_UBA, 208, "Buderus Logamax plus/GB192"}, - {EMS_MODEL_UBA, 64, "Sieger BK15 Boiler/Nefit Smartline"}, + {EMS_MODEL_UBA, 64, "Sieger BK15 Boiler/Nefit Smartline/Buderus GB152"}, {EMS_MODEL_UBA, EMS_PRODUCTID_HEATRONICS, "Bosch Condens 2500/Junkers Heatronics3"}, // Junkers {EMS_MODEL_UBA, 122, "Nefit Proline"}, {EMS_MODEL_UBA, 172, "Nefit Enviline"} @@ -165,8 +166,8 @@ const _Boiler_Type Boiler_Types[] = { // Other EMS devices which are not considered boilers or thermostats const _Other_Type Other_Types[] = { - {EMS_MODEL_OTHER, 251, 0x21, "MM10 Mixer Module"}, // warning, fake product id! - {EMS_MODEL_OTHER, 250, 0x11, "WM10 Switch Module"}, // warning, fake product id! + {EMS_MODEL_OTHER, 69, 0x21, "MM10 Mixer Module"}, + {EMS_MODEL_OTHER, 71, 0x11, "WM10 Switch Module"}, {EMS_MODEL_OTHER, 160, 0x20, "MM100 Mixing Module"}, {EMS_MODEL_OTHER, 160, 0x21, "MM100 Mixing Module"}, {EMS_MODEL_OTHER, 159, 0x21, "MM50 Mixing Module"}, @@ -209,7 +210,8 @@ const _Thermostat_Type Thermostat_Types[] = { // Junkers {EMS_MODEL_FR10, 111, 0x18, "Junkers FR10", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR100, 105, 0x18, "Junkers FR100", EMS_THERMOSTAT_WRITE_NO}, - {EMS_MODEL_FR110, 108, 0x18, "Junkers FR110", EMS_THERMOSTAT_WRITE_NO} + {EMS_MODEL_FR110, 108, 0x18, "Junkers FR110", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_FW120, 192, 0x10, "Junkers FW120", EMS_THERMOSTAT_WRITE_NO} }; From c56cdf16d811dca363f9a51eb1fd6a572bb04a9c Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 5 Jun 2019 22:35:25 +0200 Subject: [PATCH 37/66] bump --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 12b1e7657..99621e374 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b9" +#define APP_VERSION "1.8.0b10" #define APP_HOSTNAME "ems-esp" From 1d10d98fd5c9d55ba3a6264f639135a05118568c Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 5 Jun 2019 22:36:15 +0200 Subject: [PATCH 38/66] philrich fix for junkers https://github.com/proddy/EMS-ESP/issues/103#issuecomment-498187147 --- src/ems.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index ecb208e09..1f88c34d2 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -706,7 +706,7 @@ void _ems_readTelegram(uint8_t * telegram, uint8_t length) { // check first for a Poll for us // the poll has the MSB set - seems to work on both EMS and Junkers - if (value == (EMS_ID_ME | 0x80)) { + if ((value & 0x7F) == EMS_ID_ME) { EMS_Sys_Status.emsTxCapable = true; uint32_t timenow_microsecs = micros(); EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); @@ -1685,7 +1685,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { */ void _ems_detectJunkers() { char s[20] = {0}; - snprintf(s, sizeof(s), "%02X %02X %02X 00 %02X", (EMS_ID_ME | 0x80), EMS_ID_BOILER, (EMS_TYPE_Version | 0x80), EMS_MAX_TELEGRAM_LENGTH); + snprintf(s, sizeof(s), "%02X %02X %02X 00 %02X", (EMS_ID_ME | 0x80), (EMS_ID_BOILER | 0x080), EMS_TYPE_Version, EMS_MAX_TELEGRAM_LENGTH); ems_sendRawTelegram(s); } From ada33d65851236097d9e3daa34c1a50ef56741f5 Mon Sep 17 00:00:00 2001 From: Vuego123 Date: Wed, 5 Jun 2019 23:31:34 +0200 Subject: [PATCH 39/66] Added support for Junkers FW100 Added FW100 device id, Added FW100 support to the FR10 (+renamed to Junkers Status message) Added callback method and improved showInfo and PublishValues in ems-esp.cpp --- src/ems-esp.cpp | 75 +++++++++++++++++++++++------------------------ src/ems.cpp | 17 +++++------ src/ems_devices.h | 10 ++++--- 3 files changed, 50 insertions(+), 52 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 3a17f1544..73b01dfed 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -476,50 +476,53 @@ void showInfo() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sThermostat stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Thermostat: %s"), ems_getThermostatDescription(buffer_type)); - if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY)) { - // for easy temps are * 100, also we don't have the time or mode + + // Render Current & Setpoint Room Temperature + if ( (ems_getThermostatModel() == EMS_MODEL_EASY) + || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) + || (ems_getThermostatModel() == EMS_MODEL_FR10) + || (ems_getThermostatModel() == EMS_MODEL_FW100)) { + // Temperatures are *10 _renderShortValue("Set room temperature", "C", EMS_Thermostat.setpoint_roomTemp, 10); // *100 _renderShortValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp, 10); // *100 - } else if (ems_getThermostatModel() == EMS_MODEL_FR10) { - // Junkers are *10 - _renderIntValue("Set room temperature", "C", EMS_Thermostat.setpoint_roomTemp, 10); // *10 - _renderIntValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp, 10); // *10 - } else { + } + else { // because we store in 2 bytes short, when converting to a single byte we'll loose the negative value if its unset - if (EMS_Thermostat.setpoint_roomTemp <= 0) { + if (EMS_Thermostat.setpoint_roomTemp <= 0) { EMS_Thermostat.setpoint_roomTemp = EMS_VALUE_INT_NOTSET; } - if (EMS_Thermostat.curr_roomTemp <= 0) { EMS_Thermostat.curr_roomTemp = EMS_VALUE_INT_NOTSET; } - _renderIntValue("Setpoint room temperature", "C", EMS_Thermostat.setpoint_roomTemp, 2); // convert to a single byte * 2 _renderIntValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp, 10); // is *10 + } - if ((EMS_Thermostat.holidaytemp > 0) && (EMSESP_Status.heating_circuit == 2)) { // only if we are on a RC35 we show more info - _renderIntValue("Day temperature", "C", EMS_Thermostat.daytemp, 2); // convert to a single byte * 2 - _renderIntValue("Night temperature", "C", EMS_Thermostat.nighttemp, 2); // convert to a single byte * 2 - _renderIntValue("Vacation temperature", "C", EMS_Thermostat.holidaytemp, 2); // convert to a single byte * 2 - } + // Render Day/Night/Holiday Temperature + if ((EMS_Thermostat.holidaytemp > 0) && (EMSESP_Status.heating_circuit == 2)) { // only if we are on a RC35 we show more info + _renderIntValue("Day temperature", "C", EMS_Thermostat.daytemp, 2); // convert to a single byte * 2 + _renderIntValue("Night temperature", "C", EMS_Thermostat.nighttemp, 2); // convert to a single byte * 2 + _renderIntValue("Vacation temperature", "C", EMS_Thermostat.holidaytemp, 2); // convert to a single byte * 2 + } - myDebug_P(PSTR(" Thermostat time is %02d:%02d:%02d %d/%d/%d"), - EMS_Thermostat.hour, - EMS_Thermostat.minute, - EMS_Thermostat.second, - EMS_Thermostat.day, - EMS_Thermostat.month, - EMS_Thermostat.year + 2000); - - if (EMS_Thermostat.mode == 0) { - myDebug_P(PSTR(" Mode is set to low")); - } else if (EMS_Thermostat.mode == 1) { - myDebug_P(PSTR(" Mode is set to manual")); - } else if (EMS_Thermostat.mode == 2) { - myDebug_P(PSTR(" Mode is set to auto")); - } else { - myDebug_P(PSTR(" Mode is set to ?")); - } + // Render Thermostat Date & Time + myDebug_P(PSTR(" Thermostat time is %02d:%02d:%02d %d/%d/%d"), + EMS_Thermostat.hour, + EMS_Thermostat.minute, + EMS_Thermostat.second, + EMS_Thermostat.day, + EMS_Thermostat.month, + EMS_Thermostat.year + 2000); + + // Render Termostat Mode + if (EMS_Thermostat.mode == 0) { + myDebug_P(PSTR(" Mode is set to low")); + } else if (EMS_Thermostat.mode == 1) { + myDebug_P(PSTR(" Mode is set to manual")); + } else if (EMS_Thermostat.mode == 2) { + myDebug_P(PSTR(" Mode is set to auto")); + } else { + myDebug_P(PSTR(" Mode is set to ?")); } } @@ -695,13 +698,7 @@ void publishValues(bool force) { rootThermostat[THERMOSTAT_HC] = _int_to_char(s, EMSESP_Status.heating_circuit); // different logic depending on thermostat types - if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY)) { - if (abs(EMS_Thermostat.setpoint_roomTemp) < EMS_VALUE_SHORT_NOTSET) - rootThermostat[THERMOSTAT_SELTEMP] = (double)EMS_Thermostat.setpoint_roomTemp / 10; - if (abs(EMS_Thermostat.curr_roomTemp) < EMS_VALUE_SHORT_NOTSET) - rootThermostat[THERMOSTAT_CURRTEMP] = (double)EMS_Thermostat.curr_roomTemp / 10; - - } else if (ems_getThermostatModel() == EMS_MODEL_FR10) { + if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100)) { if (abs(EMS_Thermostat.setpoint_roomTemp) < EMS_VALUE_SHORT_NOTSET) rootThermostat[THERMOSTAT_SELTEMP] = (double)EMS_Thermostat.setpoint_roomTemp / 10; if (abs(EMS_Thermostat.curr_roomTemp) < EMS_VALUE_SHORT_NOTSET) diff --git a/src/ems.cpp b/src/ems.cpp index ecb208e09..efbf236e7 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -95,8 +95,8 @@ void _process_RCPLUSStatusHeating(_EMS_RxTelegram * EMS_RxTelegram); void _process_RCPLUSStatusHeating(_EMS_RxTelegram * EMS_RxTelegram); void _process_RCPLUSStatusMode(_EMS_RxTelegram * EMS_RxTelegram); -// Junkers FR10 -void _process_FR10StatusMessage(_EMS_RxTelegram * EMS_RxTelegram); +// Junkers FR10 & FW100 +void _process_JunkersStatusMessage(_EMS_RxTelegram * EMS_RxTelegram); /** * Recognized EMS types and the functions they call to process the telegrams @@ -173,7 +173,7 @@ const _EMS_Type EMS_Types[] = { {EMS_MODEL_ALL, EMS_TYPE_RCPLUSStatusMode, "RCPLUSStatusMode", _process_RCPLUSStatusMode}, // Junkers FR10 - {EMS_MODEL_ALL, EMS_TYPE_FR10StatusMessage, "FR10StatusMessage", _process_FR10StatusMessage} + {EMS_MODEL_ALL, EMS_TYPE_JunkersStatusMessage, "JunkersStatusMessage", _process_JunkersStatusMessage} }; @@ -1304,12 +1304,11 @@ void _process_RCPLUSStatusMode(_EMS_RxTelegram * EMS_RxTelegram) { /** * FR10 Junkers - type x6F01 */ -void _process_FR10StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - if (EMS_RxTelegram->data_length == 6) { - // e.g. 90 00 FF 00 00 6F 03 01 00 BE 00 BF - EMS_Thermostat.curr_roomTemp = _toByte(EMS_OFFSET_FR10StatusMessage_curr); // value is * 10 - EMS_Thermostat.setpoint_roomTemp = _toByte(EMS_OFFSET_FR10StatusMessage_setpoint); // value is * 10, which is different from other EMS+ devices - } +void _process_JunkersStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { + // e.g. for FR10: 90 00 FF 00 00 6F 03 01 00 BE 00 BF + // e.g. for FW100: 90 00 FF 00 00 6F 03 02 00 D7 00 DA F3 34 00 C4 + EMS_Thermostat.curr_roomTemp = _toShort(EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 + EMS_Thermostat.setpoint_roomTemp = _toShort(EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 } /** diff --git a/src/ems_devices.h b/src/ems_devices.h index 84fdb43b9..b7388c67b 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -109,10 +109,10 @@ #define EMS_OFFSET_RCPLUSStatusMessage_curr 0 // current temp #define EMS_OFFSET_RCPLUSGet_mode_day 8 // day/night mode -// Junkers FR10 (EMS Plus) -#define EMS_TYPE_FR10StatusMessage 0x6F // is an automatic thermostat broadcast giving us temps -#define EMS_OFFSET_FR10StatusMessage_setpoint 3 // setpoint temp -#define EMS_OFFSET_FR10StatusMessage_curr 5 // current temp +// Junkers FR10, FW100 (EMS Plus) +#define EMS_TYPE_JunkersStatusMessage 0x6F // is an automatic thermostat broadcast giving us temps +#define EMS_OFFSET_JunkersStatusMessage_setpoint 2 // setpoint temp +#define EMS_OFFSET_JunkersStatusMessage_curr 4 // current temp // Known EMS types @@ -139,6 +139,7 @@ typedef enum { EMS_MODEL_CW100, EMS_MODEL_1010, EMS_MODEL_OT, + EMS_MODEL_FW100, EMS_MODEL_FR10, EMS_MODEL_FR100, EMS_MODEL_FR110 @@ -207,6 +208,7 @@ const _Thermostat_Type Thermostat_Types[] = { {EMS_MODEL_ES73, 76, 0x10, "Sieger ES73", EMS_THERMOSTAT_WRITE_YES}, // Junkers + {EMS_MODEL_FW100, 105, 0x10, "Junkers FW100", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR10, 111, 0x18, "Junkers FR10", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR100, 105, 0x18, "Junkers FR100", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR110, 108, 0x18, "Junkers FR110", EMS_THERMOSTAT_WRITE_NO} From cbe2c15216b862d17345eb218823601401124f37 Mon Sep 17 00:00:00 2001 From: proddy Date: Thu, 6 Jun 2019 00:03:38 +0200 Subject: [PATCH 40/66] don't remove crash info on reset --- lib/MyESP/MyESP.cpp | 53 +++++------------------------------------- platformio.ini-example | 4 ++-- 2 files changed, 8 insertions(+), 49 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index e0e3f644d..756f02204 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -454,10 +454,12 @@ void MyESP::_telnetConnected() { EEPROMr.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_CRASH_TIME, crash_time); if ((crash_time != 0) && (crash_time != 0xFFFFFFFF)) { crashDump(); + /* // clear crash data crash_time = 0xFFFFFFFF; EEPROMr.put(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_CRASH_TIME, crash_time); EEPROMr.commit(); + */ } #endif @@ -504,7 +506,7 @@ void MyESP::_consoleShowHelp() { myDebug_P(PSTR("* ?=help, CTRL-D/quit=exit telnet session")); myDebug_P(PSTR("* set, system, reboot")); #ifdef CRASH - myDebug_P(PSTR("* crash ")); + myDebug_P(PSTR("* crash ")); #endif // print custom commands if available. Taken from progmem @@ -792,15 +794,14 @@ void MyESP::_telnetCommand(char * commandLine) { // crash command #ifdef CRASH - if ((strcmp(ptrToCommandName, "crash") == 0) && (wc >= 2)) { + if ((strcmp(ptrToCommandName, "crash") == 0) && (wc == 2)) { char * cmd = _telnet_readWord(false); if (strcmp(cmd, "dump") == 0) { crashDump(); } else if (strcmp(cmd, "clear") == 0) { crashClear(); - } else if ((strcmp(cmd, "test") == 0) && (wc == 3)) { - char * value = _telnet_readWord(false); - crashTest(atoi(value)); + } else { + myDebug_P(PSTR("Error. Usage: crash ")); } return; // don't call custom command line callback } @@ -1420,46 +1421,6 @@ extern "C" void custom_crash_callback(struct rst_info * rst_info, uint32_t stack EEPROMr.commit(); } -void MyESP::crashTest(uint8_t t) { - if (t == 1) { - myDebug_P(PSTR("[CRASH] Attempting to divide by zero ...")); - int result, zero; - zero = 0; - result = 1 / zero; - myDebug_P(PSTR("Result = %d"), result); - } - - if (t == 2) { - myDebug_P(PSTR("[CRASH] Attempting to read through a pointer to no object ...")); - int * nullPointer; - nullPointer = NULL; - // null pointer dereference - read - // attempt to read a value through a null pointer - Serial.println(*nullPointer); - } - - if (t == 3) { - myDebug_P(PSTR("[CRASH] Crashing with hardware WDT (%ld ms) ...\n"), millis()); - ESP.wdtDisable(); - while (true) { - // stay in an infinite loop doing nothing - // this way other process can not be executed - // - // Note: - // Hardware wdt kicks in if software wdt is unable to perfrom - // Nothing will be saved in EEPROM for the hardware wdt - } - } - - if (t == 4) { - myDebug_P(PSTR("[CRASH] Crashing with software WDT (%ld ms) ...\n"), millis()); - while (true) { - // stay in an infinite loop doing nothing - // this way other process can not be executed - } - } -} - /** * Clears crash info */ @@ -1520,8 +1481,6 @@ void MyESP::crashDump() { myDebug_P(PSTR("<< Date: Thu, 6 Jun 2019 20:31:55 +0200 Subject: [PATCH 41/66] fix dir path --- scripts/debug.py | 2 +- scripts/stackdmp.txt | 67 ++++++++++++++++++++------------------------ 2 files changed, 32 insertions(+), 37 deletions(-) diff --git a/scripts/debug.py b/scripts/debug.py index 3304bcec4..f8ff39353 100644 --- a/scripts/debug.py +++ b/scripts/debug.py @@ -17,4 +17,4 @@ import os # 3fffffb0: feefeffe feefeffe 3ffe8558 40100b01 # <<>>stack>>> -3ffffd80: 40004303 00000030 00000013 ffffffff -3ffffd90: 60000200 00000000 3ffffe70 80000000 -3ffffda0: 20000000 80000000 08060d3c 00000000 -3ffffdb0: 0000ffff 00000000 3fff1be8 3ffffec0 -3ffffdc0: 00000008 00060d3c 00000000 00000030 -3ffffdd0: 00000005 00000000 00000020 4010106a -3ffffde0: 3ffec925 4010446b 3fff0388 00000030 -3ffffdf0: 40101d81 3fff0388 00000010 40210ec8 -3ffffe00: 00000044 0d6e5485 3fff0de8 40101f5a -3ffffe10: 3ffed1ac 00000000 00000000 40210ec8 -3ffffe20: 00000044 0d6e5485 4010239a 00000100 -3ffffe30: 7fffffff 3ffed1ac 3ffed1ac 00000001 -3ffffe40: 00000001 00000080 00000000 40231901 -3ffffe50: 00000000 0d6e5485 00002200 4000050c -3ffffe60: 3fffc278 40102134 3fffc200 00000022 -3ffffe70: 00000000 400042db 3fff87cc 40232616 -3ffffe80: 40004b31 3ffffec0 00000008 00060d3c -3ffffe90: 40105934 4024a5a0 00000001 00000000 -3ffffea0: 40100289 3ffffec0 00000001 3fff43a4 -3ffffeb0: 4025e230 ffff9c44 00060d3c 4020cc80 -3ffffec0: 00000000 00000000 400205e9 40100250 -3ffffed0: 4025164b 00000001 00000000 3fff43f8 -3ffffee0: 0006ba50 00000000 00000001 4020da04 -3ffffef0: 00000000 3fff42dc 4020e890 3fffefa0 -3fffff00: 03fa5a79 3fffdad0 00000064 3fff44e8 -3fffff10: 3fff4a78 3fff43f8 3fff4a38 4021d2bb -3fffff20: 00000001 3fff426c 3fff426c 402171c7 -3fffff30: 4024f6de 3fff4994 3fff260c 00000001 -3fffff40: 402508a7 40224708 1301a8c0 4021c658 -3fffff50: 3fff7bd4 40216e98 3fff4004 4020c905 -3fffff60: 00000000 3fff4544 3ffe9714 3fff44e8 -3fffff70: 3fffdad0 3fff260c 3fff4a38 4021d5e8 -3fffff80: 3fffdad0 3fff260c 3fff4004 4020c938 -3fffff90: 3fffdad0 00000000 3fff260c 40205be8 -3fffffa0: 3fffdad0 00000000 3fff44b8 4020e940 -3fffffb0: feefeffe feefeffe 3ffe9714 401006f1 +3ffffdd0: 3ffffe30 3fff42c8 3fff8b34 40211168 +3ffffde0: 3fff8b34 3fff42c8 3fff451c 4022cba2 +3ffffdf0: 3ffffe70 402096b3 3fff451c 4022cb90 +3ffffe00: 3ffffe30 3fff42c8 3fff8b34 402096c4 +3ffffe10: 454d5b20 4f205d4d 52204154 72657365 +3ffffe20: 00000000 00642520 4025cc50 4020966c +3ffffe30: 3ffffe70 3ffffe40 00000008 00000000 +3ffffe40: 00000002 3fff4670 3fff42c8 40246950 +3ffffe50: 3fff8a40 ff000000 00068aec 4020f478 +3ffffe60: 0000001b 00003234 400205e9 4024f36d +3ffffe70: 4020cb8c 3fff4670 3fff42c8 00000000 +3ffffe80: 00000002 3fff4670 3fff42c8 4020a628 +3ffffe90: 45455b20 4d4f5250 4545205d 4d4f5250 +3ffffea0: 63655320 20726f74 6c6f6f70 7a697320 +3ffffeb0: 73692065 202c3420 20646e61 75206e69 +3ffffec0: 61206573 203a6572 39313031 31303120 +3ffffed0: 30312038 31203731 20363130 00000000 +3ffffee0: 36313031 00000000 00000000 00000000 +3ffffef0: 00000000 00000000 ff000007 4020f3d6 +3fffff00: 00000000 00000007 3ffe8304 4022730f +3fffff10: 0000000d 00000001 3fff42c8 3fff45a0 +3fffff20: 3fff8bac 00000001 3fff42c8 4020c3e1 +3fffff30: 3fffdad0 3fff4530 0000000d 40217ab6 +3fffff40: 3fffdad0 3fff4530 3fff451c 3fff45a0 +3fffff50: 0000000d 3fff451c 3fff42c8 4020c9b5 +3fffff60: 0000000d 3fff4808 3ffe97ac 3fff47ac +3fffff70: 3fff42c8 3fff28cc 3fff42b8 3fff47ac +3fffff80: 3fffdad0 3fff28cc 3fff42c8 4020ca80 +3fffff90: 3fffdad0 00000000 3fff28cc 40205ccc +3fffffa0: 3fffdad0 00000000 3fff477c 4020e9fc +3fffffb0: feefeffe feefeffe 3ffe97ac 401006f1 << Date: Fri, 7 Jun 2019 07:57:40 +0200 Subject: [PATCH 42/66] rename --- scripts/{debug.py => analyze_stackdmp.py} | 0 scripts/stackdmp.txt | 32 +++++++++++------------ 2 files changed, 16 insertions(+), 16 deletions(-) rename scripts/{debug.py => analyze_stackdmp.py} (100%) diff --git a/scripts/debug.py b/scripts/analyze_stackdmp.py similarity index 100% rename from scripts/debug.py rename to scripts/analyze_stackdmp.py diff --git a/scripts/stackdmp.txt b/scripts/stackdmp.txt index 851cd01e8..aad262d42 100644 --- a/scripts/stackdmp.txt +++ b/scripts/stackdmp.txt @@ -1,15 +1,15 @@ >>>stack>>> -3ffffdd0: 3ffffe30 3fff42c8 3fff8b34 40211168 -3ffffde0: 3fff8b34 3fff42c8 3fff451c 4022cba2 -3ffffdf0: 3ffffe70 402096b3 3fff451c 4022cb90 -3ffffe00: 3ffffe30 3fff42c8 3fff8b34 402096c4 +3ffffdd0: 3ffffe30 3fff42c8 3fff8bac 402111f0 +3ffffde0: 3fff8bac 3fff42c8 3fff451c 4022cc2a +3ffffdf0: 3ffffe70 402096b3 3fff451c 4022cc18 +3ffffe00: 3ffffe30 3fff42c8 3fff8bac 402096c4 3ffffe10: 454d5b20 4f205d4d 52204154 72657365 -3ffffe20: 00000000 00642520 4025cc50 4020966c +3ffffe20: 00000000 00642520 4025cd2c 4020966c 3ffffe30: 3ffffe70 3ffffe40 00000008 00000000 -3ffffe40: 00000002 3fff4670 3fff42c8 40246950 -3ffffe50: 3fff8a40 ff000000 00068aec 4020f478 -3ffffe60: 0000001b 00003234 400205e9 4024f36d -3ffffe70: 4020cb8c 3fff4670 3fff42c8 00000000 +3ffffe40: 00000002 3fff4670 3fff42c8 402469d8 +3ffffe50: 3fff8af8 ff000000 00068bcc 4020f500 +3ffffe60: 0000001b 00003234 400205e9 4024f3f5 +3ffffe70: 4020cc14 3fff4670 3fff42c8 00000000 3ffffe80: 00000002 3fff4670 3fff42c8 4020a628 3ffffe90: 45455b20 4d4f5250 4545205d 4d4f5250 3ffffea0: 63655320 20726f74 6c6f6f70 7a697320 @@ -17,17 +17,17 @@ 3ffffec0: 61206573 203a6572 39313031 31303120 3ffffed0: 30312038 31203731 20363130 00000000 3ffffee0: 36313031 00000000 00000000 00000000 -3ffffef0: 00000000 00000000 ff000007 4020f3d6 -3fffff00: 00000000 00000007 3ffe8304 4022730f +3ffffef0: 00000000 00000000 ff000007 4020f45e +3fffff00: 00000000 00000007 3ffe8304 40227397 3fffff10: 0000000d 00000001 3fff42c8 3fff45a0 -3fffff20: 3fff8bac 00000001 3fff42c8 4020c3e1 -3fffff30: 3fffdad0 3fff4530 0000000d 40217ab6 +3fffff20: 3fff89c4 00000001 3fff42c8 4020c469 +3fffff30: 3fffdad0 3fff4530 0000000d 40217b3e 3fffff40: 3fffdad0 3fff4530 3fff451c 3fff45a0 -3fffff50: 0000000d 3fff451c 3fff42c8 4020c9b5 +3fffff50: 0000000d 3fff451c 3fff42c8 4020ca3d 3fffff60: 0000000d 3fff4808 3ffe97ac 3fff47ac 3fffff70: 3fff42c8 3fff28cc 3fff42b8 3fff47ac -3fffff80: 3fffdad0 3fff28cc 3fff42c8 4020ca80 +3fffff80: 3fffdad0 3fff28cc 3fff42c8 4020cb08 3fffff90: 3fffdad0 00000000 3fff28cc 40205ccc -3fffffa0: 3fffdad0 00000000 3fff477c 4020e9fc +3fffffa0: 3fffdad0 00000000 3fff477c 4020ea84 3fffffb0: feefeffe feefeffe 3ffe97ac 401006f1 << Date: Fri, 7 Jun 2019 07:58:20 +0200 Subject: [PATCH 43/66] additional crash info --- lib/MyESP/MyESP.cpp | 76 ++++++++++++++++++++++++++++++++++++++------- lib/MyESP/MyESP.h | 2 +- 2 files changed, 66 insertions(+), 12 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 756f02204..6fe738f94 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -852,13 +852,14 @@ String MyESP::_buildTime() { // returns system uptime in seconds - copied for espurna. see (c) unsigned long MyESP::_getUptime() { - static unsigned long last_uptime = 0; - static unsigned char uptime_overflows = 0; + static uint32_t last_uptime = 0; + static uint8_t uptime_overflows = 0; - if (millis() < last_uptime) + if (millis() < last_uptime) { ++uptime_overflows; - last_uptime = millis(); - unsigned long uptime_seconds = uptime_overflows * (UPTIME_OVERFLOW / 1000) + (last_uptime / 1000); + } + last_uptime = millis(); + uint32_t uptime_seconds = uptime_overflows * (UPTIME_OVERFLOW / 1000) + (last_uptime / 1000); return uptime_seconds; } @@ -887,7 +888,7 @@ void MyESP::showSystemStats() { uint32_t rem = t % 3600L; uint8_t m = rem / 60; uint8_t s = rem % 60; - myDebug_P(PSTR(" [APP] Uptime: %d days, %d hours, %d minutes, %d seconds"), d, h, m, s); + myDebug_P(PSTR(" [APP] Uptime: %d days %d hours %d minutes %d seconds"), d, h, m, s); myDebug_P(PSTR(" [APP] System Load: %d%%"), getSystemLoadAverage()); @@ -904,7 +905,6 @@ void MyESP::showSystemStats() { #ifdef CRASH char output_str[80] = {0}; char buffer[16] = {0}; - /* Crash info */ myDebug_P(PSTR(" [EEPROM] EEPROM size: %u"), EEPROMr.reserved() * SPI_FLASH_SEC_SIZE); strlcpy(output_str, " [EEPROM] EEPROM Sector pool size is ", sizeof(output_str)); strlcat(output_str, itoa(EEPROMr.size(), buffer, 10), sizeof(output_str)); @@ -1433,18 +1433,71 @@ void MyESP::crashClear() { /** * Print out crash information that has been previously saved in EEPROM + * Copied from https://github.com/krzychb/EspSaveCrash */ void MyESP::crashDump() { uint32_t crash_time; EEPROMr.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_CRASH_TIME, crash_time); if ((crash_time == 0) || (crash_time == 0xFFFFFFFF)) { - myDebug_P(PSTR("[CRASH] No crash info")); + myDebug_P(PSTR("[CRASH] No crash data captured.")); return; } - myDebug_P(PSTR("[CRASH] Latest crash was at %lu ms after boot"), crash_time); - myDebug_P(PSTR("[CRASH] Reason of restart: %u"), EEPROMr.read(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_RESTART_REASON)); - myDebug_P(PSTR("[CRASH] Exception cause: %u"), EEPROMr.read(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EXCEPTION_CAUSE)); + uint32_t t = crash_time / 1000; // convert to seconds + uint32_t d = t / 86400L; + uint32_t h = (t / 3600L) % 60; + uint32_t rem = t % 3600L; + uint8_t m = rem / 60; + uint8_t s = rem % 60; + myDebug_P(PSTR("[CRASH] Last crash was %d days %d hours %d minutes %d seconds since boot time"), d, h, m, s); + + // get reason and exception + // https://www.espressif.com/sites/default/files/documentation/esp8266_reset_causes_and_common_fatal_exception_causes_en.pdf + char buffer[80] = {0}; + char ss[16] = {0}; + strlcpy(buffer, "[CRASH] Reason of restart: ", sizeof(buffer)); + + uint8_t reason = EEPROMr.read(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_RESTART_REASON); + switch (reason) { + case REASON_WDT_RST: + strlcat(buffer, "1 - Hardware WDT reset", sizeof(buffer)); + break; + case REASON_EXCEPTION_RST: + strlcat(buffer, "2 - Fatal exception", sizeof(buffer)); + break; + case REASON_SOFT_WDT_RST: + strlcat(buffer, "3 - Software watchdog reset", sizeof(buffer)); + break; + case REASON_EXT_SYS_RST: + strlcat(buffer, "6 - Hardware reset", sizeof(buffer)); + break; + case REASON_SOFT_RESTART: + strlcat(buffer, "4 - Software reset", sizeof(buffer)); + break; + default: + strlcat(buffer, itoa(reason, ss, 10), sizeof(buffer)); + } + myDebug(buffer); + + // check for exception + // see https://github.com/esp8266/Arduino/blob/master/doc/exception_causes.rst + if (reason == REASON_EXCEPTION_RST) { + // get exception cause + uint8_t cause = EEPROMr.read(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EXCEPTION_CAUSE); + strlcpy(buffer, "[CRASH] Exception cause: ", sizeof(buffer)); + if (cause == 0) { + strlcat(buffer, "0 - IllegalInstructionCause", sizeof(buffer)); + } else if (cause == 3) { + strlcat(buffer, "3 - LoadStoreErrorCause", sizeof(buffer)); + } else if (cause == 6) { + strlcat(buffer, "6 - IntegerDivideByZeroCause", sizeof(buffer)); + } else if (cause == 9) { + strlcat(buffer, "9 - LoadStoreAlignmentCause", sizeof(buffer)); + } else { + strlcat(buffer, itoa(cause, ss, 10), sizeof(buffer)); + } + } + myDebug(buffer); uint32_t epc1, epc2, epc3, excvaddr, depc; EEPROMr.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_EPC1, epc1); @@ -1479,6 +1532,7 @@ void MyESP::crashDump() { SerialAndTelnet.println(); } myDebug_P(PSTR("<< #include From 3c6215c3eb4668a899d58c0760f8761329c9548b Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 8 Jun 2019 17:18:28 +0200 Subject: [PATCH 44/66] stackdmp ignore --- .gitignore | 1 + scripts/stackdmp.txt | 46 ++++++++++++++++++++++---------------------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index c88e89fdd..f5e446991 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ lib/readme.txt .travis.yml ;stackdmp.txt ;*.jar +scripts/stackdmp.txt diff --git a/scripts/stackdmp.txt b/scripts/stackdmp.txt index aad262d42..4ad1b06cd 100644 --- a/scripts/stackdmp.txt +++ b/scripts/stackdmp.txt @@ -1,33 +1,33 @@ >>>stack>>> -3ffffdd0: 3ffffe30 3fff42c8 3fff8bac 402111f0 -3ffffde0: 3fff8bac 3fff42c8 3fff451c 4022cc2a -3ffffdf0: 3ffffe70 402096b3 3fff451c 4022cc18 -3ffffe00: 3ffffe30 3fff42c8 3fff8bac 402096c4 +3ffffdd0: 3ffffe30 3fff43c8 3fff89bc 40211340 +3ffffde0: 3fff89bc 3fff43c8 3fff461c 4022cd7a +3ffffdf0: 3ffffe70 402096cb 3fff461c 4022cd68 +3ffffe00: 3ffffe30 3fff43c8 3fff89bc 402096dc 3ffffe10: 454d5b20 4f205d4d 52204154 72657365 -3ffffe20: 00000000 00642520 4025cd2c 4020966c -3ffffe30: 3ffffe70 3ffffe40 00000008 00000000 -3ffffe40: 00000002 3fff4670 3fff42c8 402469d8 -3ffffe50: 3fff8af8 ff000000 00068bcc 4020f500 -3ffffe60: 0000001b 00003234 400205e9 4024f3f5 -3ffffe70: 4020cc14 3fff4670 3fff42c8 00000000 -3ffffe80: 00000002 3fff4670 3fff42c8 4020a628 +3ffffe20: 00000000 00642520 4025ce70 40209684 +3ffffe30: 3ffffe70 3ffffe40 00000008 00000001 +3ffffe40: 00000002 3fff4770 3fff43c8 40246b28 +3ffffe50: 3fff89b8 ff000000 00068d0c 4020f650 +3ffffe60: 0000001b 00003340 400205e9 4024f545 +3ffffe70: 4020cd64 3fff4770 3fff43c8 00000001 +3ffffe80: 00000002 3fff4770 3fff43c8 4020a640 3ffffe90: 45455b20 4d4f5250 4545205d 4d4f5250 3ffffea0: 63655320 20726f74 6c6f6f70 7a697320 3ffffeb0: 73692065 202c3420 20646e61 75206e69 3ffffec0: 61206573 203a6572 39313031 31303120 3ffffed0: 30312038 31203731 20363130 00000000 3ffffee0: 36313031 00000000 00000000 00000000 -3ffffef0: 00000000 00000000 ff000007 4020f45e -3fffff00: 00000000 00000007 3ffe8304 40227397 -3fffff10: 0000000d 00000001 3fff42c8 3fff45a0 -3fffff20: 3fff89c4 00000001 3fff42c8 4020c469 -3fffff30: 3fffdad0 3fff4530 0000000d 40217b3e -3fffff40: 3fffdad0 3fff4530 3fff451c 3fff45a0 -3fffff50: 0000000d 3fff451c 3fff42c8 4020ca3d -3fffff60: 0000000d 3fff4808 3ffe97ac 3fff47ac -3fffff70: 3fff42c8 3fff28cc 3fff42b8 3fff47ac -3fffff80: 3fffdad0 3fff28cc 3fff42c8 4020cb08 -3fffff90: 3fffdad0 00000000 3fff28cc 40205ccc -3fffffa0: 3fffdad0 00000000 3fff477c 4020ea84 +3ffffef0: 00000000 00000000 ff000007 4020f5ae +3fffff00: 00000000 00000007 3ffe8304 402274e7 +3fffff10: 0000000d 00000001 3fff43c8 3fff46a0 +3fffff20: 3fff8c4c 00000001 3fff43c8 4020c5b9 +3fffff30: 3fffdad0 3fff4630 0000000d 40217c8e +3fffff40: 3fffdad0 3fff4630 3fff461c 3fff46a0 +3fffff50: 0000000d 3fff461c 3fff43c8 4020cb89 +3fffff60: 0000000d 3fff4908 3ffe97ac 3fff48ac +3fffff70: 3fff43c8 3fff29cc 3fff43b8 3fff48ac +3fffff80: 3fffdad0 3fff29cc 3fff43c8 4020cc58 +3fffff90: 3fffdad0 00000000 3fff29cc 40205ccc +3fffffa0: 3fffdad0 00000000 3fff487c 4020ebd4 3fffffb0: feefeffe feefeffe 3ffe97ac 401006f1 << Date: Sat, 8 Jun 2019 17:18:38 +0200 Subject: [PATCH 45/66] cosemtic changes --- src/ems.cpp | 28 +++++++++++++++++++--------- src/emsuart.cpp | 10 ++++++---- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 1f88c34d2..548bd9848 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -550,6 +550,15 @@ void _ems_sendTelegram() { return; } + // if we're preventing all outbound traffic, quit + if (EMS_Sys_Status.emsTxDisabled) { + EMS_TxQueue.shift(); // remove from queue + if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { + myDebug_P(PSTR("in Listen Mode. All Tx is disabled.")); + } + return; + } + // get the first in the queue, which is at the head // we don't remove from the queue yet _EMS_TxTelegram EMS_TxTelegram = EMS_TxQueue.first(); @@ -561,19 +570,18 @@ void _ems_sendTelegram() { } // if we're in raw mode just fire and forget - // e.g. send 0B 88 02 00 20 if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_RAW) { - _EMS_RxTelegram EMS_RxTelegram; // create new Rx object - - EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); // add the CRC - EMS_RxTelegram.length = EMS_TxTelegram.length; // full length of telegram - EMS_RxTelegram.telegram = EMS_TxTelegram.data; - EMS_RxTelegram.timestamp = millis(); // now if (EMS_Sys_Status.emsLogging != EMS_SYS_LOGGING_NONE) { + _EMS_RxTelegram EMS_RxTelegram; // create new Rx object + EMS_RxTelegram.length = EMS_TxTelegram.length; // full length of telegram + EMS_RxTelegram.telegram = EMS_TxTelegram.data; + EMS_RxTelegram.timestamp = millis(); // now _debugPrintTelegram("Sending raw: ", &EMS_RxTelegram, COLOR_CYAN, true); } + + EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); // add the CRC emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); // send the telegram to the UART Tx - EMS_TxQueue.shift(); // remove from queue + EMS_TxQueue.shift(); // and remove from queue return; } @@ -2023,7 +2031,9 @@ void ems_doReadCommand(uint16_t type, uint8_t dest, bool forceRefresh) { // if we're preventing all outbound traffic, quit if (EMS_Sys_Status.emsTxDisabled) { - myDebug_P(PSTR("in Listen Mode. All Tx is disabled.")); + if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { + myDebug_P(PSTR("in Listen Mode. All Tx is disabled.")); + } return; } diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 1b6e4e227..5a9d96d5c 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -182,11 +182,13 @@ void ICACHE_FLASH_ATTR emsuart_tx_brk() { // automatically be sent when the tx fifo is empty tmp = (1 << UCBRK); USC0(EMSUART_UART) |= (tmp); // set bit - if (EMS_Sys_Status.emsTxMode <= 2) { - delayMicroseconds(EMSUART_TX_BRK_WAIT); // classic mode - } else if (EMS_Sys_Status.emsTxMode == 3) { + + if (EMS_Sys_Status.emsTxMode <= 2) { // classic mode + delayMicroseconds(EMSUART_TX_BRK_WAIT); + } else if (EMS_Sys_Status.emsTxMode == 3) { // junkers mode delayMicroseconds(EMSUART_TX_WAIT_BRK - EMSUART_TX_LAG); // 1144 (11 Bits) } + USC0(EMSUART_UART) &= ~(tmp); // clear bit } @@ -204,7 +206,7 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { * Send to Tx, ending with a */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { - if (EMS_Sys_Status.emsTxMode == 0) { // Classic logic + if (EMS_Sys_Status.emsTxMode == 0) { // classic mode logic for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; } From b3bdcd222811f65e87637d5370f057640db7a56b Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 8 Jun 2019 17:22:22 +0200 Subject: [PATCH 46/66] merged Junkers FW100 & ISM1 --- src/ems-esp.cpp | 36 +++++++++++++++++------------------- src/ems_devices.h | 18 +++++++++--------- src/emsuart.cpp | 4 ++-- src/version.h | 2 +- 4 files changed, 29 insertions(+), 31 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 73b01dfed..e355d537b 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -110,7 +110,7 @@ command_t project_cmds[] = { {false, "info", "show data captured on the EMS bus"}, {false, "log ", "set logging mode to none, basic, thermostat only, raw or verbose"}, - + #ifdef TESTS {false, "test ", "insert a test telegram on to the EMS bus"}, #endif @@ -348,7 +348,8 @@ void showInfo() { if (ems_getTxCapable()) { char valuestr[8] = {0}; // for formatting floats myDebug_P(PSTR(" Tx: Last poll=%s seconds ago, Tx mode=%d, # successful write requests=%d"), - _float_to_char(valuestr, (ems_getPollFrequency() / (float)1000000), 3), ems_getTxMode(), + _float_to_char(valuestr, (ems_getPollFrequency() / (float)1000000), 3), + ems_getTxMode(), EMS_Sys_Status.emsTxPkgs); } else { myDebug_P(PSTR(" Tx: no signal")); @@ -476,19 +477,16 @@ void showInfo() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sThermostat stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Thermostat: %s"), ems_getThermostatDescription(buffer_type)); - + // Render Current & Setpoint Room Temperature - if ( (ems_getThermostatModel() == EMS_MODEL_EASY) - || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) - || (ems_getThermostatModel() == EMS_MODEL_FR10) - || (ems_getThermostatModel() == EMS_MODEL_FW100)) { + if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) + || (ems_getThermostatModel() == EMS_MODEL_FW100)) { // Temperatures are *10 _renderShortValue("Set room temperature", "C", EMS_Thermostat.setpoint_roomTemp, 10); // *100 _renderShortValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp, 10); // *100 - } - else { + } else { // because we store in 2 bytes short, when converting to a single byte we'll loose the negative value if its unset - if (EMS_Thermostat.setpoint_roomTemp <= 0) { + if (EMS_Thermostat.setpoint_roomTemp <= 0) { EMS_Thermostat.setpoint_roomTemp = EMS_VALUE_INT_NOTSET; } if (EMS_Thermostat.curr_roomTemp <= 0) { @@ -507,13 +505,13 @@ void showInfo() { // Render Thermostat Date & Time myDebug_P(PSTR(" Thermostat time is %02d:%02d:%02d %d/%d/%d"), - EMS_Thermostat.hour, - EMS_Thermostat.minute, - EMS_Thermostat.second, - EMS_Thermostat.day, - EMS_Thermostat.month, - EMS_Thermostat.year + 2000); - + EMS_Thermostat.hour, + EMS_Thermostat.minute, + EMS_Thermostat.second, + EMS_Thermostat.day, + EMS_Thermostat.month, + EMS_Thermostat.year + 2000); + // Render Termostat Mode if (EMS_Thermostat.mode == 0) { myDebug_P(PSTR(" Mode is set to low")); @@ -583,7 +581,6 @@ void publishSensorValues() { // CRC check is done to see if there are changes in the values since the last send to avoid too much wifi traffic // a check is done against the previous values and if there are changes only then they are published. Unless force=true void publishValues(bool force) { - // don't send if MQTT is connected if (!myESP.isMQTTConnected()) { return; @@ -698,7 +695,8 @@ void publishValues(bool force) { rootThermostat[THERMOSTAT_HC] = _int_to_char(s, EMSESP_Status.heating_circuit); // different logic depending on thermostat types - if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100)) { + if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) + || (ems_getThermostatModel() == EMS_MODEL_FW100)) { if (abs(EMS_Thermostat.setpoint_roomTemp) < EMS_VALUE_SHORT_NOTSET) rootThermostat[THERMOSTAT_SELTEMP] = (double)EMS_Thermostat.setpoint_roomTemp / 10; if (abs(EMS_Thermostat.curr_roomTemp) < EMS_VALUE_SHORT_NOTSET) diff --git a/src/ems_devices.h b/src/ems_devices.h index 934524267..9c6ff0448 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -41,14 +41,14 @@ #define EMS_OFFSET_UBASetPoints_flowtemp 0 // flow temp // Other -#define EMS_TYPE_SM10Monitor 0x97 // SM10Monitor -#define EMS_TYPE_SM100Monitor 0x0262 // SM100Monitor -#define EMS_TYPE_SM100Status 0x0264 // SM100Status -#define EMS_TYPE_SM100Status2 0x026A // SM100Status2 -#define EMS_TYPE_SM100Energy 0x028E // SM100Energy -#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 -#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 -#define EMS_TYPE_ISM1StatusMessage 0x0003 // Solar Module Junkers ISM1 Status +#define EMS_TYPE_SM10Monitor 0x97 // SM10Monitor +#define EMS_TYPE_SM100Monitor 0x0262 // SM100Monitor +#define EMS_TYPE_SM100Status 0x0264 // SM100Status +#define EMS_TYPE_SM100Status2 0x026A // SM100Status2 +#define EMS_TYPE_SM100Energy 0x028E // SM100Energy +#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 +#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 +#define EMS_TYPE_ISM1StatusMessage 0x0003 // Solar Module Junkers ISM1 Status /* * Thermostats... @@ -183,7 +183,7 @@ const _Other_Type Other_Types[] = { {EMS_MODEL_OTHER, 163, EMS_ID_SM, "SM100 Solar Module"}, {EMS_MODEL_OTHER, 171, 0x02, "EMS-OT OpenTherm converter"}, {EMS_MODEL_OTHER, 252, EMS_ID_HP, "HeatPump Module"}, // warning, fake product id! - {EMS_MODEL_OTHER, 101, 0x30, "Junkers ISM1 Solar Controller"}, + {EMS_MODEL_OTHER, 101, 0x30, "Junkers ISM1 Solar Controller"}, {EMS_MODEL_OTHER, 189, EMS_ID_GATEWAY, "Web Gateway KM200"} }; diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 5a9d96d5c..99bc672d4 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -185,10 +185,10 @@ void ICACHE_FLASH_ATTR emsuart_tx_brk() { if (EMS_Sys_Status.emsTxMode <= 2) { // classic mode delayMicroseconds(EMSUART_TX_BRK_WAIT); - } else if (EMS_Sys_Status.emsTxMode == 3) { // junkers mode + } else if (EMS_Sys_Status.emsTxMode == 3) { // junkers mode delayMicroseconds(EMSUART_TX_WAIT_BRK - EMSUART_TX_LAG); // 1144 (11 Bits) } - + USC0(EMSUART_UART) &= ~(tmp); // clear bit } diff --git a/src/version.h b/src/version.h index 99621e374..ca1d2ef86 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b10" +#define APP_VERSION "1.8.0b11" #define APP_HOSTNAME "ems-esp" From 82ca347d44602cb1e698668ade74a6cd2ddc16c9 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 8 Jun 2019 17:25:44 +0200 Subject: [PATCH 47/66] updated for 1.8.0b11 --- CHANGELOG.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e8bd4f69..8b6a4145c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,21 +5,20 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.8.0dev] 2019-05-26 +## [1.8.0dev] 2019-06-08 ### Added -- HeatPump (e.g. Nefit Enviline) -- MM50 Mixer +- Support for HeatPump (e.g. the Nefit Enviline) +- new device: Buderus MM50 Mixer +- new devices: Junkers FW100 and ISM1 (thanks @Vuego123) - tx_mode takes a value from 0 to 3 for the different Tx logic - + ``` 0 = original classic ems logic - 1 = @kwertie01 ems+ logic (https://github.com/proddy/EMS-ESP/issues/23#issuecomment-476872291) - 2 = @susisstrolch logic [(pull request 113)](https://github.com/proddy/EMS-ESP/pull/113) - 3 = @philrich logic for Junkers (https://github.com/proddy/EMS-ESP/files/3190563/ems-delay-rev-poll.patch.txt) + ``` ### Fixed From 58a244ab2a9b6dc0ff68c4dd21f47edcb7071044 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 8 Jun 2019 22:35:37 +0200 Subject: [PATCH 48/66] clear list on autodetect --- lib/MyESP/MyESP.cpp | 2 +- src/ems-esp.cpp | 1 + src/ems.cpp | 7 +++++++ src/ems.h | 1 + 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 6fe738f94..e3303ba9e 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -945,7 +945,7 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [MEM] Firmware size: %d"), ESP.getSketchSize()); myDebug_P(PSTR(" [MEM] Max OTA size: %d"), (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); myDebug_P(PSTR(" [MEM] OTA Reserved: %d"), 4 * SPI_FLASH_SEC_SIZE); - myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); + //myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); myDebug_P(PSTR("")); } diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index e355d537b..b85607069 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -964,6 +964,7 @@ void startDeviceScan() { regularUpdatesTimer.detach(); publishSensorValuesTimer.detach(); scanDevices_count = 1; // starts at 1 + ems_clearDeviceList(); // empty the current list ems_setLogging(EMS_SYS_LOGGING_NONE); myDebug_P(PSTR("Starting a deep EMS device scan. This can take up to 2 minutes. Please wait...")); scanThermostat.attach_ms(SCANDEVICES_TIME, do_scanDevices); diff --git a/src/ems.cpp b/src/ems.cpp index 310e3f36f..3f1759f57 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1529,6 +1529,13 @@ void _process_RCTime(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Thermostat.year = _toByte(0); } +/* + * Clear devices list + */ +void ems_clearDeviceList() { + Devices.clear(); +} + /* * add an EMS device to our list of detected devices */ diff --git a/src/ems.h b/src/ems.h index 8464c914d..e4a763b8a 100644 --- a/src/ems.h +++ b/src/ems.h @@ -314,6 +314,7 @@ void ems_setWarmWaterModeComfort(uint8_t comfort); bool ems_checkEMSBUSAlive(); void ems_setModels(); void ems_setTxDisabled(bool b); +void ems_clearDeviceList(); void ems_getThermostatValues(); void ems_getBoilerValues(); From 4ee2cc0f6cba3b13120d791d779f15911501d81a Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 9 Jun 2019 22:12:38 +0200 Subject: [PATCH 49/66] improved crash detection --- lib/MyESP/MyESP.cpp | 215 ++++++++++++++++++++++++++++++++++------- lib/MyESP/MyESP.h | 73 +++++++++++++- platformio.ini-example | 4 +- scripts/stackdmp.txt | 72 ++++++++------ src/emsuart.cpp | 12 +-- src/version.h | 2 +- 6 files changed, 297 insertions(+), 81 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index e3303ba9e..1e5266b9e 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -8,9 +8,19 @@ #include "MyESP.h" -#ifdef CRASH EEPROM_Rotate EEPROMr; -#endif + +union system_rtcmem_t { + struct { + uint8_t stability_counter; + uint8_t reset_reason; + uint16_t _reserved_; + } parts; + uint32_t value; +}; + +uint8_t RtcmemSize = (sizeof(RtcmemData) / 4u); +auto Rtcmem = reinterpret_cast(RTCMEM_ADDR); // constructor MyESP::MyESP() { @@ -57,6 +67,9 @@ MyESP::MyESP() { _ota_post_callback = NULL; _suspendOutput = false; + + _rtcmem_status = false; + _systemStable = true; } MyESP::~MyESP() { @@ -361,7 +374,6 @@ void MyESP::setOTA(ota_callback_f OTACallback_pre, ota_callback_f OTACallback_po void MyESP::_OTACallback() { myDebug_P(PSTR("[OTA] Start")); -#ifdef CRASH // If we are not specifically reserving the sectors we are using as // EEPROM in the memory layout then any OTA upgrade will overwrite // all but the last one. @@ -374,7 +386,6 @@ void MyESP::_OTACallback() { // See onError callback below. EEPROMr.rotate(false); EEPROMr.commit(); -#endif if (_ota_pre_callback) { (_ota_pre_callback)(); // call custom function @@ -391,7 +402,11 @@ void MyESP::_ota_setup() { ArduinoOTA.setHostname(_app_hostname); ArduinoOTA.onStart([this]() { _OTACallback(); }); - ArduinoOTA.onEnd([this]() { myDebug_P(PSTR("[OTA] Done, restarting...")); }); + ArduinoOTA.onEnd([this]() { + myDebug_P(PSTR("[OTA] Done, restarting...")); + _deferredReset(100, CUSTOM_RESET_OTA); + }); + ArduinoOTA.onProgress([this](unsigned int progress, unsigned int total) { static unsigned int _progOld; unsigned int _prog = (progress / (total / 100)); @@ -413,10 +428,8 @@ void MyESP::_ota_setup() { else if (error == OTA_END_ERROR) myDebug_P(PSTR("[OTA] End Failed")); -#ifdef CRASH // There's been an error, reenable rotation EEPROMr.rotate(true); -#endif }); } @@ -430,10 +443,8 @@ void MyESP::setBoottime(const char * boottime) { // eeprom void MyESP::_eeprom_setup() { -#ifdef CRASH EEPROMr.size(4); EEPROMr.begin(SPI_FLASH_SEC_SIZE); -#endif } // Set callback of sketch function to process project messages @@ -449,7 +460,6 @@ void MyESP::_telnetConnected() { _consoleShowHelp(); // Show the initial message // show crash dump if just restarted after a fatal crash -#ifdef CRASH uint32_t crash_time; EEPROMr.get(SAVE_CRASH_EEPROM_OFFSET + SAVE_CRASH_CRASH_TIME, crash_time); if ((crash_time != 0) && (crash_time != 0xFFFFFFFF)) { @@ -461,7 +471,6 @@ void MyESP::_telnetConnected() { EEPROMr.commit(); */ } -#endif // call callback if (_telnet_callback) { @@ -505,9 +514,7 @@ void MyESP::_consoleShowHelp() { myDebug_P(PSTR("* Commands:")); myDebug_P(PSTR("* ?=help, CTRL-D/quit=exit telnet session")); myDebug_P(PSTR("* set, system, reboot")); -#ifdef CRASH myDebug_P(PSTR("* crash ")); -#endif // print custom commands if available. Taken from progmem if (_telnetcommand_callback) { @@ -601,6 +608,7 @@ void MyESP::_printSetCommands() { // reset / restart void MyESP::resetESP() { myDebug_P(PSTR("* Reboot ESP...")); + _deferredReset(100, CUSTOM_RESET_TERMINAL); end(); #if defined(ARDUINO_ARCH_ESP32) ESP.restart(); @@ -792,8 +800,7 @@ void MyESP::_telnetCommand(char * commandLine) { } -// crash command -#ifdef CRASH + // crash command if ((strcmp(ptrToCommandName, "crash") == 0) && (wc == 2)) { char * cmd = _telnet_readWord(false); if (strcmp(cmd, "dump") == 0) { @@ -805,7 +812,6 @@ void MyESP::_telnetCommand(char * commandLine) { } return; // don't call custom command line callback } -#endif // call callback function (_telnetcommand_callback)(wc, commandLine); @@ -864,6 +870,137 @@ unsigned long MyESP::_getUptime() { return uptime_seconds; } +// reason code +void MyESP::_rtcmemInit() { + memset((uint32_t *)RTCMEM_ADDR, 0, sizeof(uint32_t) * RTCMEM_BLOCKS); + Rtcmem->magic = RTCMEM_MAGIC; +} + +uint8_t MyESP::_getSystemStabilityCounter() { + system_rtcmem_t data; + data.value = Rtcmem->sys; + return data.parts.stability_counter; +} + +void MyESP::_setSystemStabilityCounter(uint8_t counter) { + system_rtcmem_t data; + data.value = Rtcmem->sys; + data.parts.stability_counter = counter; + Rtcmem->sys = data.value; +} + +uint8_t MyESP::_getSystemResetReason() { + system_rtcmem_t data; + data.value = Rtcmem->sys; + return data.parts.reset_reason; +} + +void MyESP::_setSystemResetReason(uint8_t reason) { + system_rtcmem_t data; + data.value = Rtcmem->sys; + data.parts.reset_reason = reason; + Rtcmem->sys = data.value; +} + +uint32_t MyESP::getSystemResetReason() { + return resetInfo.reason; +} + +void MyESP::_rtcmemSetup() { + _rtcmem_status = _rtcmemStatus(); + if (!_rtcmem_status) { + _rtcmemInit(); + } +} + +void MyESP::_setCustomResetReason(uint8_t reason) { + _setSystemResetReason(reason); +} + +// Treat memory as dirty on cold boot, hardware wdt reset and rst pin +bool MyESP::_rtcmemStatus() { + bool readable; + + switch (getSystemResetReason()) { + case REASON_EXT_SYS_RST: + case REASON_WDT_RST: + case REASON_DEFAULT_RST: + readable = false; + break; + default: + readable = true; + } + + readable = readable and (RTCMEM_MAGIC == Rtcmem->magic); + + return readable; +} + +bool MyESP::rtcmemStatus() { + return _rtcmem_status; +} + +unsigned char MyESP::_getCustomResetReason() { + static unsigned char status = 255; + if (status == 255) { + if (_rtcmemStatus()) + status = _getSystemResetReason(); + if (status > 0) + _setCustomResetReason(0); + if (status > CUSTOM_RESET_MAX) + status = 0; + } + return status; +} + +void MyESP::_deferredReset(unsigned long delaytime, unsigned char reason) { + delay(delaytime); + _setCustomResetReason(reason); +} + +// Call this method on boot with start=true to increase the crash counter +// Call it again once the system is stable to decrease the counter +// If the counter reaches SYSTEM_CHECK_MAX then the system is flagged as unstable +// setting _systemOK = false; +// +// An unstable system will only have serial access, WiFi in AP mode and OTA +void MyESP::_setSystemCheck(bool stable) { + uint8_t value = 0; + + if (stable) { + value = 0; // system is ok + // myDebug_P(PSTR("[SYSTEM] System OK\n")); + } else { + if (!rtcmemStatus()) { + _setSystemStabilityCounter(1); + return; + } + + value = _getSystemStabilityCounter(); + + if (++value > SYSTEM_CHECK_MAX) { + _systemStable = false; + value = 0; // system is unstable + myDebug_P(PSTR("[SYSTEM] Warning, system UNSTABLE\n")); + } + } + + _setSystemStabilityCounter(value); +} + +bool MyESP::getSystemCheck() { + return _systemStable; +} + +void MyESP::_systemCheckLoop() { + static bool checked = false; + if (!checked && (millis() > SYSTEM_CHECK_TIME)) { + _setSystemCheck(true); // Flag system as stable + checked = true; + } +} + + // print out ESP system stats // for battery power is ESP.getVcc() void MyESP::showSystemStats() { @@ -892,6 +1029,10 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [APP] System Load: %d%%"), getSystemLoadAverage()); + if (!getSystemCheck()) { + myDebug_P(PSTR(" [SYSTEM] Device is in SAFE MODE")); + } + if (isAPmode()) { myDebug_P(PSTR(" [WIFI] Device is in AP mode with SSID %s"), jw.getAPSSID().c_str()); } else { @@ -902,7 +1043,6 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [WIFI] WiFi MAC: %s"), WiFi.macAddress().c_str()); -#ifdef CRASH char output_str[80] = {0}; char buffer[16] = {0}; myDebug_P(PSTR(" [EEPROM] EEPROM size: %u"), EEPROMr.reserved() * SPI_FLASH_SEC_SIZE); @@ -914,7 +1054,6 @@ void MyESP::showSystemStats() { strlcat(output_str, " ", sizeof(output_str)); } myDebug(output_str); -#endif #ifdef ARDUINO_BOARD myDebug_P(PSTR(" [SYSTEM] Board: %s"), ARDUINO_BOARD); @@ -929,6 +1068,21 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [SYSTEM] Boot version: %d"), ESP.getBootVersion()); myDebug_P(PSTR(" [SYSTEM] Boot mode: %d"), ESP.getBootMode()); //myDebug_P(PSTR("[SYSTEM] Firmware MD5: %s"), (char *)ESP.getSketchMD5().c_str()); + unsigned char reason = _getCustomResetReason(); + if (reason > 0) { + char buffer[32]; + strcpy_P(buffer, custom_reset_string[reason - 1]); + myDebug_P(PSTR(" [SYSTEM] Last reset reason: %s"), buffer); + } else { + myDebug_P(PSTR(" [SYSTEM] Last reset reason: %s"), (char *)ESP.getResetReason().c_str()); + myDebug_P(PSTR(" [SYSTEM] Last reset info: %s"), (char *)ESP.getResetInfo().c_str()); + } + myDebug_P(PSTR(" [SYSTEM] Restart count: %d"), _getSystemStabilityCounter()); + + myDebug_P(PSTR(" [SYSTEM] rtcmem status:%u blocks:%u addr:0x%p"), _rtcmemStatus(), RtcmemSize, Rtcmem); + for (uint8_t block = 0; block < RtcmemSize; ++block) { + myDebug_P(PSTR(" [SYSTEM] rtcmem %02u: %u"), block, reinterpret_cast(RTCMEM_ADDR)[block]); + } #endif FlashMode_t mode = ESP.getFlashChipMode(); @@ -942,10 +1096,10 @@ void MyESP::showSystemStats() { #endif myDebug_P(PSTR(" [FLASH] Flash size (SDK): %d"), ESP.getFlashChipSize()); myDebug_P(PSTR(" [FLASH] Flash Reserved: %d"), 1 * SPI_FLASH_SEC_SIZE); - myDebug_P(PSTR(" [MEM] Firmware size: %d"), ESP.getSketchSize()); + //myDebug_P(PSTR(" [MEM] Firmware size: %d"), ESP.getSketchSize()); // TODO: commented out because it causes a crash with 2.5.2 myDebug_P(PSTR(" [MEM] Max OTA size: %d"), (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); myDebug_P(PSTR(" [MEM] OTA Reserved: %d"), 4 * SPI_FLASH_SEC_SIZE); - //myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); + myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); myDebug_P(PSTR("")); } @@ -1385,7 +1539,6 @@ int MyESP::getWifiQuality() { return 2 * (dBm + 100); } -#ifdef CRASH /** * Save crash information in EEPROM * This function is called automatically if ESP8266 suffers an exception @@ -1534,14 +1687,6 @@ void MyESP::crashDump() { myDebug_P(PSTR("<< #include @@ -18,13 +18,14 @@ #include #include // https://github.com/xoseperez/justwifi #include // modified from https://github.com/yasheena/telnetspy +#include -#ifdef CRASH #include extern "C" { -void custom_crash_callback(struct rst_info *, uint32_t, uint32_t); +#include "user_interface.h" +void custom_crash_callback(struct rst_info *, uint32_t, uint32_t); +extern struct rst_info resetInfo; } -#endif #if defined(ARDUINO_ARCH_ESP32) //#include @@ -86,6 +87,18 @@ void custom_crash_callback(struct rst_info *, uint32_t, uint32_t); #define COLOR_BRIGHT_CYAN "\x1B[0;96m" #define COLOR_BRIGHT_WHITE "\x1B[0;97m" +// reset reason codes +PROGMEM const char custom_reset_hardware[] = "Hardware button"; +PROGMEM const char custom_reset_terminal[] = "Reboot from terminal"; +PROGMEM const char custom_reset_mqtt[] = "Reboot from MQTT"; +PROGMEM const char custom_reset_ota[] = "Reboot after successful OTA update"; +PROGMEM const char * const custom_reset_string[] = {custom_reset_hardware, custom_reset_terminal, custom_reset_mqtt, custom_reset_ota}; +#define CUSTOM_RESET_HARDWARE 1 // Reset from hardware button +#define CUSTOM_RESET_TERMINAL 2 // Reset from terminal +#define CUSTOM_RESET_MQTT 3 // Reset via MQTT +#define CUSTOM_RESET_OTA 4 // Reset after successful OTA update +#define CUSTOM_RESET_MAX 4 + // SPIFFS #define SPIFFS_MAXSIZE 800 // https://arduinojson.org/v6/assistant/ @@ -119,6 +132,30 @@ void custom_crash_callback(struct rst_info *, uint32_t, uint32_t); #define SAVE_CRASH_STACK_END 0x1E // 4 bytes #define SAVE_CRASH_STACK_TRACE 0x22 // variable +// Base address of USER RTC memory +// https://github.com/esp8266/esp8266-wiki/wiki/Memory-Map#memmory-mapped-io-registers +#define RTCMEM_ADDR_BASE (0x60001200) + +// RTC memory is accessed using blocks of 4 bytes. +// Blocks 0..63 are reserved by the SDK, 64..192 are available to the user. +// Blocks 64..96 are reserved by the eboot 'struct eboot_command' (128 -> (128 / 4) -> 32): +// https://github.com/esp8266/Arduino/blob/master/bootloaders/eboot/eboot_command.h +#define RTCMEM_OFFSET 32u +#define RTCMEM_ADDR (RTCMEM_ADDR_BASE + (RTCMEM_OFFSET * 4u)) +#define RTCMEM_BLOCKS 96u +#define RTCMEM_MAGIC 0x45535075 + +struct RtcmemData { + uint32_t magic; // RTCMEM_MAGIC + uint32_t sys; // system reset reason (1-4) + uint32_t energy; // store energy count +}; + +static_assert(sizeof(RtcmemData) <= (RTCMEM_BLOCKS * 4u), "RTCMEM struct is too big"); + +#define SYSTEM_CHECK_TIME 60000 // The system is considered stable after these many millis +#define SYSTEM_CHECK_MAX 5 // After this many crashes on boot + typedef struct { bool set; // is it a set command char key[50]; @@ -202,6 +239,10 @@ class MyESP { int getWifiQuality(); void showSystemStats(); + // rtcmem and reset reason + bool rtcmemStatus(); + uint32_t getSystemResetReason(); + private: // mqtt AsyncMqttClient mqttClient; @@ -226,6 +267,7 @@ class MyESP { char * _mqtt_topic; unsigned long _mqtt_last_connection; bool _mqtt_connecting; + bool _rtcmem_status; // wifi DNSServer dnsServer; // For Access Point (AP) support @@ -283,6 +325,29 @@ class MyESP { unsigned long _getUptime(); String _buildTime(); + // reset reason and rtcmem + bool _rtcmemStatus(); + void _rtcmemInit(); + void _rtcmemSetup(); + + void _deferredReset(unsigned long delay, uint8_t reason); + + uint8_t _getSystemStabilityCounter(); + void _setSystemStabilityCounter(uint8_t counter); + + uint8_t _getSystemResetReason(); + void _setSystemResetReason(uint8_t reason); + + unsigned char _getCustomResetReason(); + void _setCustomResetReason(unsigned char reason); + + bool _systemStable; + + bool getSystemCheck(); + void _systemCheckLoop(); + void _setSystemCheck(bool stable); + + // load average (0..100) void _calculateLoad(); unsigned short int _load_average; diff --git a/platformio.ini-example b/platformio.ini-example index 63c3f546c..08594e61a 100644 --- a/platformio.ini-example +++ b/platformio.ini-example @@ -32,7 +32,7 @@ upload_protocol = espota upload_port = ems-esp.local [env:debug] -build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DCRASH -DTESTS ${common.wifi_settings} +build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DTESTS -DNO_GLOBAL_EEPROM ${common.wifi_settings} [env:clean] extra_scripts = pre:scripts/clean_fw.py @@ -42,5 +42,5 @@ build_flags = -g -w extra_scripts = pre:scripts/rename_fw.py [env:checkcode] -build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DCRASH -DTESTS +build_flags = -g -w extra_scripts = scripts/checkcode.py diff --git a/scripts/stackdmp.txt b/scripts/stackdmp.txt index 4ad1b06cd..a2d78e823 100644 --- a/scripts/stackdmp.txt +++ b/scripts/stackdmp.txt @@ -1,33 +1,43 @@ >>>stack>>> -3ffffdd0: 3ffffe30 3fff43c8 3fff89bc 40211340 -3ffffde0: 3fff89bc 3fff43c8 3fff461c 4022cd7a -3ffffdf0: 3ffffe70 402096cb 3fff461c 4022cd68 -3ffffe00: 3ffffe30 3fff43c8 3fff89bc 402096dc -3ffffe10: 454d5b20 4f205d4d 52204154 72657365 -3ffffe20: 00000000 00642520 4025ce70 40209684 -3ffffe30: 3ffffe70 3ffffe40 00000008 00000001 -3ffffe40: 00000002 3fff4770 3fff43c8 40246b28 -3ffffe50: 3fff89b8 ff000000 00068d0c 4020f650 -3ffffe60: 0000001b 00003340 400205e9 4024f545 -3ffffe70: 4020cd64 3fff4770 3fff43c8 00000001 -3ffffe80: 00000002 3fff4770 3fff43c8 4020a640 -3ffffe90: 45455b20 4d4f5250 4545205d 4d4f5250 -3ffffea0: 63655320 20726f74 6c6f6f70 7a697320 -3ffffeb0: 73692065 202c3420 20646e61 75206e69 -3ffffec0: 61206573 203a6572 39313031 31303120 -3ffffed0: 30312038 31203731 20363130 00000000 -3ffffee0: 36313031 00000000 00000000 00000000 -3ffffef0: 00000000 00000000 ff000007 4020f5ae -3fffff00: 00000000 00000007 3ffe8304 402274e7 -3fffff10: 0000000d 00000001 3fff43c8 3fff46a0 -3fffff20: 3fff8c4c 00000001 3fff43c8 4020c5b9 -3fffff30: 3fffdad0 3fff4630 0000000d 40217c8e -3fffff40: 3fffdad0 3fff4630 3fff461c 3fff46a0 -3fffff50: 0000000d 3fff461c 3fff43c8 4020cb89 -3fffff60: 0000000d 3fff4908 3ffe97ac 3fff48ac -3fffff70: 3fff43c8 3fff29cc 3fff43b8 3fff48ac -3fffff80: 3fffdad0 3fff29cc 3fff43c8 4020cc58 -3fffff90: 3fffdad0 00000000 3fff29cc 40205ccc -3fffffa0: 3fffdad0 00000000 3fff487c 4020ebd4 -3fffffb0: feefeffe feefeffe 3ffe97ac 401006f1 +3ffffd30: 40105346 00000030 0000001e ffffffff +3ffffd40: 40105928 00000000 60000200 04000002 +3ffffd50: 3feffe00 fffffeff 00000000 00000000 +3ffffd60: 00000003 00000000 0000002d 3ffffe50 +3ffffd70: 00000008 00001008 00000000 00000030 +3ffffd80: 34303936 34343139 3ffe3131 40223f98 +3ffffd90: 3fff46dc 00000001 3ffec7b9 40223f98 +3ffffda0: 3fff46dc 0000001c 3fff8b18 3ffffe20 +3ffffdb0: 3fff4a0c 0000073d 0000073d 40211340 +3ffffdc0: 3ffffe20 3fff4488 3fff8afc 40211768 +3ffffdd0: 3fff8afc 3fff4488 3fff46dc 4022d182 +3ffffde0: 3ffffe60 402097ff 3fff46dc 4022d170 +3ffffdf0: 3ffffe20 3fff4488 3fff8afc 40209810 +3ffffe00: 00000000 400042db 616c4620 52206873 +3ffffe10: 40004b31 3ffffe58 00000008 00001000 +3ffffe20: 40105934 3ffffe30 00000008 00000000 +3ffffe30: 40100289 3ffffe50 00000000 3fff482c +3ffffe40: 3fff8c18 ff000000 00001008 4020d3cc +3ffffe50: 00000000 00000000 400205e9 40100250 +3ffffe60: 400201e9 001640ef 3fff4488 00000003 +3ffffe70: 00000002 3fff4834 3fff4488 4020a9b9 +3ffffe80: 45455b20 4d4f5250 4545205d 4d4f5250 +3ffffe90: 63655320 20726f74 6c6f6f70 7a697320 +3ffffea0: 73692065 202c3420 20646e61 75206e69 +3ffffeb0: 61206573 203a6572 39313031 31303120 +3ffffec0: 30312038 31203731 20363130 00000000 +3ffffed0: 6f626552 6620746f 206d6f72 6d726574 +3ffffee0: 6c616e69 4020f900 00000007 40211584 +3ffffef0: 36313031 00000000 00000000 00000000 +3fffff00: 00000000 00000007 3ffe8304 402278ef +3fffff10: 0000000d 00000001 3fff4488 3fff4760 +3fffff20: 3fff800c 00000001 3fff4488 4020c95d +3fffff30: 0000006d 3fff46f0 0000000d 402180b6 +3fffff40: 0000006d 3fff46f0 3fff46dc 3fff4760 +3fffff50: 0000000d 3fff46dc 3fff4488 4020cf39 +3fffff60: 0000000d 3fff49cc 3ffe97b8 3fff4970 +3fffff70: 3fff4488 3fff2a8c 3fff4478 3fff4970 +3fffff80: 3fffdad0 3fff2a8c 3fff4488 4020d008 +3fffff90: 3fffdad0 00000000 3fff2a8c 40205cd4 +3fffffa0: 3fffdad0 00000000 3fff4940 4020f000 +3fffffb0: feefeffe feefeffe 3ffe97b8 401006f1 << is detected * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. */ - ETS_UART_INTR_DISABLE(); // disable rx interrupt - // clear Rx status register - https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495605798 + // clear Rx status register USC0(EMSUART_UART) |= (1 << UCRXRST); // reset uart rx fifo emsuart_flush_fifos(); @@ -254,9 +253,9 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { } } - // we got the whole telegram in Rx buffer - // on Rx-BRK (bus collision), we simply enable Rx and leave - // otherwise, we send the final Tx-BRK in loopback and enable Rx-INT. + // we got the whole telegram in the Rx buffer + // on Rx-BRK (bus collision), we simply enable Rx and leave it + // otherwise we send the final Tx-BRK in the loopback and re=enable Rx-INT. // worst case, we'll see an additional Rx-BRK... if (!(USIS(EMSUART_UART) & (1 << UIBD))) { phantomBrk = 1; // tell Rx to expect a phantom BRK @@ -276,7 +275,6 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { } // w/o flushing the Rx FIFO we will get a trailing \0 from our loopback BRK - // emsuart_flush_fifos(); // flush Rx buffer to be sure ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } } diff --git a/src/version.h b/src/version.h index ca1d2ef86..ff296e1aa 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b11" +#define APP_VERSION "1.8.0b12" #define APP_HOSTNAME "ems-esp" From d4df10c7d95477a04795616fa0769ebf615c67bc Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 9 Jun 2019 22:13:49 +0200 Subject: [PATCH 50/66] cleanup --- platformio.ini-example | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/platformio.ini-example b/platformio.ini-example index 08594e61a..9cc77c048 100644 --- a/platformio.ini-example +++ b/platformio.ini-example @@ -1,17 +1,20 @@ ; ; PlatformIO Project Configuration File for EMS-ESP -; Uses PlatformIO 4.0 (pio upgrade --dev) +; Uses PlatformIO 4.0 ; [platformio] -default_envs = debug ;default_envs = release +default_envs = debug [common] ; hard code if you prefer. Recommendation is to set from within the app when in Serial or AP mode ; wifi_settings = '-DWIFI_SSID="XXXX"' '-DWIFI_PASSWORD="XXXX"' wifi_settings = +debug_flags = -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DTESTS +general_flags = -g -w -DNO_GLOBAL_EEPROM ${common.wifi_settings} + [env] board = d1_mini ; board = nodemcuv2 @@ -32,15 +35,16 @@ upload_protocol = espota upload_port = ems-esp.local [env:debug] -build_flags = -g -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DTESTS -DNO_GLOBAL_EEPROM ${common.wifi_settings} +build_flags = ${common.general_flags} ${common.debug_flags} +extra_scripts = pre:scripts/rename_fw.py [env:clean] extra_scripts = pre:scripts/clean_fw.py [env:release] -build_flags = -g -w +build_flags = ${common.general_flags} extra_scripts = pre:scripts/rename_fw.py [env:checkcode] -build_flags = -g -w +build_flags = ${common.general_flags} extra_scripts = scripts/checkcode.py From d00916ab1defad130f7d79a7b0356c7bc614514b Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 10 Jun 2019 12:29:54 +0200 Subject: [PATCH 51/66] dont use flash for printing core ESP.get* --- lib/MyESP/MyESP.cpp | 8 ++--- scripts/stackdmp.txt | 79 +++++++++++++++++++++----------------------- 2 files changed, 42 insertions(+), 45 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 1e5266b9e..e2cb04ffd 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -1096,10 +1096,10 @@ void MyESP::showSystemStats() { #endif myDebug_P(PSTR(" [FLASH] Flash size (SDK): %d"), ESP.getFlashChipSize()); myDebug_P(PSTR(" [FLASH] Flash Reserved: %d"), 1 * SPI_FLASH_SEC_SIZE); - //myDebug_P(PSTR(" [MEM] Firmware size: %d"), ESP.getSketchSize()); // TODO: commented out because it causes a crash with 2.5.2 - myDebug_P(PSTR(" [MEM] Max OTA size: %d"), (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); - myDebug_P(PSTR(" [MEM] OTA Reserved: %d"), 4 * SPI_FLASH_SEC_SIZE); - myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); + myDebug(" [MEM] Firmware size: %d", ESP.getSketchSize()); // TODO: commented out because it causes a crash with 2.5.2 + myDebug(" [MEM] Max OTA size: %d", (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); + myDebug(" [MEM] OTA Reserved: %d", 4 * SPI_FLASH_SEC_SIZE); + myDebug(" [MEM] Free Heap: %d", ESP.getFreeHeap()); myDebug_P(PSTR("")); } diff --git a/scripts/stackdmp.txt b/scripts/stackdmp.txt index a2d78e823..16954ddf7 100644 --- a/scripts/stackdmp.txt +++ b/scripts/stackdmp.txt @@ -1,43 +1,40 @@ >>>stack>>> -3ffffd30: 40105346 00000030 0000001e ffffffff -3ffffd40: 40105928 00000000 60000200 04000002 -3ffffd50: 3feffe00 fffffeff 00000000 00000000 -3ffffd60: 00000003 00000000 0000002d 3ffffe50 -3ffffd70: 00000008 00001008 00000000 00000030 -3ffffd80: 34303936 34343139 3ffe3131 40223f98 -3ffffd90: 3fff46dc 00000001 3ffec7b9 40223f98 -3ffffda0: 3fff46dc 0000001c 3fff8b18 3ffffe20 -3ffffdb0: 3fff4a0c 0000073d 0000073d 40211340 -3ffffdc0: 3ffffe20 3fff4488 3fff8afc 40211768 -3ffffdd0: 3fff8afc 3fff4488 3fff46dc 4022d182 -3ffffde0: 3ffffe60 402097ff 3fff46dc 4022d170 -3ffffdf0: 3ffffe20 3fff4488 3fff8afc 40209810 -3ffffe00: 00000000 400042db 616c4620 52206873 -3ffffe10: 40004b31 3ffffe58 00000008 00001000 -3ffffe20: 40105934 3ffffe30 00000008 00000000 -3ffffe30: 40100289 3ffffe50 00000000 3fff482c -3ffffe40: 3fff8c18 ff000000 00001008 4020d3cc -3ffffe50: 00000000 00000000 400205e9 40100250 -3ffffe60: 400201e9 001640ef 3fff4488 00000003 -3ffffe70: 00000002 3fff4834 3fff4488 4020a9b9 -3ffffe80: 45455b20 4d4f5250 4545205d 4d4f5250 -3ffffe90: 63655320 20726f74 6c6f6f70 7a697320 -3ffffea0: 73692065 202c3420 20646e61 75206e69 -3ffffeb0: 61206573 203a6572 39313031 31303120 -3ffffec0: 30312038 31203731 20363130 00000000 -3ffffed0: 6f626552 6620746f 206d6f72 6d726574 -3ffffee0: 6c616e69 4020f900 00000007 40211584 -3ffffef0: 36313031 00000000 00000000 00000000 -3fffff00: 00000000 00000007 3ffe8304 402278ef -3fffff10: 0000000d 00000001 3fff4488 3fff4760 -3fffff20: 3fff800c 00000001 3fff4488 4020c95d -3fffff30: 0000006d 3fff46f0 0000000d 402180b6 -3fffff40: 0000006d 3fff46f0 3fff46dc 3fff4760 -3fffff50: 0000000d 3fff46dc 3fff4488 4020cf39 -3fffff60: 0000000d 3fff49cc 3ffe97b8 3fff4970 -3fffff70: 3fff4488 3fff2a8c 3fff4478 3fff4970 -3fffff80: 3fffdad0 3fff2a8c 3fff4488 4020d008 -3fffff90: 3fffdad0 00000000 3fff2a8c 40205cd4 -3fffffa0: 3fffdad0 00000000 3fff4940 4020f000 -3fffffb0: feefeffe feefeffe 3ffe97b8 401006f1 +3ffffd70: 3fff53e0 3fff5400 3ffffee0 402144ca +3ffffd80: 31323830 36303030 00000018 00000000 +3ffffd90: 36333834 34323731 3ffe3131 4021f888 +3ffffda0: 3fff52ac 00000001 3ffece59 4021f888 +3ffffdb0: 3fff52ac 00000019 3fff966d 3ffffe30 +3ffffdc0: 3ffffe30 0000001a 3fff52ac 40213b29 +3ffffdd0: 3fff5624 0000072e 0000072e 4010020c +3ffffde0: 3ffffe30 3fff504c 3fff9654 401006dc +3ffffdf0: 3ffffe70 4020fadf 3fff52ac 402148d4 +3ffffe00: 3ffffe30 3fff504c 3fff9654 4020faf0 +3ffffe10: 454d5b20 4f205d4d 52204154 72657365 +3ffffe20: 00000000 00642520 402553d8 4020fa98 +3ffffe30: 3ffffe70 3ffffe40 00000008 3ffe9784 +3ffffe40: 00000002 3fff5400 3fff504c 4023ee64 +3ffffe50: 3fff9c00 ff000000 400204e9 40201c34 +3ffffe60: 0000001b 4010524a 3fff504c 40247871 +3ffffe70: 40213238 3fff5400 3fff504c 3ffe9784 +3ffffe80: 00000002 3fff5400 3fff504c 40210d12 +3ffffe90: 45455b20 4d4f5250 4545205d 4d4f5250 +3ffffea0: 63655320 20726f74 6c6f6f70 7a697320 +3ffffeb0: 73692065 202c3420 20646e61 75206e69 +3ffffec0: 61206573 203a6572 39313031 31303120 +3ffffed0: 30312038 31203731 20363130 00000000 +3ffffee0: 00000000 00000000 00000000 3fff5330 +3ffffef0: 3fff5330 00000007 00000007 401004e4 +3fffff00: 36313031 00000000 00000000 00000000 +3fffff10: 00000000 00000000 3ffe8308 40221dc3 +3fffff20: 0000000d 00000001 3fff504c 3fff5330 +3fffff30: 3fff97b4 00000001 3fff504c 40212c1d +3fffff40: 00000000 3fff52c0 0000000d 402174ca +3fffff50: 3fffdad0 3fff52c0 3fff52ac 3fff5330 +3fffff60: 0000000d 3fff52ac 3fff504c 40213121 +3fffff70: 0000000d 3fff5534 3ffe988c 3fff54e0 +3fffff80: 3fff504c 3fff36cc 3fff503c 3fff54e0 +3fffff90: 3fffdad0 3fff36cc 3fff504c 402131f8 +3fffffa0: 3fffdad0 00000000 3fff36cc 4020bebc +3fffffb0: 3fffdad0 00000000 3fff54d8 40214a48 +3fffffc0: feefeffe feefeffe 3ffe988c 40100721 << Date: Mon, 10 Jun 2019 12:30:00 +0200 Subject: [PATCH 52/66] https://github.com/proddy/EMS-ESP/issues/117 --- src/ems-esp.cpp | 6 ++---- src/ems.cpp | 45 ++++++++++++++++++++++----------------------- src/ems_devices.h | 6 +++--- src/version.h | 2 +- 4 files changed, 28 insertions(+), 31 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index b85607069..58d013e8a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -479,8 +479,7 @@ void showInfo() { myDebug_P(PSTR(" Thermostat: %s"), ems_getThermostatDescription(buffer_type)); // Render Current & Setpoint Room Temperature - if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) - || (ems_getThermostatModel() == EMS_MODEL_FW100)) { + if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100)) { // Temperatures are *10 _renderShortValue("Set room temperature", "C", EMS_Thermostat.setpoint_roomTemp, 10); // *100 _renderShortValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp, 10); // *100 @@ -695,8 +694,7 @@ void publishValues(bool force) { rootThermostat[THERMOSTAT_HC] = _int_to_char(s, EMSESP_Status.heating_circuit); // different logic depending on thermostat types - if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_BOSCHEASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) - || (ems_getThermostatModel() == EMS_MODEL_FW100)) { + if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100)) { if (abs(EMS_Thermostat.setpoint_roomTemp) < EMS_VALUE_SHORT_NOTSET) rootThermostat[THERMOSTAT_SELTEMP] = (double)EMS_Thermostat.setpoint_roomTemp / 10; if (abs(EMS_Thermostat.curr_roomTemp) < EMS_VALUE_SHORT_NOTSET) diff --git a/src/ems.cpp b/src/ems.cpp index 3f1759f57..2a877499e 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -168,7 +168,6 @@ const _EMS_Type EMS_Types[] = { // Easy {EMS_MODEL_EASY, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage}, - {EMS_MODEL_BOSCHEASY, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage}, // Nefit 1010, RC300, RC310 (EMS Plus) {EMS_MODEL_ALL, EMS_TYPE_RCPLUSStatusMessage, "RCPLUSStatusMessage", _process_RCPLUSStatusMessage}, @@ -584,8 +583,8 @@ void _ems_sendTelegram() { } EMS_TxTelegram.data[EMS_TxTelegram.length - 1] = _crcCalculator(EMS_TxTelegram.data, EMS_TxTelegram.length); // add the CRC - emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); // send the telegram to the UART Tx - EMS_TxQueue.shift(); // and remove from queue + emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); // send the telegram to the UART Tx + EMS_TxQueue.shift(); // and remove from queue return; } @@ -1317,10 +1316,10 @@ void _process_RCPLUSStatusMode(_EMS_RxTelegram * EMS_RxTelegram) { * FR10 Junkers - type x6F01 */ void _process_JunkersStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - // e.g. for FR10: 90 00 FF 00 00 6F 03 01 00 BE 00 BF - // e.g. for FW100: 90 00 FF 00 00 6F 03 02 00 D7 00 DA F3 34 00 C4 - EMS_Thermostat.curr_roomTemp = _toShort(EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 - EMS_Thermostat.setpoint_roomTemp = _toShort(EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 + // e.g. for FR10: 90 00 FF 00 00 6F 03 01 00 BE 00 BF + // e.g. for FW100: 90 00 FF 00 00 6F 03 02 00 D7 00 DA F3 34 00 C4 + EMS_Thermostat.curr_roomTemp = _toShort(EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 + EMS_Thermostat.setpoint_roomTemp = _toShort(EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 } /** @@ -1484,9 +1483,9 @@ void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram) { */ void _process_ISM1StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // e.g. B0 00 FF 00 00 03 32 00 00 00 00 13 00 D6 00 00 00 FB D0 F0 - EMS_Other.SMcollectorTemp = _toShort(4); // Collector Temperature - EMS_Other.SMbottomTemp = _toShort(6); // Temperature Bottom of Solar Boiler - EMS_Other.SM = true; + EMS_Other.SMcollectorTemp = _toShort(4); // Collector Temperature + EMS_Other.SMbottomTemp = _toShort(6); // Temperature Bottom of Solar Boiler + EMS_Other.SM = true; } /** @@ -1517,7 +1516,7 @@ void _process_SetPoints(_EMS_RxTelegram * EMS_RxTelegram) { * common for all thermostats */ void _process_RCTime(_EMS_RxTelegram * EMS_RxTelegram) { - if ((EMS_Thermostat.model_id == EMS_MODEL_EASY) || (EMS_Thermostat.model_id == EMS_MODEL_BOSCHEASY)) { + if ((EMS_Thermostat.model_id == EMS_MODEL_EASY)) { return; // not supported } @@ -1569,15 +1568,16 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { return; } - uint8_t product_id = _toByte(0); - char version[10] = {0}; + uint8_t product_id = _toByte(0); + + char version[10] = {0}; snprintf(version, sizeof(version), "%02d.%02d", _toByte(1), _toByte(2)); // see if its a known boiler int i = 0; bool typeFound = false; while (i < _Boiler_Types_max) { - if (Boiler_Types[i].product_id == product_id) { + if ((Boiler_Types[i].product_id == product_id) && ((EMS_RxTelegram->src & 0x7F) == EMS_ID_BOILER)) { typeFound = true; // we have a matching product id. i is the index. break; } @@ -1586,7 +1586,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { if (typeFound) { // its a boiler - myDebug_P(PSTR("Boiler found. Model %s (DeviceID:0x%02X ProductID:%d Version:%s)"), Boiler_Types[i].model_string, EMS_ID_BOILER, product_id, version); + myDebug_P(PSTR("Boiler found: %s (DeviceID:0x%02X ProductID:%d Version:%s)"), Boiler_Types[i].model_string, EMS_ID_BOILER, product_id, version); // add to list _addDevice(product_id, EMS_ID_BOILER, version, Boiler_Types[i].model_string); @@ -1629,7 +1629,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { if (typeFound) { // its a known thermostat if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_BASIC) { - myDebug_P(PSTR("Thermostat found. Model %s (DeviceID:0x%02X ProductID:%d Version:%s)"), + myDebug_P(PSTR("Thermostat found: %s (DeviceID:0x%02X ProductID:%d Version:%s)"), Thermostat_Types[i].model_string, Thermostat_Types[i].device_id, product_id, @@ -1643,7 +1643,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { if (((EMS_Thermostat.device_id == EMS_ID_NONE) || (EMS_Thermostat.model_id == EMS_MODEL_NONE) || (EMS_Thermostat.device_id == Thermostat_Types[i].device_id)) && EMS_Thermostat.product_id == EMS_ID_NONE) { - myDebug_P(PSTR("* Setting Thermostat model to %s (DeviceID:0x%02X ProductID:%d Version:%s)"), + myDebug_P(PSTR("* Setting Thermostat to %s (DeviceID:0x%02X ProductID:%d Version:%s)"), Thermostat_Types[i].model_string, Thermostat_Types[i].device_id, product_id, @@ -1674,7 +1674,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { } if (typeFound) { - myDebug_P(PSTR("Device found. Model %s with DeviceID 0x%02X, ProductID %d, Version %s"), + myDebug_P(PSTR("Device found: %s with DeviceID 0x%02X, ProductID %d, Version %s"), Other_Types[i].model_string, Other_Types[i].device_id, product_id, @@ -1700,7 +1700,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { return; } else { - myDebug_P(PSTR("Unrecognized device found. DeviceID 0x%02X, ProductID %d, Version %s"), EMS_RxTelegram->src, product_id, version); + myDebug_P(PSTR("Unrecognized device found: DeviceID 0x%02X, ProductID %d, Version %s"), EMS_RxTelegram->src, product_id, version); // add to list _addDevice(product_id, EMS_RxTelegram->src, version, "unknown?"); @@ -1712,7 +1712,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { * Do a read command for the version with the src having the MSB set */ void _ems_detectJunkers() { - char s[20] = {0}; + char s[30] = {0}; snprintf(s, sizeof(s), "%02X %02X %02X 00 %02X", (EMS_ID_ME | 0x80), (EMS_ID_BOILER | 0x080), EMS_TYPE_Version, EMS_MAX_TELEGRAM_LENGTH); ems_sendRawTelegram(s); } @@ -1725,8 +1725,7 @@ void ems_discoverModels() { // boiler... ems_doReadCommand(EMS_TYPE_Version, EMS_ID_BOILER); - - _ems_detectJunkers(); // special hack for Junkers. + _ems_detectJunkers(); // special hack for Junkers detection // solar module... ems_doReadCommand(EMS_TYPE_Version, EMS_ID_SM); // check if there is Solar Module available @@ -1823,7 +1822,7 @@ void ems_getThermostatValues() { ems_doReadCommand(EMS_TYPE_RC35StatusMessage_HC2, type); // to get the setpoint temp ems_doReadCommand(EMS_TYPE_RC35Set_HC2, type); // to get the mode } - } else if ((model_id == EMS_MODEL_EASY) || (model_id == EMS_MODEL_BOSCHEASY)) { + } else if ((model_id == EMS_MODEL_EASY)) { ems_doReadCommand(EMS_TYPE_EasyStatusMessage, type); } diff --git a/src/ems_devices.h b/src/ems_devices.h index 9c6ff0448..9d0c898bf 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -135,7 +135,6 @@ typedef enum { EMS_MODEL_RC30, EMS_MODEL_RC35, EMS_MODEL_EASY, - EMS_MODEL_BOSCHEASY, EMS_MODEL_RC310, EMS_MODEL_CW100, EMS_MODEL_1010, @@ -154,7 +153,7 @@ typedef enum { const _Boiler_Type Boiler_Types[] = { {EMS_MODEL_UBA, 72, "MC10 Module"}, - {EMS_MODEL_UBA, 123, "Buderus GB172/Nefit Trendline"}, + {EMS_MODEL_UBA, 123, "Buderus GB172/Nefit Trendline/Junkers Cerapur"}, {EMS_MODEL_UBA, 115, "Nefit Topline Compact/Buderus GB162"}, {EMS_MODEL_UBA, 203, "Buderus Logamax U122/Junkers Cerapur"}, {EMS_MODEL_UBA, 208, "Buderus Logamax plus/GB192"}, @@ -195,7 +194,8 @@ const _Thermostat_Type Thermostat_Types[] = { // Easy devices - not currently supporting write operations {EMS_MODEL_EASY, 202, 0x18, "TC100/Nefit Easy", EMS_THERMOSTAT_WRITE_NO}, - {EMS_MODEL_BOSCHEASY, 206, 0x02, "Bosch Easy", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_EASY, 203, 0x18, "Bosch EasyControl CT200", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_EASY, 206, 0x02, "Bosch Easy", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_CW100, 157, 0x18, "CW100", EMS_THERMOSTAT_WRITE_NO}, // Buderus/Nefit diff --git a/src/version.h b/src/version.h index ff296e1aa..021e95b43 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b12" +#define APP_VERSION "1.8.0b13" #define APP_HOSTNAME "ems-esp" From 6ec6f754235391a0405dafca50a005183f6f665f Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 10 Jun 2019 22:13:37 +0200 Subject: [PATCH 53/66] ingore stackdmp --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index f5e446991..ebd9e5140 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,4 @@ platformio.ini lib/readme.txt .travis.yml -;stackdmp.txt -;*.jar scripts/stackdmp.txt From c3ab74862d03c001f28c8708025307fcaf089723 Mon Sep 17 00:00:00 2001 From: Vuego123 Date: Tue, 11 Jun 2019 00:43:27 +0200 Subject: [PATCH 54/66] FW100 & ISM1 fixed wrong temperature divider --- src/ems-esp.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 58d013e8a..20456c04b 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -479,11 +479,17 @@ void showInfo() { myDebug_P(PSTR(" Thermostat: %s"), ems_getThermostatDescription(buffer_type)); // Render Current & Setpoint Room Temperature - if ((ems_getThermostatModel() == EMS_MODEL_EASY) || (ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100)) { - // Temperatures are *10 + if ((ems_getThermostatModel() == EMS_MODEL_EASY)) { + // Temperatures are *100 _renderShortValue("Set room temperature", "C", EMS_Thermostat.setpoint_roomTemp, 10); // *100 _renderShortValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp, 10); // *100 - } else { + } + else if ((ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100)) { + // Temperatures are *10 + _renderShortValue("Set room temperature", "C", EMS_Thermostat.setpoint_roomTemp, 1); // *10 + _renderShortValue("Current room temperature", "C", EMS_Thermostat.curr_roomTemp, 1); // *10 + } + else { // because we store in 2 bytes short, when converting to a single byte we'll loose the negative value if its unset if (EMS_Thermostat.setpoint_roomTemp <= 0) { EMS_Thermostat.setpoint_roomTemp = EMS_VALUE_INT_NOTSET; From 08c4a11ac88b691138251835313c7f401840cba0 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 11 Jun 2019 22:25:59 +0200 Subject: [PATCH 55/66] update text --- src/ems_devices.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 9d0c898bf..01bc29532 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -157,7 +157,7 @@ const _Boiler_Type Boiler_Types[] = { {EMS_MODEL_UBA, 115, "Nefit Topline Compact/Buderus GB162"}, {EMS_MODEL_UBA, 203, "Buderus Logamax U122/Junkers Cerapur"}, {EMS_MODEL_UBA, 208, "Buderus Logamax plus/GB192"}, - {EMS_MODEL_UBA, 64, "Sieger BK15 Boiler/Nefit Smartline/Buderus GB152"}, + {EMS_MODEL_UBA, 64, "Sieger BK15/Nefit Smartline/Buderus GB152"}, {EMS_MODEL_UBA, EMS_PRODUCTID_HEATRONICS, "Bosch Condens 2500/Junkers Heatronics3"}, // Junkers {EMS_MODEL_UBA, 122, "Nefit Proline"}, {EMS_MODEL_UBA, 172, "Nefit Enviline"} From 44705f7cc5291b53801332010324439076582c53 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 11 Jun 2019 22:26:19 +0200 Subject: [PATCH 56/66] test example stack --- scripts/stackdmp.txt | 70 ++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/scripts/stackdmp.txt b/scripts/stackdmp.txt index 16954ddf7..7298e7d0a 100644 --- a/scripts/stackdmp.txt +++ b/scripts/stackdmp.txt @@ -1,40 +1,34 @@ >>>stack>>> -3ffffd70: 3fff53e0 3fff5400 3ffffee0 402144ca -3ffffd80: 31323830 36303030 00000018 00000000 -3ffffd90: 36333834 34323731 3ffe3131 4021f888 -3ffffda0: 3fff52ac 00000001 3ffece59 4021f888 -3ffffdb0: 3fff52ac 00000019 3fff966d 3ffffe30 -3ffffdc0: 3ffffe30 0000001a 3fff52ac 40213b29 -3ffffdd0: 3fff5624 0000072e 0000072e 4010020c -3ffffde0: 3ffffe30 3fff504c 3fff9654 401006dc -3ffffdf0: 3ffffe70 4020fadf 3fff52ac 402148d4 -3ffffe00: 3ffffe30 3fff504c 3fff9654 4020faf0 -3ffffe10: 454d5b20 4f205d4d 52204154 72657365 -3ffffe20: 00000000 00642520 402553d8 4020fa98 -3ffffe30: 3ffffe70 3ffffe40 00000008 3ffe9784 -3ffffe40: 00000002 3fff5400 3fff504c 4023ee64 -3ffffe50: 3fff9c00 ff000000 400204e9 40201c34 -3ffffe60: 0000001b 4010524a 3fff504c 40247871 -3ffffe70: 40213238 3fff5400 3fff504c 3ffe9784 -3ffffe80: 00000002 3fff5400 3fff504c 40210d12 -3ffffe90: 45455b20 4d4f5250 4545205d 4d4f5250 -3ffffea0: 63655320 20726f74 6c6f6f70 7a697320 -3ffffeb0: 73692065 202c3420 20646e61 75206e69 -3ffffec0: 61206573 203a6572 39313031 31303120 -3ffffed0: 30312038 31203731 20363130 00000000 -3ffffee0: 00000000 00000000 00000000 3fff5330 -3ffffef0: 3fff5330 00000007 00000007 401004e4 -3fffff00: 36313031 00000000 00000000 00000000 -3fffff10: 00000000 00000000 3ffe8308 40221dc3 -3fffff20: 0000000d 00000001 3fff504c 3fff5330 -3fffff30: 3fff97b4 00000001 3fff504c 40212c1d -3fffff40: 00000000 3fff52c0 0000000d 402174ca -3fffff50: 3fffdad0 3fff52c0 3fff52ac 3fff5330 -3fffff60: 0000000d 3fff52ac 3fff504c 40213121 -3fffff70: 0000000d 3fff5534 3ffe988c 3fff54e0 -3fffff80: 3fff504c 3fff36cc 3fff503c 3fff54e0 -3fffff90: 3fffdad0 3fff36cc 3fff504c 402131f8 -3fffffa0: 3fffdad0 00000000 3fff36cc 4020bebc -3fffffb0: 3fffdad0 00000000 3fff54d8 40214a48 -3fffffc0: feefeffe feefeffe 3ffe988c 40100721 +3ffffdc0: 3fff472c 00000001 3ffec811 40224020 +3ffffdd0: 3fff472c 00000019 3fff8acd 0000001b +3ffffde0: 3fff4a5c 0000072a 0000072a 402113c8 +3ffffdf0: 3ffec4b5 3fff44d8 3fff8ab4 402117f0 +3ffffe00: 3fff8ab4 3fff44d8 3fff472c 4022d20a +3ffffe10: 00000000 40209737 3fff472c 4022d1f8 +3ffffe20: 3ffec4b5 3fff44d8 3fff8ab4 00000003 +3ffffe30: 00000002 3fff4884 3fff44d8 40246fb8 +3ffffe40: 3fff8ca0 ff000000 00004000 4020fb00 +3ffffe50: 3fff8ca0 ff000000 3fff44d8 4024f9d5 +3ffffe60: 4020d0d0 3fff4884 3fff44d8 00000003 +3ffffe70: 00000002 3fff4884 3fff44d8 4020aa5c +3ffffe80: 45455b20 4d4f5250 4545205d 4d4f5250 +3ffffe90: 63655320 20726f74 6c6f6f70 7a697320 +3ffffea0: 73692065 202c3420 20646e61 75206e69 +3ffffeb0: 61206573 203a6572 39313031 31303120 +3ffffec0: 30312038 31203731 20363130 00000000 +3ffffed0: 6f626552 6120746f 72657466 63757320 +3ffffee0: 73736563 206c7566 2041544f 61647075 +3ffffef0: 36006574 00000000 00000000 00000000 +3fffff00: 00000000 00000007 3ffe8304 40227977 +3fffff10: 0000000d 00000001 3fff44d8 3fff47b0 +3fffff20: 3fff8e64 00000001 3fff44d8 4020c9e1 +3fffff30: 0000006d 3fff4740 0000000d 4021813e +3fffff40: 0000006d 3fff4740 3fff472c 3fff47b0 +3fffff50: 0000000d 3fff472c 3fff44d8 4020cfbd +3fffff60: 0000000d 3fff4a1c 3ffe97b8 3fff49c0 +3fffff70: 3fff44d8 3fff2adc 3fff44c8 3fff49c0 +3fffff80: 3fffdad0 3fff2adc 3fff44d8 4020d090 +3fffff90: 3fffdad0 00000000 3fff2adc 40205cbc +3fffffa0: 3fffdad0 00000000 3fff4990 4020f088 +3fffffb0: feefeffe feefeffe 3ffe97b8 401006f1 << Date: Tue, 11 Jun 2019 22:27:24 +0200 Subject: [PATCH 57/66] use progmem for esp.* calls too (again) --- lib/MyESP/MyESP.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index e2cb04ffd..c4df91fe3 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -1096,10 +1096,10 @@ void MyESP::showSystemStats() { #endif myDebug_P(PSTR(" [FLASH] Flash size (SDK): %d"), ESP.getFlashChipSize()); myDebug_P(PSTR(" [FLASH] Flash Reserved: %d"), 1 * SPI_FLASH_SEC_SIZE); - myDebug(" [MEM] Firmware size: %d", ESP.getSketchSize()); // TODO: commented out because it causes a crash with 2.5.2 - myDebug(" [MEM] Max OTA size: %d", (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); - myDebug(" [MEM] OTA Reserved: %d", 4 * SPI_FLASH_SEC_SIZE); - myDebug(" [MEM] Free Heap: %d", ESP.getFreeHeap()); + myDebug_P(PSTR(" [MEM] Firmware size: %d"), ESP.getSketchSize()); + myDebug_P(PSTR(" [MEM] Max OTA size: %d"), (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); + myDebug_P(PSTR(" [MEM] OTA Reserved: %d"), 4 * SPI_FLASH_SEC_SIZE); + myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); myDebug_P(PSTR("")); } From c85e9d756b62a5b325d2b9efc52242e0767df25a Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 11 Jun 2019 22:27:32 +0200 Subject: [PATCH 58/66] bump --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 021e95b43..c8e0b2cae 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b13" +#define APP_VERSION "1.8.0b14" #define APP_HOSTNAME "ems-esp" From 40659df6be5448119790806fd08ab6380be12a28 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 11 Jun 2019 22:27:46 +0200 Subject: [PATCH 59/66] optimize Tx to handle phantom brk --- src/ems.cpp | 30 ++++++----------------- src/ems.h | 22 ++++++++--------- src/emsuart.cpp | 65 ++++++++++++++++++++++++------------------------- src/emsuart.h | 2 +- 4 files changed, 50 insertions(+), 69 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 2a877499e..30fef3343 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -682,25 +682,11 @@ void _createValidate() { /** * Entry point triggered by an interrupt in emsuart.cpp - * length is size of all the telegram bytes including the CRC, excluding the BRK at the end + * length is the number of all the telegram bytes up to and including the CRC at the end * Read commands are asynchronous as they're handled by the interrupt * When a telegram is processed we forcefully erase it from the stack to prevent overflow */ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { - if ((length != 0) && (telegram[0] != 0x00)) { - _ems_readTelegram(telegram, length); - } - - // clear the Rx buffer just be safe and prevent duplicates - memset(telegram, 0, EMS_MAXBUFFERSIZE); -} - -/** - * the main logic that parses the telegram message - * When we receive a Poll Request we need to send any Tx packages quickly within a 200ms window - * length is total number of bytes of the telegram including the CRC byte at the end (if it exists) - */ -void _ems_readTelegram(uint8_t * telegram, uint8_t length) { // create the Rx package static _EMS_RxTelegram EMS_RxTelegram; static uint32_t _last_emsPollFrequency = 0; @@ -980,7 +966,7 @@ void _removeTxQueue() { void _processType(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t * telegram = EMS_RxTelegram->telegram; - // if its an echo of ourselves from the master UBA, ignore + // if its an echo of ourselves from the master UBA, ignore. This should never happen mind you if (EMS_RxTelegram->src == EMS_ID_ME) { // _debugPrintTelegram("echo:", EMS_RxTelegram, COLOR_WHITE); return; @@ -1674,11 +1660,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { } if (typeFound) { - myDebug_P(PSTR("Device found: %s with DeviceID 0x%02X, ProductID %d, Version %s"), - Other_Types[i].model_string, - Other_Types[i].device_id, - product_id, - version); + myDebug_P(PSTR("Device found: %s (DeviceID:0x%02X ProductID:%d Version:%s)"), Other_Types[i].model_string, Other_Types[i].device_id, product_id, version); // add to list _addDevice(product_id, Other_Types[i].device_id, version, Other_Types[i].model_string); @@ -1700,7 +1682,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { return; } else { - myDebug_P(PSTR("Unrecognized device found: DeviceID 0x%02X, ProductID %d, Version %s"), EMS_RxTelegram->src, product_id, version); + myDebug_P(PSTR("Unrecognized device found: %s (DeviceID:0x%02X ProductID:%d Version:%s)"), EMS_RxTelegram->src, product_id, version); // add to list _addDevice(product_id, EMS_RxTelegram->src, version, "unknown?"); @@ -1767,6 +1749,8 @@ void ems_printTxQueue() { strlcpy(sType, "read", sizeof(sType)); } else if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_VALIDATE) { strlcpy(sType, "validate", sizeof(sType)); + } else if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_RAW) { + strlcpy(sType, "raw", sizeof(sType)); } else { strlcpy(sType, "?", sizeof(sType)); } @@ -2501,7 +2485,7 @@ void ems_testTelegram(uint8_t test_num) { myDebug_P(PSTR("[TEST %d] Injecting telegram %s"), test_num, TEST_DATA[test_num - 1]); // go an parse it - _ems_readTelegram(telegram, length + 1); // include CRC in length + ems_parseTelegram(telegram, length + 1); // include CRC in length #else myDebug_P(PSTR("Firmware not compiled with test data set")); #endif diff --git a/src/ems.h b/src/ems.h index e4a763b8a..f256ae4fa 100644 --- a/src/ems.h +++ b/src/ems.h @@ -298,6 +298,14 @@ extern void ems_parseTelegram(uint8_t * telegram, uint8_t len); void ems_init(); void ems_doReadCommand(uint16_t type, uint8_t dest, bool forceRefresh = false); void ems_sendRawTelegram(char * telegram); +void ems_scanDevices(); +void ems_printAllDevices(); +void ems_printDevices(); +void ems_printTxQueue(); +void ems_testTelegram(uint8_t test_num); +void ems_startupTelegrams(); +bool ems_checkEMSBUSAlive(); +void ems_clearDeviceList(); void ems_setThermostatTemp(float temperature, uint8_t temptype = 0); void ems_setThermostatMode(uint8_t mode); @@ -311,11 +319,11 @@ void ems_setTxMode(uint8_t mode); void ems_setLogging(_EMS_SYS_LOGGING loglevel); void ems_setEmsRefreshed(bool b); void ems_setWarmWaterModeComfort(uint8_t comfort); -bool ems_checkEMSBUSAlive(); void ems_setModels(); void ems_setTxDisabled(bool b); -void ems_clearDeviceList(); +char * ems_getThermostatDescription(char * buffer); +char * ems_getBoilerDescription(char * buffer); void ems_getThermostatValues(); void ems_getBoilerValues(); void ems_getOtherValues(); @@ -332,15 +340,6 @@ void ems_discoverModels(); bool ems_getTxCapable(); uint32_t ems_getPollFrequency(); -void ems_scanDevices(); -void ems_printAllDevices(); -void ems_printDevices(); -char * ems_getThermostatDescription(char * buffer); -void ems_printTxQueue(); -char * ems_getBoilerDescription(char * buffer); -void ems_testTelegram(uint8_t test_num); -void ems_startupTelegrams(); - // private functions uint8_t _crcCalculator(uint8_t * data, uint8_t len); void _processType(_EMS_RxTelegram * EMS_RxTelegram); @@ -349,7 +348,6 @@ void _ems_clearTxData(); int _ems_findBoilerModel(uint8_t model_id); bool _ems_setModel(uint8_t model_id); void _removeTxQueue(); -void _ems_readTelegram(uint8_t * telegram, uint8_t length); // global so can referenced in other classes extern _EMS_Sys_Status EMS_Sys_Status; diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 91328a3a2..3e906b042 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -7,16 +7,12 @@ #include "emsuart.h" #include "ems.h" -#include "ets_sys.h" -#include "osapi.h" - #include #include _EMSRxBuf * pEMSRxBuf; _EMSRxBuf * paEMSRxBuf[EMS_MAXBUFFERS]; uint8_t emsRxBufIdx = 0; -uint8_t phantomBrk = 0; // tells Rx about upcoming phantom break from Tx os_event_t recvTaskQueue[EMSUART_recvTaskQueueLen]; // our Rx queue @@ -35,39 +31,28 @@ static void emsuart_rx_intr_handler(void * para) { } // fill IRQ buffer, by emptying Rx FIFO - if (U0IS & ((1 << UIFF) | (1 << UITO) | (1 << UIBD))) { + if (USIS(EMSUART_UART) & ((1 << UIFF) | (1 << UITO) | (1 << UIBD))) { while ((USS(EMSUART_UART) >> USRXC) & 0xFF) { uart_buffer[length++] = USF(EMSUART_UART); } // clear Rx FIFO full and Rx FIFO timeout interrupts - U0IC = (1 << UIFF) | (1 << UITO); + USIC(EMSUART_UART) = (1 << UIFF) | (1 << UITO); } // BREAK detection = End of EMS data block if (USIS(EMSUART_UART) & ((1 << UIBD))) { ETS_UART_INTR_DISABLE(); // disable all interrupts and clear them - U0IC = (1 << UIBD); // INT clear the BREAK detect interrupt + USIC(EMSUART_UART) = (1 << UIBD); // INT clear the BREAK detect interrupt - // we've send a BRK with loopback enabled, so we must compensate the phantom break - if (phantomBrk) { - length--; // compensate buffer length - phantomBrk = 0; // clear flag - } + pEMSRxBuf->length = length; + os_memcpy((void *)pEMSRxBuf->buffer, (void *)&uart_buffer, length); // copy data into transfer buffer, including the BRK 0x00 at the end + EMS_Sys_Status.emsRxStatus = EMS_RX_STATUS_IDLE; // set the status flag stating BRK has been received and we can start a new package - // copy data into transfer buffer - pEMSRxBuf->writePtr = length; - os_memcpy((void *)pEMSRxBuf->buffer, (void *)&uart_buffer, length); + system_os_post(EMSUART_recvTaskPrio, 0, 0); // call emsuart_recvTask() at next opportunity - // set the status flag stating BRK has been received and we can start a new package - EMS_Sys_Status.emsRxStatus = EMS_RX_STATUS_IDLE; - - // call emsuart_recvTask() at next opportunity - system_os_post(EMSUART_recvTaskPrio, 0, 0); - - // re-enable UART interrupts - ETS_UART_INTR_ENABLE(); + ETS_UART_INTR_ENABLE(); // re-enable UART interrupts } } @@ -78,8 +63,21 @@ static void emsuart_rx_intr_handler(void * para) { */ static void ICACHE_FLASH_ATTR emsuart_recvTask(os_event_t * events) { _EMSRxBuf * pCurrent = pEMSRxBuf; - ems_parseTelegram((uint8_t *)pCurrent->buffer, (pCurrent->writePtr) - 1); // transmit EMS buffer, excluding the BRK - pEMSRxBuf = paEMSRxBuf[++emsRxBufIdx % EMS_MAXBUFFERS]; // next free EMS Receive buffer + uint8_t length = pCurrent->length; // number of bytes including the BRK at the end + + // validate and transmit the EMS buffer, excluding the BRK + if (length == 2) { + // it's a poll or status code, single byte + ems_parseTelegram((uint8_t *)pCurrent->buffer, 1); + } else if ((length > 4) && (pCurrent->buffer[length - 2] != 0x00)) { + // ignore double BRK at the end, possibly from the Tx loopback + // also telegrams with no data value + ems_parseTelegram((uint8_t *)pCurrent->buffer, length - 1); // transmit EMS buffer, excluding the BRK + } + + memset(pCurrent->buffer, 0x00, EMS_MAXBUFFERSIZE); // wipe memory just to be safe + + pEMSRxBuf = paEMSRxBuf[++emsRxBufIdx % EMS_MAXBUFFERS]; // next free EMS Receive buffer } /* @@ -119,8 +117,8 @@ void ICACHE_FLASH_ATTR emsuart_init() { // conf1 params // UCTOE = RX TimeOut enable (default is 1) - // UCTOT = RX TimeOut Threshold (7bit) = want this when no more data after 2 characters. (default is 2) - // UCFFT = RX FIFO Full Threshold (7 bit) = want this to be 31 for 32 bytes of buffer. (default was 127). + // UCTOT = RX TimeOut Threshold (7 bit) = want this when no more data after 2 characters (default is 2) + // UCFFT = RX FIFO Full Threshold (7 bit) = want this to be 31 for 32 bytes of buffer (default was 127) // see https://www.espressif.com/sites/default/files/documentation/esp8266-technical_reference_en.pdf USC1(EMSUART_UART) = 0; // reset config first USC1(EMSUART_UART) = (EMS_MAX_TELEGRAM_LENGTH << UCFFT) | (0x02 << UCTOT) | (1 << UCTOE); // enable interupts @@ -130,14 +128,14 @@ void ICACHE_FLASH_ATTR emsuart_init() { USIE(EMSUART_UART) = 0; // disable all interrupts // enable rx break, fifo full and timeout. - // not frame error UIFR (because they are too frequent) or overflow UIOF because our buffer is only max 32 bytes + // but not frame error UIFR (because they are too frequent) or overflow UIOF because our buffer is only max 32 bytes USIE(EMSUART_UART) = (1 << UIBD) | (1 << UIFF) | (1 << UITO); // set up interrupt callbacks for Rx system_os_task(emsuart_recvTask, EMSUART_recvTaskPrio, recvTaskQueue, EMSUART_recvTaskQueueLen); - // disable esp debug which will go to Tx and mess up the line - system_set_os_print(0); // https://github.com/espruino/Espruino/issues/655 + // disable esp debug which will go to Tx and mess up the line - see https://github.com/espruino/Espruino/issues/655 + system_set_os_print(0); // swap Rx and Tx pins to use GPIO13 (D7) and GPIO15 (D8) respectively #ifndef NO_UART_SWAP @@ -206,6 +204,9 @@ static inline void ICACHE_FLASH_ATTR emsuart_loopback(bool enable) { * Send to Tx, ending with a */ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { + if (len == 0) + return; + if (EMS_Sys_Status.emsTxMode == 0) { // classic mode logic for (uint8_t i = 0; i < len; i++) { USF(EMSUART_UART) = buf[i]; @@ -258,8 +259,6 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { // otherwise we send the final Tx-BRK in the loopback and re=enable Rx-INT. // worst case, we'll see an additional Rx-BRK... if (!(USIS(EMSUART_UART) & (1 << UIBD))) { - phantomBrk = 1; // tell Rx to expect a phantom BRK - // no bus collision - send terminating BRK signal emsuart_loopback(true); USC0(EMSUART_UART) |= (1 << UCBRK); // set @@ -268,13 +267,13 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { while (!(USIS(EMSUART_UART) & (1 << UIBD))) { delayMicroseconds(EMSUART_BIT_TIME); } + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear USIC(EMSUART_UART) = (1 << UIBD); // clear BRK detect IRQ emsuart_loopback(false); // disable loopback mode } - // w/o flushing the Rx FIFO we will get a trailing \0 from our loopback BRK ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } } diff --git a/src/emsuart.h b/src/emsuart.h index dce0bf761..839082a08 100644 --- a/src/emsuart.h +++ b/src/emsuart.h @@ -27,7 +27,7 @@ #define EMSUART_recvTaskQueueLen 64 typedef struct { - uint8_t writePtr; + uint8_t length; uint8_t buffer[EMS_MAXBUFFERSIZE]; } _EMSRxBuf; From 97300450526f138c2a0529ae15247a26ae7930eb Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Jun 2019 09:01:10 +0200 Subject: [PATCH 60/66] updated doc and images --- doc/ems gateway/ems-board-white.jpg | Bin 0 -> 65232 bytes doc/ems gateway/ems-kit-2.jpg | Bin 0 -> 43470 bytes doc/ems gateway/on-boiler.jpg | Bin 0 -> 28820 bytes doc/home_assistant/ha.png | Bin 109280 -> 132635 bytes doc/telnet/telnet_menu.jpg | Bin 68345 -> 91703 bytes doc/telnet/telnet_stats.PNG | Bin 45112 -> 58322 bytes doc/telnet/telnet_verbose.PNG | Bin 132800 -> 193853 bytes 7 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 doc/ems gateway/ems-board-white.jpg create mode 100644 doc/ems gateway/ems-kit-2.jpg create mode 100644 doc/ems gateway/on-boiler.jpg diff --git a/doc/ems gateway/ems-board-white.jpg b/doc/ems gateway/ems-board-white.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0601aea6452aee3f007f79703acb9abb90db5e4 GIT binary patch literal 65232 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 literal 0 HcmV?d00001 diff --git a/doc/ems gateway/ems-kit-2.jpg b/doc/ems gateway/ems-kit-2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..36c8cf4eb9c64c4e134f4a9d03f81a2aa1b50a58 GIT binary patch literal 43470 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 I$*1T41J03brvLx| literal 0 HcmV?d00001 diff --git a/doc/ems gateway/on-boiler.jpg b/doc/ems gateway/on-boiler.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fe7f366742fb5964291d22767989780a2cb79bf5 GIT binary patch literal 28820 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≫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 literal 109280 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

o-$mxvd)=YI9fzkzPIBMKs%pOO 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 diff --git a/doc/telnet/telnet_menu.jpg b/doc/telnet/telnet_menu.jpg index 563fdd8bac40f29e7f3732d5aa12d369ddfe3bf6..fd00d890d1ef3334aabe0a032391ee41963d2f7e 100644 GIT binary patch literal 91703 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�|wpYFi=&zo8bz=tc+G>}+S>f(Nm2dst@ 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 z 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 diff --git a/doc/telnet/telnet_stats.PNG b/doc/telnet/telnet_stats.PNG index 2e13c456f39c88021172e4f78858d340b4c1a32b..54df0a35c8c4edb800abd4bf4566c4ad2f27d73d 100644 GIT binary patch literal 58322 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 a$zWAR z9GZXL=To8eNq}kg)-Q@ns*50`Sdqh8OHVe`m^@{Me*cz!UEykWX9D+|9Lzk-2+!x> zR~IW>ge+gF&Q<5qgT=~9_3-6%6=4oIoGr6&gU9Ignv*Obs=E+|^|F=U9`{D}jNsqt ztgYLvHf($C!pxq2vW4Uy=*##I@1%4P*pYSUO2x+N+Mcqov=5Ug1(de3l~8OhufehG z7FUUy*6MP2tc6aW#9n8V>~QeKKR(`-I@>ECntYlZA$dcj=Z=x#QZfb6dqL@0ph&;3 zD!uo2>HgM4Sk|%q@aN_CJcV~}R>9tMIpJ>^E9NfDScb>Xd*-d~XQkY7FRMc@8RuxP z1&28TWXgM24ZAjXfyljB>U-Mmvi@cDic=Syy$sf=fQE`l&#=|FPubcdHP9$mYG%W< zyP~?IySZ4r-gk{8rS7zbi3R;S!nd95R=aVVL?uJ$zYoHE`ic zcKV~!;?w2bzImyT)Dz6M1!mAYYnmaoYJL7~g@k?nKyfe@_w&S*IiW3n9z^t_6Ue2wi;MI_l(*TFJ3QkqJ^^I?(S*qluBG-^KLGj#iXO%)c zwOr?AUY%Wu`wNBZ-D}g`i-{lXgk<|RznS_dy~W$Rh>dqYSiRJ8Khm{&Ez~adWMVlX zoj)HmrnlkSwzu@7UVAGrsBh0%85Zp(T7z{?@SJeS;3(t7B~jS`pHtH{j?;V!D(=5q*5gy!ZlKquUPLuP8_~4_ETjur%a4Wnw z$jH45XhCNsl-s0y`I|3vJ#vLWFrmn1FAOYiLW3!u0J{jN>Ts8U^xk$C2Ez7&S;1vmV-Dny!FA-L%n{Dpx#t*JY`b$`B|PfA8#j{7qG8VK9tkB6>Bu z5@pgpdc7sPBMD#uxDUc6UNod!rHv^q*#xnySEf$@ZT-6_p#LW{8Kpmh7|%^v3h)1a z%-Q`*H*?Mke%Wt2>?g0i7Y3q>) zw3~V+&>Is)HmmWe2f0|F)`;P2PW55Cj<{kH)j_#lx83k;dlRXDzYdo2yE{!dEnFe_~TxavRZ|d`4?~Cc#;*jp%^~cl7IZMY#k74ZZ5l?+)De;5Y zT?0IBprnF-+@!&@N7MuCs0M8i2i{|${~&Lp1H$*sM;P)HM|%7yer)iA>5ZKRynZo* zH?wGF%(B`7dSpiN?sgs#c4FlE&!6>YUTlb!Wd1yuy4B%?n(Q=QP3lnixP|y} z@Z0kI>x-I?=X~*-Be!~VNYhaACh!=)vk~%XHog*+xZfQsaJ!UG){iZ5Cr&j?dyCig zj8outH-#vkIVK{>-y@<&QvE899$^DgyU_p7_SY)C-xn(QX!-f4!PPcL_3xidcNDui zmM8$-sq`F`bex6JCAdiJ#HW>0$rduP(5$+@`EQeJaqQ zOE;hQeD~65`f&+hN@|EUmHcsQ`LDAt>uk$R-PywCpZfpll(e*s;objF?&{A!{e1o( zo&2l&=b!aIa&Kk&R{19zCB3tCjoVD^Fv|(&#&vB9RL64G@4 ze`eD~8&2ctAD5)r1j}3rz53dJRwy_h@U2i^e)-i~;mm7mf6g;ewOejdR%WW|JU1hK zQ|?ToYx)6qHBM)IxK}Uo9Bg16uv;E3J4O7n_d zuDE{lr%C>{@>jNoTv(;0zrH(Sc?tjZKwlkr z!zKH;y7J2vmhx)x*+pxZw?<@b)}Q;J)g71v(bzU10_x5LUI40qp72c~>r zseI{tsJV+<>dm0dyW<57IWK^!iL6UTj0^R2MWd#t9_HfteOFoZRF&WN?Wr3tGEE28 z8r*M+)2mF6|7!hvRr=(L?a$e-+zSv4mjy;a+IHX!QH5i)`>(Bcj~Y*T%DeJ?NXmuK zz~^qUW^X=;YRvcnI8ULaF<R7U@oZb${!M{hx*McoSkmTwFRt*9eBG~n@e{ISn{ Ws=;{7`sXg7jSQZyelF{r5}E+aitIB0 literal 45112 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

>aYLR;Qg;hHy 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%0AI2OU+CDR9B`oQkVO&kYh$vQ)9Xlmy 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

%1{}_W^?BZB+|afW~FO2 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 literal 132800 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≪4uIcFTLJBuTPkVD35~8qLP2*Ih_|0J( z+1w1GkE;U@YFX%QPlLx99;J`QN<){&L)~asyzGkQda6Gty|6qPG8Wn9-DN(pkcB<9 zVc$vAEPrs0TjSGOkETL?S%YXLAA073OwdT*loxH(bcO(3&q8fhJI{GP9J12Y?W+c^ zS29UBTz0Jj6B*VxPE#h_$`|HXEz1sRB;LTkw!DoLG|zm&h?6~5;O?Xrem|`@;G-VX zr>drfnni1E-MCsXkUuU>P!N`zT=#Xsl#`#@QFhlj^7Wn=W6# zhesYNux=R|4Ru-Au$mBw-YLaRAF0XeCpQcU5gx_-zbV66aDRc$&OATbbSOJCUDVim zX54k0Md|4*0dy^-EU)Kefc(2t)nPP$1gE_cf&9iUwg$#Ek_wgd-h$^+HNji@x?`f? z>|h6zD)o=?Zi=MqnRE4PU5-9S43M-KgKTDbhWbqJ9A4X-$&)i+BF3os;UdwzCG54T$nZP z!p(qZ`a@!60uloEI!DMI(sn~fH-VCFMTAi}QbdOLpEgJ^Has?4doH1Mt>nyPQbph^ zQo;NDbLj9hgavNs;qB&Qnj2XSSdYjYGkrM?+9swq2d3g;jMT%=`YJ_s$8GgHuP{RT zJ3F1)t;!B%mplhip@Rc}HHvcdvimpjC;7#ZS7Ig~+3GmJWX0mHHjSra!=HPMoBk~P z8s4%u&ngQoHC>B&sO!js5G$+OB_o7!jqSfSl1!tS+qKtLQQ$mwi%Th6tx87=N@!L2 zJz+{8PR@jvPryRo757?^f)+Hl`Yz7xn>Fv-htVD{;Z3j&D9-v8KKLx~WZ~wD->cwk z%)A9>s0O7vUFT#FHden}?1i0mPZ*VtPCw)HVX@%#3EKEdy5HXW8*;FZq6F|Pv zRXr}~RNx0zx2^Kv(OB@@K5ksroP3{h8>zOu&TL)l@Ed;_4bv-V;am`g$+T?1bxY5H zQTplOn|S5d9AbU5bS`TRLb6S$elxd8MME*E{ChZ@QU~LEFXP{3W+oQuUAe>VrGk><{y`C4Y(m=hz@jX00g%V0{FJfVOwfXav~} zW$%gnmfyWv`UFRDNmyTrGAorW3*^6F!~g3*$)kXoY5vMyM`ZT=0>tABj*h+%?R2dzPoEW1rhb zGACXJ4<{5yW~httF#L$svU++oHQ%k6rO^Il=7*p1gr;&qUQEpGT8nlS#WE^+PgSGr zVf71nH9W(tzkcuL3Hy*#C!qgj;4FmjR(PT&d>S;0lHi8Oa}PR}3koUGck&|qhCf@b$-7z$ zN93x@xD-gwiMTh^hDwQD$*+l--p48Citsu+;c|CY3}h*r;A%ZxZ8olaA1bL$s!>n= zJ+_N=uKH5e>|s@k86qC1WdWjj(2U}_57mo`4<5CiWnQVDz6E}f%{+)nmC6k%npLf6QAw{Gd__r= zvVfZfydJfjaG4V(SJ5ychTN)n_GPC}4hm_>RV!w&iboYzleJlQc*b3L7iw{hpVT*e ziSXaw(^tW|M64*wEc2@#lPu=WGY=p$m+-O7{KE&K1WkxrKHIE0Qcw36HZQHvfxpZR#)Sp2; zl^P;a=OmWdHm>02V3Lj%H66E|SIBttCPrT6^ntX#5Q@wLdpNEC)En{}Nm&$>;2d%+ z(g_sMFl>{J3Cl++uN+-?Pv@MdZ{m)3dNg7DGZb39fSazal{8u ziKz;YbuZkizAswx`%M<+h3it^+@s2`6|B3M3D<0YT2cL>|0{$6HSy5XdB3j;_;A{P z_8fpqC;#++h*GTj>F>%!uPIYox_2rVUy}pH3%widi4iOQ<`Cfj*eiNcsa08Y;_B4< zHTR!Gi+8tSem%1J)jFJ=ThU$0r~vn+r;S9n!(1>_gDz+-b9e=5&ZqB2XkwF?@wxNaX-X%n{H0c6ueD2xv;=xQ+&;#Am&aX&DoqQPBt#< zL&q}Rmc}%1sTSU>ag@pY>X;MUVg>#l88Vxk>E}Y87iOA^+6GEj9BanMY0sBERPd7( zsGV)_qN^=cu3YT!Iv#2ome&o^CIbVZ#)GMeiIFUW4l}?5i-9(R``w=sI4|GWeNLx9 zBxqPOrEXPcwa(rt0T5i&u$Isebw^%bS$G!5^ZM5vecT#bF5+$ZCinb<8L8~>en>jO zdm&FlQ|kGq8F|7e0wJ$O@6vLQZ;*EmX_77_>YbRmINpAe23K!-n+}gy;hCZo615Td zM#fI_Fhn1|;`>bhOvSAFr&7|EzRn?f3bD6t?V~{|Srh-!avi$vB=?04EVfR|3K7My zZDkV%U-7cA1n>vgp3~0?*pP!9wc^xjIF0>^KF6u+{#0D&cyceik%9Tsa=+g6A zrxhxEAp1iz82FR>H3la$DP7Rmj0$8cgD)f`%K3y-L-Rxr9{6g>&`@E&hf4Cy#&Mv1 z4}l<^i?VO3QaWHb@(k`;D)8Mpdh+&^$LINC^sAGPRkqGARJNutX9p+xR)D7J{QaTi zlfeaMn?l^e%bj+m*|3LMJfCN#!aum0s+@|gw+HHHieLVA$DAm@J|r8c#PKpEM07}9 zS4uyBy(%k2WY=q;(P0&9rfVtsR=!LdXmn`UUwe&4ZqXfv2ni6hl=Jlf5QJ7?H8y<) zwWqJfK3@R5VixEzTiljEp`^0Z>GI(tR}(m}TdnZs;g;l+=lT)9f&)wFi?xyv2bjY3{opJs|i|QZ;Wds(F5^a{C4`nO9)Q1luyv zEPkeh9@pNX`YJ$is0$m|nh|M+CklXYI1rUMLxCA`Lj_e0Q-Np?4SiqJvFg&Pzdb=) z#p(`3*BHGp+&#ys`$YM`?fP(_k71cVUALNHEt%&5aJJ~@3yI9j7=+Zn;yxbzJGc++ zz&kt>&ErBOI_;`cr^)+D+kwfo+Y?O?$hJAkqW>CLK$G77sT*@7v%m~Jf6Fh=q=KGN zC4q4cZFJnhbfoyjtipNYT7ZJ}RX;zl%Xd;_oTR;>7tK8I4r#(BP#UOmmBqv`6Hw)4!ew7CoGDo?2Qo2c=Y|)~GWSnt-z-)vNCVvc> zXVw%v>75uH28>&Q8{uWLdS+`Q)>f zM>Mi1&uayqPSYEY=5L@WH9ivzQn%dT?r4~fY+Je}zkZjfRc*gwKGJM&P9ekm?lh}? zo@pueKnenDvj|w5K<`&QUlwP=NvIe|+0!~7iVGDnU_gJWCDpW#&wYB{HU1K7OYI(f zxKv(_L?v!Th|--LHsF;t`9JBxXg$wtHh0g9ReLGnnAZZRtPVuDD2Z1ZO)#x}_k2~{ zb|e&B!9l_$B!v{MYBEsEfd8ek^H&LoT>ibLMK3!fF}c^?6P?U>sqUY@1{&0^itid6 zcJP$T6M^6~p1R=Fn-`i%>2vWd$yp!L((LCA^>(bkDN~aw6hnpeKy6CTAP3o z_&CxO7pXO44$GtdiTc=L_sHT%O0etSejPS4QNIAKsGRaCOY*vo;{z zf{E>Gt(vw|m1mQaP5Ob1M*j61s>>Oq=>KWRhsE*A*MC7is!KE>rUv&)fZt6$8^ING-J$Il&K)Bv(3%Z=T#v znr)_|q=76MrRQf}e!HqS>CK2j8}zf%*VP7-LY|2`S$5tC+X4OiVNC&lqCTjzkKE-> z*#U$470i99S|e~Bq3VN86PC06O~J5{uWEd6Er(hYB+YAubJ*zC;akn6$x(vB4Y4V!MJE2D z!A7dw1*v>n52xu-0}ToC(F(WLF)c#?5{za(;@?;k(-OoSbe{#znx$$#*6aqCWbfK~ z_$RO=n>y$yeeBa7gkkCt(w^_ct z7CsLrPi5zs6N)kvB6<%machYA4<*izpYA$^rCA|gE7p`_TA`6m??uy*`)!vzUN>BB;P%Tcag0b`zJVH8`zzE>1eSedrV z>_7>kwxlhTdK~;|n&D(^_o_PaqIs_+;6cGQY}BfG(jClku6y%HGos;x;KW2T{bqPY znC|mU&@2?Jw3@*Fc47RB=2lpMtJAk)X}ZdFQ*s0oJRw7yQ&yWe0yhxiPVo)187K6W z68u&};s=k07aalyXK~hwOE-Lhw}a3O*6%(4prE*~oE!7rcZ6FhvJ%-pDx2?V7Y|o6 z#%K*UwVkZ_wqTL3KjX|QCAj%!^CaE3LoN^ua%tH7Qf`BDZu#cI;l; zy=;Y+S~HqL?Ds=4JA;B2Qa*GCnrTkEgrhygD4*b4{4Yb(iq*-=P840z<|pU2$T$=K z?y??+Z%>hDBL7gmXXcWlI$sJCv0ptatQlcqIyF_WENg=SJ3CxqP*zO)}670pW3qsl%Ga3zWwzoFDAB5>T zeR!bl3XD}`20%!UTGn7lsJin#MH*TyfKCA&fLcpzT$VNRmSA50WGB>4A&BW)VbkoG z|9jB(p1dK2#DZ`2&i0IZ7yGJz;a$Rz2lpW$XGQa0@64n9wLfZj5}GQ(A>dDN*8ius z?~H0{>(=JHdi1Cig`>iusWb~kM1n{=M^pqvM5PN+IwlYiiIjxc0cjefMu-ZCNHc^E z2_g`rMoaH~8i3LMr zHmS<$U%4JROxRSVT){qd3%k0BpkM1Lkmmk}E0#oe@cY&``j@7cCYu4ABlg8|3gB5K zl?C1`jVA-FhaNbd<#J{zR^qbN+Ojc70ev8Qe|i%S4K`P58EqrPf4lCspZOL~GMwI3 zCTTgy;%vCH;O&RlVnm3UbPW%kvRi_cPR;og+F3ySy@s{{O>J*AKi4PqMII;#{`O%! z*g{2H<%bz14avZ?*;Dr zw(n?$Q#c2~`#`Ka4t?4qaTO<*VQ{gRR8{_$>&F-Sm3*u*={hQ&X`x{}{xP7-H;JUN zMD14~v1;a_jb0T85^ynGXScV`fnT<@HJ(!o#$`!$b*1)_DJ#+=h?df0nNC~b#`A6r zN4%?b*97Of{}{k*Xh^IwrEWOSJPzrVZW|0*%jIP;-}$8kOeKJFo!hr^2oJ6hMgrb`3Yk%ohgil)@82i3C{R zE5G=N{Qt`KXsI2`%MJq!@+^S^@(AR#P&ttdkl)kz)JJGU4v-URSd#lFa` zN3+8=ypp&upi1-UkOA4%nx9Y&JZ=wXm)Zne!;e}Ai#tjJy(t2&JKi`JHfXsapOW0HnO4Q}MR4@Qq@eL5Kkv9DbllW_ZUQ=mTFT3% zdiX2TSIP$#ySrU@yDC+d!;92t=)f6j34X=+nww{OalP&0;sx|EWoKJpR>bNt{{mp1 zfba9HyfC2w2(s!`pl2e`sAB5Ni{GFBx=!|JYr1$A@gu}?al4FlDj;rH z9uI9YVRb6>d5EMlNij{*1KWyiLN|uZdC z`}Bhy+Q)J-4jO5~O-@x#Dslr_lJjroBl1btPg#~PQv=+ZeUfSwiocal5tcV`#futy z^ybA`((|4s8V`Ao7 zx|QQQJ7Qu!*0HR#(5GJO{BpFg)2d`Q6P=Gt8MuHd%1K?yBL@{GyPvwexiiFWB|^Pe z3+m>FAZIxBe~eyzO^b@Y0ax?re9<^mj9v)CtL@c)q3;<*rw9hZT@GiOY7KsDzW|&VpD-db@ zA34Ns4+4AF^R(z}?sL<5)*dfKbg^l<_xdy61{3pNzu> zKid@nQnq?nC^!U)MSNi71U5<8_S(V_&ThGRWab~YJa;xSgR32UFr_#|%4}5%f)^T4 zKH2r8*A_$&?KHv6BP%Mmd-jjILtf4Yt7@y9p)w0`mt~JvLC&QL^#~V18mAXaotDpx zn$f;9OPfGy(N1S5%bhMfTUVR_O5dWeO;w3 zIO@vB{8&RbS5b=yZb?CiCNA7k#XTLCF#&i zCLa+{JbEX$UvXHq7A!j{d3xCHt z&U`VSg9V+V;mje=cE{d=6pu8(gD0Q8rkp+9A9)>NG? z{pQctkniocGh>Eh`7Yjygh#Y-4{OhW{sY|aLBuVc!y~c$YlFL+)FaWZmvqikemq2-B-2}9vAx-fXz*53rr=c}Qm!Um21*;P z1{xYjUy^?5mG#MCK$7;<7Hw!yz^IyHWOW2C)lA=e@ydYiME9T$&R>xmzL_3R-cUAj z%`if_RO7XjstoD`D zShJMFtd>EO$>n~V&b>U`46t^;{|Ce?dfqrHo@syr+^GcxeJ$b?w zR3D_swj?jK&~v6p4Y!h{2*TXgT?q{w(bq-T>;!olTOg4iGWPQ|y??D;8o6o9NWH5w zL<-E*g5+3?wfhxbEITLAABlz+p?X_5 ze_kZ2nH74|S0gM?;Zl9H(L3xJ#I~tJ-8H+1cv<4BD-pH-f5k>sO%d*KA2Kx)8nN5q zC@J#y!K>iO+B&E8ocrPTpVU$onb5fs%yGem!Li!~_c$o5$Z(`#d2H76jntNnH1Y6S zkWH8BhNn$$Bku+p5|tFe-_pgSE5_%kf(y%wRLN9bC0D7D4@$B4fRL5+_($ z;X5IaVG%rpD3dv|3!Mh`m?8lXUTdZ^&w74;Y|FC&1Pa#G3nLJ-?t-flR&gExoN-V9 z={4TSddfMa0F*Q>Lh;O7f0^pCd@@t?m~;nz?qDD05Y@b%TVAts!u9D~(yx}N4Wkhl zMomp$S@mlq&cLgQSf9AOrS(->off>9_{R2A$WpLouY1t5{tl60(lW{(hK$`db(dSGX=pwlklCN!l5GTM^5bRiK* zaUK0S1ti!tObnzlvU^uE?8?roqA}q3?wuxM-A>;~H=j>#mzTHt8a;dGdtsra0c&Ii zik70AmvDzPTG1N2zlr=x7rj8IdB9?i;V;YzW;014^IY%&ZF!`8)H7_KvpnB`*)OLZ(0U)>C z9iRSs1Rj$ry4*id#5uUCNn0IUZm1BTwEbeLbjIz-0i(We!dkl<&j*(bGMp|D%;J1! zPjlrJ7?%S%9+w1e-jEZ2>e8Dh-|VKof1KrcuFOyA1R^+{4@tBSzLDu_Kq}UWPdlKU zRKzs)jd{6DUcQxTOxsQew>c`8gkpC8VXD7h#<~-?8!6riwnn|dhUgD9g!L71JV#ew zkHBKr7@s0~T5i6CnjCoAc;|B~2xjXQ;2MILNc|W+=G>CHz_lLnEHiU-jE9|z3>Bp4 zobCZ9J7qBEbDB-FJj0ES5*^-ORiP&Y$dKDkQ&W-eC*N1p8=fO3>IZ5G90+@PSGD7A z7)NBpSg+qec;m}z+QcqH48(s>!Y3yYQNXNo-; zs`2CIBKMMWn&nGuVq6E~0o=HaWdvC^7L_u}j8grtIDII-ZqH(Y|K3rbBe@ zDAkchREUVKwB0B{#-?g%GH?CNywCRim?yD!yH%_;8|LnAxMhWwy-=!#lGm8<<3)8_ z-B=sF7~<3!O%oZ_lpE+uKafZQvXS6lhLWG9zUQy;gWf4`icwqpE-|rVKnK77_H#4L zMpLVPU&zZO=zb9GTAgM0ueHppoP2>+th*XMa(%c$)#4bnRMqIH z8FiJ`2NCLfBF&Fvx2hmHZllIMb9$Z4Tgpggrlw{o;M9m!_lBz6h$cCxX8OEgp;+s4 zA{K{MPf0QGEslcfER3~JR8}S~NyGzU&0IIi&}3b@%+Rjt{(1SZt(vW5u!s`_cMkjwgQ3FjtLWH{ZrK9Ryb{V+{uLnSoQ8JpM05C6@PLoqOV zdeV=ewUe8Kt=(wlgYQY|SjrQ1{f^#h*f35y_tvmwK`Dq8LI(xkXl_0+7I{}~#hFv) zEc0@nf%^p6F^&uk+>kBMTHw#W`uc^JalVIvls;e$vL}j@Rs$fw@ueUM)p8*j`h9Hw z0xVs&cdt=uXVgk-qQKQWS;t};hyf0UN~xvP*%+{!NT%IM9On<9Ypu1`| z+%);__Vj653}~?L))tJBTFN8Q5M0!RHceEQH8CMP%AYkp-CXKzM8VFG zrLBv*(9S&73n|byT)D;drSPRdFU6@wX+XzP79zhmZeZ~;Q(o!|=DrmaJC*pk`i92U zPwIV(o><1+pw1q{%2$&s_5Ge@~v}L5#HNVGJhM01+OpW<9`$-Es@)x{q@e z_@TT#EXT(Aa&)Ko_Vr5&_W-Q~Pkyg_zVWW@(AoWVJCY>78=ScN+uE<6e=V`q^oBL& zh$OZNt@uE{#9!7Y`#aVA=e&!Fo%`$Gd}g@QGWf}piwGR0F!u;?l~nrX`C{VdP}}3OKeUB znUkS+Xw4Se;DvB#NQ3rZPkGL_zgj8bgyIP8BQ)kpcJgceRSuP< z3bzlrzlwZmOVsXHoU;fw7 zo2gAZ-bpB{R3UWKt)5{1YtUY7xTw}!*%Ds%XN+GjeGNY(6_XKJl=-u!E>JW~u7A}I_-#6$@ z-0n2YiaeX1sOV5%TmyF+Dj)2?`Yq)-Rnj}7!gqs{qa@i`@j9huviMizCv83^M2SXS zy(3{`KvtjP9AXlkh27RTTHrxh$UXIu-qb8B+Y%@)k8xcjM`lm|T)n?_Zj!otp`OH=u7{_XcEzm2H@q_<#%Q(~{54%c18` zj68Gh*kc9$P{&nBT>|I%w~(gZ@%)o$Kkf}xpKRTOP&nzF>(2%k)Q>b?DZ z#Jh~wNPiWRPb_T7QT~CJk5_uqXUU$`WscaNoK2-ag+LbFZoJ(th0uMyiM`9H$z2M$ zI*JN!MUa%@W#6qB%bqWQi2&}`k??@UWpjk=X%DRk({B%8S-hV*mr*Sc}B!idF5EHgAaS2V_*Xge% z(`?HeP1>a;y~(xZ_Kxx1$zv+Ks#YPPDBvT8p&bnmG|mYC+FK%DnO&G@ySI7DL=hwW zQ=vWB6|6MuArb@_KC1_`B^$VuA$S6NzNiyEKdBUxdxNktub`6THiVG3CjJhZAQ$PL zfvfwRo-rs09{a@9e2f1yAMA=M(Z>ycNu$ioSS8tMJ78+Ai5spurIB*kc0C|if8>Wv z-L8Ke>CsBaJj{9lc5(4$LZZ0`D98ka(L+k(H*pi{Ivy)sf6a^;=Y=%N5} z%gvdhL^WDzStb%56>j!$R>94WZJ=COQe%M1>p4kJJ?=BqvP=ayPQFUVNAX-%TC30= zHa^TOr1*Ev3aCI~L-bfiUvd7yEP<|<-{sCGbXz7Q*eo&o?_;v|IIx4SHTif-vh+k0 zE%flORa+>uq`%g^*B5R6QcUhl{1y>=(>u2-nI?+D&fLd~YtwxDuQQtKu3hZifq(Zo z65`>{S<2U|H>P~u0UDmWU%pNbJRfYSIa}`(I&;`fP}(!Uu!1L?#x!nTz5~9&&27D% zVzwdDRKgcYXpv3qTanNuOt?I%7%%1J^G*?Kg&?zdm}Yo#2X{4D1RSBNs}8HI#T*7W zETM_a-|F{PpYNHUpz#ZjF_|W$&?b`OBmcX_`H6|-#Ie*b?yJ0HhSr@N+)m59^lN;u z@lVtoVz~*;>`ocO zsq}_%8MoBbHj24)zHq(><}!Jn5$<|$QNv7&Rq8Jju;!c?vG4cR+fY(_E4iOm>bfYT zXJywtFNB@D+##B^oYk&KzIpz{2paL5XW9h0&EEJFMEp)?#`b&R@^`Vx@p!@PqRag% z==cZO$>6ejZ#P2Sf#H>Z@kY4yr(b2jxut0zg#ss(wqum&2FKo*!vGyuul0Nr(Bw)X zf596GA0@bYK+6V=HiThYX{BdE-;l?aC(K`J=f}+pDVC)N?&n!w3 zID54A()d8*Dd*DsY2S})TNbg~5kK%s&Kh2MdaRFD&HA&>vZ;xkE~bJ=f6OgcL_hC%Z9Ab*RWB~U?el=+Z_7XbwTyX zM1B74qO_I_}qt8O94%gCO1{*=9P~!A9%PS}MB=!0NI@L#=r{XMO2>?)s{E+UJ@=le(K1ndtu8sdwVyG$V zbmCmnH=vq{HtwlvWDRg}&#ISel}wtoln(-u{U#2K*5PL^$&`9ZN zYO7TKv|*T6Ug-7lTm18VxT6|D=#$+U19m+VS3L5)gVkBye&R9~43~MSE3|oeNxG9P zQKuXqUJzU6^-818hW<9KgLh+FY4GCJ61J9^L~qOSY_#HD?p~-S$c#u}tekljpE1>J zgXxWhB6gIsf;}qibrxw9d~0~PgYRp%kU?4d%i=oi+zZG;Jol`QyVQG+H$<&X?-LEU z*FZ~DuWK+Y-qgZlUyf_D%aH}ciU2#>%o24ZI;%fEuD&!Z$Bewgr1fMW`LPXz$y?*L zI;7s|gvenkX-8+|hM6d%QhZ-POemI) za1X-X^g$j{l$>RvXH0Q8vOxDLh19rPI3aV;iVgg3U(Q!-@U%+GEWU-rWS-_PgtKW$ z&5j{7gyV4_*i`-_6$BbwM4dy4sy{0NbnumvWNqBVLnoHdzHEz+q!0A={@-Y9fxQ#GEzrUDQmJ0q3@5A&PDFYJgVAkJMn5sjM2^ND}}@ zp;EVK@ltH4jJ-)(_E~sARG^Q@-A^UdOXfvIs)V;9Rh5ZgYv^77jU?$d-F-jT*i<((9Czcrb9AkY+U@x+EUPjo6A zGha07GCvLIBb*IAPugPbeaDml=Lr;X%MQQBoH(AH5tS{F1B&6{Z=B9`Y%P3dH)Ri0 ze!B#Kv$p^3X~#1L6z}D~CC(JYm*aiSbA68_&ZKpi$_r^b16)MJb4_sH#{qNMd(-(i z-|VYLcr$|e(!v?09^s&mQt#5ZYmIZqs^h(Gqe(yzkzQc;qNW5M%$LP`VA-XS9Cq<$}xfKXCn4}dna6iXyUs3 zT8|PBZqlkV+aV7wn?k;gB+Q&GBq;YRV|0?Wx`H-1OvOBraD7-Q&x~MyRxfB@{A{rZ zSOw#|DYra_y-TMcHb!kKOt1qHv2-=kx8ig_C6w*8)5Ij%evTQ=mo$sF1IW|?&_=Uq zF|kcKmM8zZv=torgN47duMR;PPb-Y-x6&x6ocL26FI>F*U0@%+bLiD~&mP|b$4nhw z_*~QrTs{&++I0;=HiGG~wbFH%c+LzqKfTT#JGJy!xpzgi-2=cE;LW13!A_l$EEz+y z-3aOZ5xo7XF_Ic7m*8xV3zj(`BjVAP>tmlw-iOthRoH#-BD$|c`Ku+xr<|4Is$kGN zygn&^w!qm$Jthh>I;P{haoglYcG!;1dl_{dQ10=ovl2Q5<1hA2I}?g_G90|+eXVT= zO64HUxqo0w5=(*C>lX7_8;VP95il*|_+HCEU77L3CA||0_fk2bG2P6fQs>r#2MKt{ zh$C-`nYiNmuhJVzc1>RX5WSptXSz49e4*5;WM4u9b0vJ32XY}F$1|~Dlg|znIr5&P zb5E{i*Q-NJF6y~OkP;@#ql4JtMD5jl2vO-@Qc~GKN~(Tyz@Mi1X? zAk?EdX86QwY)=GI#Gey{bQe4xLQyM9IV?7(6tWI_fm$rq1^_mRb!W^1`dVpgA~xqo zg_zYbga!s$Yr2_&Me+lFH=_Suxb9tQ9>%GkPpv#}DggKW<2Ddsz-_3(`4|fs)2lg^ zDGuq@M{J-Br~dZffBvHin5N>%EqUKbXlWb%d-?U7eFuJL18hBQ@?Pl7{k-AZI^=+V z%;XAW@4pqA-BkG@g%vDwgc%=xPM^?=($s_AQ$3e@o!L%cn1L_S1Yu#km8JSK%WBfr zz7xY;3zf0GK*6QWmWFHpbX%ug4VSa=eai&hy620!@NQF2>X#U4YvoT0$T}pkBjjfo zM2vVe*uy_EDd&k(hPP?;cJwdpuKU@qlGNbtj6u3BX>l=x*(Z$qcQa{45-3yo*{?%$v95Lo|poVJ~+3?QQu{{?>%$0-b!wAM_8(dk1^@%ZQ>JE&YePL|qt1&y5 z@T=mO&|OXn6#cJM2k(oe4#p8bs@?%pb31BBeO-jjVUAanbz~h8Ci5GGnEBCCk`vtX zWggy|-2APdYQH=V)TpWJmN)c2;rXcoEk~2}%+yKj>+mPlJen9#UkJMY&|QxFx76)5 zg(|5|(_MBdS%bLs&Ct8X=$PDXdpS6zuX**g1{vBpTk_pbT)DbHvb19~N(iOyn(6i1Gb5eMp)#ZR6_2fRJa=1#v3;uHE-{a5>Oq-Kl_S+3pG8U95cXx+e9c~l;Be{>GC<5wHVIHE z{5YiciAt_VoK7+VORDLe*moiZ8&;Uy(W^MJ1N1Wh6S*0XfO1J~cPcLvcd=~tm{F|Y zDHeS{g_tW6e3WQeH2zaVE_VBoNWc(jtgAhNt6bs(&W3S${fc5@=UE~lR+O~u?z9s0Iu5N1ONa4 From de5f74f7e280e031a9069052280d8e1618b401f7 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Jun 2019 09:24:22 +0200 Subject: [PATCH 61/66] updated doc --- README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ff0eb4222..2e32ecec8 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,23 @@ # EMS-ESP -EMS-ESP is a project to build an electronic controller circuit using an Espressif ESP8266 microcontroller to communicate with EMS (Energy Management System) based Boilers and Thermostats from the Bosch range and compatibles such as Buderus, Nefit, Junkers etc. +EMS-ESP is a open-source system to communicate with **EMS** (Energy Management System) based boilers, thermostats and other modules from manufacturers like Bosch, Buderus, Nefit, Junkers and Sieger. -There are 3 parts to this project, first the design of the circuit, secondly the code for the ESP8266 microcontroller firmware with telnet and MQTT support, and lastly an example configuration for Home Assistant to monitor the data and issue direct commands via a MQTT broker. +The code is writen for the Espressif **ESP8266** microcontroller and supports a telnet console for real-time monitoring and configuration and customizable MQTT support for publishing the information to a home automation system such as Home Assistant or Domoticz. + +----------- Please refer to the [Wiki](https://github.com/proddy/EMS-ESP/wiki) for further documentation. + +**An example of the Home Assistant integration:** + +![ha](https://github.com/proddy/EMS-ESP/raw/dev/doc/home_assistant/ha.png) + +**Using BBQKees' EMS Gateway circuit:** + +| ![on boiler](https://github.com/proddy/EMS-ESP/raw/dev/doc/ems%20gateway/on-boiler.jpg) | ![kit](https://github.com/proddy/EMS-ESP/raw/dev/doc/ems%20gateway/ems-kit-2.jpg) | ![basic circuit](https://github.com/proddy/EMS-ESP/raw/dev/doc/ems%20gateway/ems-board-white.jpg) | +| - | - | - | + +**Example of the Telnet console:** + +| ![telnet menu](https://github.com/proddy/EMS-ESP/raw/dev/doc/telnet/telnet_menu.jpg) | ![telnet menu](https://github.com/proddy/EMS-ESP/raw/dev/doc/telnet/telnet_stats.PNG) | +| - | - | From 96af8348517ac2f5202224f1037fb1be9f31955c Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Jun 2019 09:58:36 +0200 Subject: [PATCH 62/66] updates --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2e32ecec8..fa2bc1c2c 100644 --- a/README.md +++ b/README.md @@ -4,20 +4,20 @@ EMS-ESP is a open-source system to communicate with **EMS** (Energy Management S The code is writen for the Espressif **ESP8266** microcontroller and supports a telnet console for real-time monitoring and configuration and customizable MQTT support for publishing the information to a home automation system such as Home Assistant or Domoticz. ------------ +### Please reference the [Wiki](https://github.com/proddy/EMS-ESP/wiki) for further details and instructions on how to build and configure the firmware. -Please refer to the [Wiki](https://github.com/proddy/EMS-ESP/wiki) for further documentation. +--- **An example of the Home Assistant integration:** ![ha](https://github.com/proddy/EMS-ESP/raw/dev/doc/home_assistant/ha.png) -**Using BBQKees' EMS Gateway circuit:** +**Using BBQKees' [EMS Gateway](https://shop.hotgoodies.nl/ems/) circuit:** | ![on boiler](https://github.com/proddy/EMS-ESP/raw/dev/doc/ems%20gateway/on-boiler.jpg) | ![kit](https://github.com/proddy/EMS-ESP/raw/dev/doc/ems%20gateway/ems-kit-2.jpg) | ![basic circuit](https://github.com/proddy/EMS-ESP/raw/dev/doc/ems%20gateway/ems-board-white.jpg) | | - | - | - | -**Example of the Telnet console:** +**Example of the EMS-ESP's telnet console:** | ![telnet menu](https://github.com/proddy/EMS-ESP/raw/dev/doc/telnet/telnet_menu.jpg) | ![telnet menu](https://github.com/proddy/EMS-ESP/raw/dev/doc/telnet/telnet_stats.PNG) | | - | - | From cbeadd19c0f102e6c45bf7d9c0de8ac1e25cb36c Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Jun 2019 12:36:46 +0200 Subject: [PATCH 63/66] bump --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index c8e0b2cae..e3f3dbd13 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b14" +#define APP_VERSION "1.8.0b15" #define APP_HOSTNAME "ems-esp" From 011771a74609f95af1f0c2013a0dca0fde2338c8 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Jun 2019 12:36:54 +0200 Subject: [PATCH 64/66] added comment --- src/ems.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index 30fef3343..0e097301c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -348,7 +348,7 @@ void ems_setTxMode(uint8_t mode) { // https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495945850 if (mode == 3) { EMS_Sys_Status.emsReverse = true; - myDebug_P(PSTR("Forcing emsReverse for Junkers")); + myDebug_P(PSTR("Forcing emsReverse for Junkers")); // TODO: remove at some point when 2 is the standard } else { EMS_Sys_Status.emsReverse = false; } From 17928617e11f6ded048150ffd0872274cb3608c6 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Jun 2019 12:37:26 +0200 Subject: [PATCH 65/66] added MQTT heartbeat and fixed uptime --- lib/MyESP/MyESP.cpp | 127 ++++++++++++++++++++++++++++++++++++++------ lib/MyESP/MyESP.h | 39 ++++++++------ 2 files changed, 133 insertions(+), 33 deletions(-) diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index c4df91fe3..9a50c21a1 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -43,6 +43,7 @@ MyESP::MyESP() { _helpProjectCmds_count = 0; _use_serial = false; + _heartbeat = false; _mqtt_host = NULL; _mqtt_password = NULL; _mqtt_username = NULL; @@ -137,6 +138,26 @@ bool MyESP::getUseSerial() { return (_use_serial); } +// heartbeat +bool MyESP::getHeartbeat() { + return (_heartbeat); +} + +// init heap ram +uint32_t MyESP::getInitialFreeHeap() { + static uint32_t _heap = 0; + + if (0 == _heap) { + _heap = ESP.getFreeHeap(); + } + + return _heap; +} + +uint32_t MyESP::getUsedHeap() { + return getInitialFreeHeap() - ESP.getFreeHeap(); +} + // called when WiFi is connected, and used to start OTA, MQTT void MyESP::_wifiCallback(justwifi_messages_t code, char * parameter) { if ((code == MESSAGE_CONNECTED)) { @@ -507,7 +528,11 @@ void MyESP::_consoleShowHelp() { } else { myDebug_P(PSTR("* Hostname: %s (%s)"), _getESPhostname().c_str(), WiFi.localIP().toString().c_str()); myDebug_P(PSTR("* WiFi SSID: %s (signal %d%%)"), WiFi.SSID().c_str(), getWifiQuality()); - myDebug_P(PSTR("* MQTT %s"), mqttClient.connected() ? "connected" : "disconnected"); + if (isMQTTConnected()) { + myDebug_P(PSTR("* MQTT connected (heartbeat %s)"), getHeartbeat() ? "enabled" : "disabled"); + } else { + myDebug_P(PSTR("* MQTT disconnected")); + } } myDebug_P(PSTR("*")); @@ -598,6 +623,7 @@ void MyESP::_printSetCommands() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR(" serial=%s"), (_use_serial) ? "on" : "off"); + myDebug_P(PSTR(" heartbeat=%s"), (_heartbeat) ? "on" : "off"); // print any custom settings (_fs_settings_callback)(MYESP_FSACTION_LIST, 0, NULL, NULL); @@ -700,6 +726,23 @@ bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) ok = false; } } + + } else if (strcmp(setting, "heartbeat") == 0) { + ok = true; + _heartbeat = false; + if (value) { + if (strcmp(value, "on") == 0) { + _heartbeat = true; + ok = true; + myDebug_P(PSTR("Heartbeat on")); + } else if (strcmp(value, "off") == 0) { + _heartbeat = false; + ok = true; + myDebug_P(PSTR("Heartbeat off")); + } else { + ok = false; + } + } } else { // finally check for any custom commands ok = (_fs_settings_callback)(MYESP_FSACTION_SET, wc, setting, value); @@ -917,7 +960,6 @@ void MyESP::_setCustomResetReason(uint8_t reason) { _setSystemResetReason(reason); } -// Treat memory as dirty on cold boot, hardware wdt reset and rst pin bool MyESP::_rtcmemStatus() { bool readable; @@ -961,9 +1003,6 @@ void MyESP::_deferredReset(unsigned long delaytime, unsigned char reason) { // Call this method on boot with start=true to increase the crash counter // Call it again once the system is stable to decrease the counter // If the counter reaches SYSTEM_CHECK_MAX then the system is flagged as unstable -// setting _systemOK = false; -// -// An unstable system will only have serial access, WiFi in AP mode and OTA void MyESP::_setSystemCheck(bool stable) { uint8_t value = 0; @@ -1019,9 +1058,10 @@ void MyESP::showSystemStats() { } // uptime - uint32_t t = _getUptime(); // seconds + uint32_t t = _getUptime(); // seconds + uint32_t d = t / 86400L; - uint32_t h = (t / 3600L) % 60; + uint32_t h = ((t % 86400L) / 3600L) % 60; uint32_t rem = t % 3600L; uint8_t m = rem / 60; uint8_t s = rem % 60; @@ -1099,10 +1139,58 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [MEM] Firmware size: %d"), ESP.getSketchSize()); myDebug_P(PSTR(" [MEM] Max OTA size: %d"), (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000); myDebug_P(PSTR(" [MEM] OTA Reserved: %d"), 4 * SPI_FLASH_SEC_SIZE); - myDebug_P(PSTR(" [MEM] Free Heap: %d"), ESP.getFreeHeap()); + + uint32_t total_memory = getInitialFreeHeap(); + uint32_t free_memory = ESP.getFreeHeap(); + + myDebug(" [MEM] Free Heap: %d bytes initially | %d bytes used (%2u%%) | %d bytes free (%2u%%)", + total_memory, + total_memory - free_memory, + 100 * (total_memory - free_memory) / total_memory, + free_memory, + 100 * free_memory / total_memory); + myDebug_P(PSTR("")); } +/* + * Send heartbeat via MQTT with all system data + */ +void MyESP::_heartbeatCheck(bool force = false) { + static uint32_t last_heartbeat = 0; + + if ((millis() - last_heartbeat > HEARTBEAT_INTERVAL) || force) { + last_heartbeat = millis(); + + if (!isMQTTConnected() || !(_heartbeat)) { + return; + } + + uint32_t total_memory = getInitialFreeHeap(); + uint32_t free_memory = ESP.getFreeHeap(); + uint8_t mem_available = 100 * free_memory / total_memory; // as a % + + char payload[300] = {0}; + char s[10]; + strlcpy(payload, "version=", sizeof(payload)); + strlcat(payload, _app_version, sizeof(payload)); // version + strlcat(payload, ", IP=", sizeof(payload)); + strlcat(payload, WiFi.localIP().toString().c_str(), sizeof(payload)); // IP address + strlcat(payload, ", rssid=", sizeof(payload)); + strlcat(payload, itoa(getWifiQuality(), s, 10), sizeof(payload)); // rssi % + strlcat(payload, "%, load=", sizeof(payload)); + strlcat(payload, ltoa(getSystemLoadAverage(), s, 10), sizeof(payload)); // load + strlcat(payload, "%, uptime=", sizeof(payload)); + strlcat(payload, ltoa(_getUptime(), s, 10), sizeof(payload)); // uptime in secs + strlcat(payload, "secs, freemem=", sizeof(payload)); + strlcat(payload, itoa(mem_available, s, 10), sizeof(payload)); // free mem as a % + strlcat(payload, "%", sizeof(payload)); + + // send to MQTT + myESP.mqttPublish(MQTT_TOPIC_HEARTBEAT, payload); + } +} + // handler for Telnet void MyESP::_telnetHandle() { SerialAndTelnet.handle(); @@ -1396,6 +1484,8 @@ bool MyESP::_fs_loadConfig() { _use_serial = (bool)json["use_serial"]; + _heartbeat = (bool)json["heartbeat"]; + // callback for loading custom settings // ok is false if there's a problem loading a custom setting (e.g. does not exist) bool ok = (_fs_callback)(MYESP_FSACTION_LOAD, json); @@ -1424,6 +1514,7 @@ bool MyESP::fs_saveConfig() { json["mqtt_username"] = _mqtt_username; json["mqtt_password"] = _mqtt_password; json["use_serial"] = _use_serial; + json["heartbeat"] = _heartbeat; // callback for saving custom settings (void)(_fs_callback)(MYESP_FSACTION_SAVE, json); @@ -1475,19 +1566,19 @@ void MyESP::_fs_setup() { // _fs_printConfig(); // enable for debugging } -uint16_t MyESP::getSystemLoadAverage() { +uint32_t MyESP::getSystemLoadAverage() { return _load_average; } // calculate load average void MyESP::_calculateLoad() { - static unsigned long last_loadcheck = 0; - static unsigned long load_counter_temp = 0; + static uint32_t last_loadcheck = 0; + static uint32_t load_counter_temp = 0; load_counter_temp++; if (millis() - last_loadcheck > LOADAVG_INTERVAL) { - static unsigned long load_counter = 0; - static unsigned long load_counter_max = 1; + static uint32_t load_counter = 0; + static uint32_t load_counter_max = 1; load_counter = load_counter_temp; load_counter_temp = 0; @@ -1694,9 +1785,11 @@ void MyESP::begin(const char * app_hostname, const char * app_name, const char * _app_name = strdup(app_name); _app_version = strdup(app_version); + getInitialFreeHeap(); // get initial free mem + _rtcmemSetup(); _telnet_setup(); // Telnet setup, called first to set Serial - _eeprom_setup(); // set up eeprom for storing crash data, if compiled with -DCRASH + _eeprom_setup(); // set up EEPROM for storing crash data, if compiled with -DCRASH _fs_setup(); // SPIFFS setup, do this first to get values _wifi_setup(); // WIFI setup _ota_setup(); // init OTA @@ -1706,6 +1799,7 @@ void MyESP::begin(const char * app_hostname, const char * app_name, const char * SerialAndTelnet.flush(); _setSystemCheck(false); // reset system check + _heartbeatCheck(true); // force heartbeat } /* @@ -1714,11 +1808,10 @@ void MyESP::begin(const char * app_hostname, const char * app_name, const char * void MyESP::loop() { _calculateLoad(); _systemCheckLoop(); + _heartbeatCheck(); _telnetHandle(); - - jw.loop(); // WiFi - + jw.loop(); // WiFi ArduinoOTA.handle(); // OTA _mqttConnect(); // MQTT diff --git a/lib/MyESP/MyESP.h b/lib/MyESP/MyESP.h index e067f3c49..733d1e0c5 100644 --- a/lib/MyESP/MyESP.h +++ b/lib/MyESP/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyEMS_h #define MyEMS_h -#define MYESP_VERSION "1.1.14" +#define MYESP_VERSION "1.1.16" #include #include @@ -18,7 +18,6 @@ #include #include // https://github.com/xoseperez/justwifi #include // modified from https://github.com/yasheena/telnetspy -#include #include extern "C" { @@ -50,8 +49,9 @@ extern struct rst_info resetInfo; #define MQTT_RECONNECT_DELAY_MIN 2000 // Try to reconnect in 3 seconds upon disconnection #define MQTT_RECONNECT_DELAY_STEP 3000 // Increase the reconnect delay in 3 seconds after each failed attempt #define MQTT_RECONNECT_DELAY_MAX 120000 // Set reconnect time to 2 minutes at most -#define MQTT_MAX_TOPIC_SIZE 50 // max length of MQTT message +#define MQTT_MAX_TOPIC_SIZE 50 // max length of MQTT topic #define MQTT_TOPIC_START "start" +#define MQTT_TOPIC_HEARTBEAT "heartbeat" #define MQTT_TOPIC_START_PAYLOAD "start" #define MQTT_TOPIC_RESTART "restart" @@ -153,8 +153,9 @@ struct RtcmemData { static_assert(sizeof(RtcmemData) <= (RTCMEM_BLOCKS * 4u), "RTCMEM struct is too big"); -#define SYSTEM_CHECK_TIME 60000 // The system is considered stable after these many millis -#define SYSTEM_CHECK_MAX 5 // After this many crashes on boot +#define SYSTEM_CHECK_TIME 60000 // The system is considered stable after these many millis (1 minute) +#define SYSTEM_CHECK_MAX 5 // After this many crashes on boot +#define HEARTBEAT_INTERVAL 120000 // in milliseconds, how often the MQTT heartbeat is sent (2 mins) typedef struct { bool set; // is it a set command @@ -230,14 +231,14 @@ class MyESP { void crashInfo(); // general - void end(); - void loop(); - void begin(const char * app_hostname, const char * app_name, const char * app_version); - void setBoottime(const char * boottime); - void resetESP(); - uint16_t getSystemLoadAverage(); - int getWifiQuality(); - void showSystemStats(); + void end(); + void loop(); + void begin(const char * app_hostname, const char * app_name, const char * app_version); + void setBoottime(const char * boottime); + void resetESP(); + int getWifiQuality(); + void showSystemStats(); + bool getHeartbeat(); // rtcmem and reset reason bool rtcmemStatus(); @@ -322,6 +323,7 @@ class MyESP { char * _boottime; bool _suspendOutput; bool _use_serial; + bool _heartbeat; unsigned long _getUptime(); String _buildTime(); @@ -347,10 +349,15 @@ class MyESP { void _systemCheckLoop(); void _setSystemCheck(bool stable); + // load average (0..100) and heap ram + uint32_t getSystemLoadAverage(); + void _calculateLoad(); + uint32_t _load_average; + uint32_t getInitialFreeHeap(); + uint32_t getUsedHeap(); - // load average (0..100) - void _calculateLoad(); - unsigned short int _load_average; + // heartbeat + void _heartbeatCheck(bool force); }; extern MyESP myESP; From 3766780cabb881641b51a3335def6b8940f02aeb Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Jun 2019 15:24:56 +0200 Subject: [PATCH 66/66] version 1.8.0 final --- CHANGELOG.md | 11 +--- lib/MyESP/MyESP.cpp | 4 +- platformio.ini-example | 22 ++++--- src/ems-esp.cpp | 20 +----- src/ems.cpp | 20 +----- src/ems.h | 3 - src/emsuart.cpp | 142 +++++++++++++---------------------------- src/emsuart.h | 12 +--- src/version.h | 2 +- 9 files changed, 69 insertions(+), 167 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8b6a4145c..718620ec4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,20 +5,15 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.8.0dev] 2019-06-08 +## [1.8.0] 2019-06-15 ### Added - Support for HeatPump (e.g. the Nefit Enviline) - new device: Buderus MM50 Mixer - new devices: Junkers FW100 and ISM1 (thanks @Vuego123) -- tx_mode takes a value from 0 to 3 for the different Tx logic - ``` - 0 = original classic ems logic - 1 = @kwertie01 ems+ logic (https://github.com/proddy/EMS-ESP/issues/23#issuecomment-476872291) - 2 = @susisstrolch logic [(pull request 113)](https://github.com/proddy/EMS-ESP/pull/113) - 3 = @philrich logic for Junkers (https://github.com/proddy/EMS-ESP/files/3190563/ems-delay-rev-poll.patch.txt) - ``` +- Improved Tx logic to support EMS, EMS+ and Heatronics (thanks kwertie01, susisstrolch, philrich) +- MQTT heartbeat ### Fixed diff --git a/lib/MyESP/MyESP.cpp b/lib/MyESP/MyESP.cpp index 9a50c21a1..48d7d4422 100644 --- a/lib/MyESP/MyESP.cpp +++ b/lib/MyESP/MyESP.cpp @@ -673,7 +673,7 @@ bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) } ok = true; jw.enableSTA(false); - myDebug_P(PSTR("Note: please reboot to apply new WiFi settings")); + myDebug_P(PSTR("Note: please 'reboot' ESP to apply new WiFi settings")); } else if (strcmp(setting, "wifi_password") == 0) { if (_wifi_password) free(_wifi_password); @@ -683,7 +683,7 @@ bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) } ok = true; jw.enableSTA(false); - myDebug_P(PSTR("Note: please reboot to apply new WiFi settings")); + myDebug_P(PSTR("Note: please 'reboot' ESP to apply new WiFi settings")); } else if (strcmp(setting, "mqtt_host") == 0) { if (_mqtt_host) diff --git a/platformio.ini-example b/platformio.ini-example index 9cc77c048..027670d7b 100644 --- a/platformio.ini-example +++ b/platformio.ini-example @@ -8,19 +8,24 @@ default_envs = debug [common] -; hard code if you prefer. Recommendation is to set from within the app when in Serial or AP mode -; wifi_settings = '-DWIFI_SSID="XXXX"' '-DWIFI_PASSWORD="XXXX"' -wifi_settings = - debug_flags = -Wall -Wextra -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-variable -DTESTS -general_flags = -g -w -DNO_GLOBAL_EEPROM ${common.wifi_settings} +general_flags = -g -w -DNO_GLOBAL_EEPROM + +arduino_core_2_3_0 = espressif8266@1.5.0 +arduino_core_2_4_0 = espressif8266@1.6.0 +arduino_core_2_4_1 = espressif8266@1.7.3 +arduino_core_2_4_2 = espressif8266@1.8.0 +arduino_core_2_5_0 = espressif8266@2.0.4 +arduino_core_2_5_1 = espressif8266@2.1.1 +arduino_core_2_5_2 = espressif8266@2.2.1 +arduino_core_latest = espressif8266 [env] board = d1_mini ; board = nodemcuv2 ; board = d1_mini_pro framework = arduino -platform = espressif8266 +platform = ${common.arduino_core_latest} lib_deps = CRC32 CircularBuffer @@ -31,8 +36,9 @@ lib_deps = EEPROM_rotate upload_speed = 921600 monitor_speed = 115200 -upload_protocol = espota -upload_port = ems-esp.local +; uncomment next 2 lines for OTA +;upload_protocol = espota +;upload_port = ems-esp.local [env:debug] build_flags = ${common.general_flags} ${common.debug_flags} diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 20456c04b..097f9de63 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -106,7 +106,6 @@ command_t project_cmds[] = { {true, "shower_alert ", "send a warning of cold water after shower time is exceeded"}, {true, "publish_wait ", "set frequency for publishing to MQTT"}, {true, "heating_circuit <1 | 2>", "set the thermostat HC to work with if using multiple heating circuits"}, - {true, "tx_mode ", "0=classic ems logic, 1=@kwertie01 ems+ logic, 2=@susisstrolch logic, 3=@philrich logic for Junkers"}, {false, "info", "show data captured on the EMS bus"}, {false, "log ", "set logging mode to none, basic, thermostat only, raw or verbose"}, @@ -347,9 +346,8 @@ void showInfo() { if (ems_getTxCapable()) { char valuestr[8] = {0}; // for formatting floats - myDebug_P(PSTR(" Tx: Last poll=%s seconds ago, Tx mode=%d, # successful write requests=%d"), + myDebug_P(PSTR(" Tx: Last poll=%s seconds ago, # successful write requests=%d"), _float_to_char(valuestr, (ems_getPollFrequency() / (float)1000000), 3), - ems_getTxMode(), EMS_Sys_Status.emsTxPkgs); } else { myDebug_P(PSTR(" Tx: no signal")); @@ -1058,9 +1056,6 @@ bool FSCallback(MYESP_FSACTION action, const JsonObject json) { // shower_alert EMSESP_Status.shower_alert = json["shower_alert"]; - // tx mode - ems_setTxMode(json["tx_mode"]); - // publish_wait if (!(EMSESP_Status.publish_wait = json["publish_wait"])) { EMSESP_Status.publish_wait = DEFAULT_PUBLISHWAIT; // default value @@ -1087,7 +1082,6 @@ bool FSCallback(MYESP_FSACTION action, const JsonObject json) { json["shower_alert"] = EMSESP_Status.shower_alert; json["publish_wait"] = EMSESP_Status.publish_wait; json["heating_circuit"] = EMSESP_Status.heating_circuit; - json["tx_mode"] = ems_getTxMode(); return true; } @@ -1218,11 +1212,6 @@ bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, c } } - // tx delay/ tx mode - if (((strcmp(setting, "tx_mode") == 0) || (strcmp(setting, "tx_delay") == 0)) && (wc == 2)) { - ems_setTxMode(atoi(value)); - ok = true; - } } if (action == MYESP_FSACTION_LIST) { @@ -1249,7 +1238,6 @@ bool SettingsCallback(MYESP_FSACTION action, uint8_t wc, const char * setting, c myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Status.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Status.shower_alert ? "on" : "off"); myDebug_P(PSTR(" publish_wait=%d"), EMSESP_Status.publish_wait); - myDebug_P(PSTR(" tx_mode=%d"), ems_getTxMode()); } return ok; @@ -1689,11 +1677,7 @@ void setup() { // set up myESP for Wifi, MQTT, MDNS and Telnet myESP.setTelnet(project_cmds, ArraySize(project_cmds), TelnetCommandCallback, TelnetCallback); // set up Telnet commands -#ifdef WIFI_SSID - myESP.setWIFI(WIFI_SSID, WIFI_PASSWORD, WIFICallback); -#else - myESP.setWIFI(NULL, NULL, WIFICallback); // pull the wifi settings from the SPIFFS stored settings -#endif + myESP.setWIFI(NULL, NULL, WIFICallback); // MQTT host, username and password taken from the SPIFFS settings myESP.setMQTT( diff --git a/src/ems.cpp b/src/ems.cpp index 0e097301c..33bbb2adb 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -228,7 +228,6 @@ void ems_init() { EMS_Sys_Status.emsTxDisabled = false; EMS_Sys_Status.emsPollFrequency = 0; EMS_Sys_Status.txRetryCount = 0; - EMS_Sys_Status.emsTxMode = 0; EMS_Sys_Status.emsReverse = false; // thermostat @@ -341,23 +340,6 @@ bool ems_getPoll() { return EMS_Sys_Status.emsPollEnabled; } -void ems_setTxMode(uint8_t mode) { - EMS_Sys_Status.emsTxMode = mode; - - // special case for Junkers. If tx_mode is 3 then set the reverse poll flag - // https://github.com/proddy/EMS-ESP/issues/103#issuecomment-495945850 - if (mode == 3) { - EMS_Sys_Status.emsReverse = true; - myDebug_P(PSTR("Forcing emsReverse for Junkers")); // TODO: remove at some point when 2 is the standard - } else { - EMS_Sys_Status.emsReverse = false; - } -} - -uint8_t ems_getTxMode() { - return EMS_Sys_Status.emsTxMode; -} - bool ems_getEmsRefreshed() { return EMS_Sys_Status.emsRefreshed; } @@ -2455,7 +2437,7 @@ void ems_testTelegram(uint8_t test_num) { EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; } - static uint8_t * telegram = (uint8_t *)malloc(EMS_MAX_TELEGRAM_LENGTH); // warning, memory is not free'd so use only for debugging + static uint8_t * telegram = (uint8_t *)malloc(EMS_MAX_TELEGRAM_LENGTH); // warning, memory is never set free so use only for debugging char telegram_string[200]; strlcpy(telegram_string, TEST_DATA[test_num - 1], sizeof(telegram_string)); diff --git a/src/ems.h b/src/ems.h index f256ae4fa..e20ca7660 100644 --- a/src/ems.h +++ b/src/ems.h @@ -97,7 +97,6 @@ typedef struct { bool emsTxCapable; // able to send via Tx bool emsTxDisabled; // true to prevent all Tx uint8_t txRetryCount; // # times the last Tx was re-sent - uint8_t emsTxMode; // handles Tx logic bool emsReverse; // if true, poll logic is reversed } _EMS_Sys_Status; @@ -315,7 +314,6 @@ void ems_setFlowTemp(uint8_t temperature); void ems_setWarmWaterActivated(bool activated); void ems_setWarmTapWaterActivated(bool activated); void ems_setPoll(bool b); -void ems_setTxMode(uint8_t mode); void ems_setLogging(_EMS_SYS_LOGGING loglevel); void ems_setEmsRefreshed(bool b); void ems_setWarmWaterModeComfort(uint8_t comfort); @@ -331,7 +329,6 @@ bool ems_getPoll(); bool ems_getTxEnabled(); bool ems_getThermostatEnabled(); bool ems_getBoilerEnabled(); -uint8_t ems_getTxMode(); bool ems_getBusConnected(); _EMS_SYS_LOGGING ems_getLogging(); bool ems_getEmsRefreshed(); diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 3e906b042..0afcccd56 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -137,10 +137,8 @@ void ICACHE_FLASH_ATTR emsuart_init() { // disable esp debug which will go to Tx and mess up the line - see https://github.com/espruino/Espruino/issues/655 system_set_os_print(0); -// swap Rx and Tx pins to use GPIO13 (D7) and GPIO15 (D8) respectively -#ifndef NO_UART_SWAP + // swap Rx and Tx pins to use GPIO13 (D7) and GPIO15 (D8) respectively system_uart_swap(); -#endif ETS_UART_INTR_ATTACH(emsuart_rx_intr_handler, NULL); ETS_UART_INTR_ENABLE(); @@ -161,35 +159,6 @@ void ICACHE_FLASH_ATTR emsuart_start() { ETS_UART_INTR_ENABLE(); } -/* - * Send a BRK signal - * Which is a 11-bit set of zero's (11 cycles) - */ -void ICACHE_FLASH_ATTR emsuart_tx_brk() { - uint32_t tmp; - - // must make sure Tx FIFO is empty - while (((USS(EMSUART_UART) >> USTXC) & 0xFF) != 0) - ; - - tmp = ((1 << UCRXRST) | (1 << UCTXRST)); // bit mask - USC0(EMSUART_UART) |= (tmp); // set bits - USC0(EMSUART_UART) &= ~(tmp); // clear bits - - // To create a 11-bit we set TXD_BRK bit so the break signal will - // automatically be sent when the tx fifo is empty - tmp = (1 << UCBRK); - USC0(EMSUART_UART) |= (tmp); // set bit - - if (EMS_Sys_Status.emsTxMode <= 1) { // classic mode and ems+ (0, 1) - delayMicroseconds(EMSUART_TX_BRK_WAIT); - } else if (EMS_Sys_Status.emsTxMode == 3) { // junkers mode - delayMicroseconds(EMSUART_TX_WAIT_BRK - EMSUART_TX_LAG); // 1144 (11 Bits) - } - - USC0(EMSUART_UART) &= ~(tmp); // clear bit -} - /* * set loopback mode and clear Tx/Rx FIFO */ @@ -207,75 +176,50 @@ void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { if (len == 0) return; - if (EMS_Sys_Status.emsTxMode == 0) { // classic mode logic - for (uint8_t i = 0; i < len; i++) { - USF(EMSUART_UART) = buf[i]; + /* + * based on code from https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch + * we emit the whole telegram, with Rx interrupt disabled, collecting busmaster response in FIFO. + * after sending the last char we poll the Rx status until either + * - size(Rx FIFO) == size(Tx-Telegram) + * - is detected + * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. + */ + ETS_UART_INTR_DISABLE(); // disable rx interrupt + + // clear Rx status register + USC0(EMSUART_UART) |= (1 << UCRXRST); // reset uart rx fifo + emsuart_flush_fifos(); + + // throw out the telegram... + for (uint8_t i = 0; i < len;) { + USF(EMSUART_UART) = buf[i++]; // send each Tx byte + // wait for echo from busmaster + while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < i || (USIS(EMSUART_UART) & (1 << UIBD)))) { + delayMicroseconds(EMSUART_BIT_TIME); // burn CPU cycles... } - emsuart_tx_brk(); // send - } else if (EMS_Sys_Status.emsTxMode == 1) { // With extra tx delay for EMS+ - for (uint8_t i = 0; i < len; i++) { - USF(EMSUART_UART) = buf[i]; - delayMicroseconds(EMSUART_TX_BRK_WAIT); // https://github.com/proddy/EMS-ESP/issues/23# - } - emsuart_tx_brk(); // send - } else if (EMS_Sys_Status.emsTxMode == 3) { // Junkers logic by @philrich - for (uint8_t i = 0; i < len; i++) { - USF(EMSUART_UART) = buf[i]; - - // just to be safe wait for tx fifo empty (needed?) - while (((USS(EMSUART_UART) >> USTXC) & 0xff) != 0) - ; - - // wait until bits are sent on wire - delayMicroseconds(EMSUART_TX_WAIT_BYTE - EMSUART_TX_LAG + EMSUART_TX_WAIT_GAP); - } - emsuart_tx_brk(); // send - } else if (EMS_Sys_Status.emsTxMode == 2) { // smart Tx - take two - https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch - - /* - * we emit the whole telegram, with Rx interrupt disabled, collecting busmaster response in FIFO. - * after sending the last char we poll the Rx status until either - * - size(Rx FIFO) == size(Tx-Telegram) - * - is detected - * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. - */ - ETS_UART_INTR_DISABLE(); // disable rx interrupt - - // clear Rx status register - USC0(EMSUART_UART) |= (1 << UCRXRST); // reset uart rx fifo - emsuart_flush_fifos(); - - // throw out the telegram... - for (uint8_t i = 0; i < len;) { - USF(EMSUART_UART) = buf[i++]; // send each Tx byte - // wait for echo from busmaster - while ((((USS(EMSUART_UART) >> USRXC) & 0xFF) < i || (USIS(EMSUART_UART) & (1 << UIBD)))) { - delayMicroseconds(EMSUART_BIT_TIME); // burn CPU cycles... - } - } - - // we got the whole telegram in the Rx buffer - // on Rx-BRK (bus collision), we simply enable Rx and leave it - // otherwise we send the final Tx-BRK in the loopback and re=enable Rx-INT. - // worst case, we'll see an additional Rx-BRK... - if (!(USIS(EMSUART_UART) & (1 << UIBD))) { - // no bus collision - send terminating BRK signal - emsuart_loopback(true); - USC0(EMSUART_UART) |= (1 << UCBRK); // set - - // wait until BRK detected... - while (!(USIS(EMSUART_UART) & (1 << UIBD))) { - delayMicroseconds(EMSUART_BIT_TIME); - } - - USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear - - USIC(EMSUART_UART) = (1 << UIBD); // clear BRK detect IRQ - emsuart_loopback(false); // disable loopback mode - } - - ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } + + // we got the whole telegram in the Rx buffer + // on Rx-BRK (bus collision), we simply enable Rx and leave it + // otherwise we send the final Tx-BRK in the loopback and re=enable Rx-INT. + // worst case, we'll see an additional Rx-BRK... + if (!(USIS(EMSUART_UART) & (1 << UIBD))) { + // no bus collision - send terminating BRK signal + emsuart_loopback(true); + USC0(EMSUART_UART) |= (1 << UCBRK); // set + + // wait until BRK detected... + while (!(USIS(EMSUART_UART) & (1 << UIBD))) { + delayMicroseconds(EMSUART_BIT_TIME); + } + + USC0(EMSUART_UART) &= ~(1 << UCBRK); // clear + + USIC(EMSUART_UART) = (1 << UIBD); // clear BRK detect IRQ + emsuart_loopback(false); // disable loopback mode + } + + ETS_UART_INTR_ENABLE(); // receive anything from FIFO... } /* diff --git a/src/emsuart.h b/src/emsuart.h index 839082a08..cd57cd4da 100644 --- a/src/emsuart.h +++ b/src/emsuart.h @@ -13,15 +13,10 @@ #define EMSUART_CONFIG 0x1C // 8N1 (8 bits, no stop bits, 1 parity) #define EMSUART_BAUD 9600 // uart baud rate for the EMS circuit -#define EMS_MAXBUFFERS 10 // 4 buffers for circular filling to avoid collisions -#define EMS_MAXBUFFERSIZE 32 // max size of the buffer. packets are max 32 bytes +#define EMS_MAXBUFFERS 10 // buffers for circular filling to avoid collisions +#define EMS_MAXBUFFERSIZE 32 // max size of the buffer. packets are max 32 bytes to support EMS 1.0 -#define EMSUART_TX_BRK_WAIT 2070 // the BRK from Boiler master is roughly 1.039ms, so accounting for hardware lag using around 2078 (for half-duplex) - 8 (lag) -#define EMSUART_BIT_TIME 104 // bit time @9600 baud -#define EMSUART_TX_WAIT_BYTE EMSUART_BIT_TIME * 10 // Time to send one Byte (8 Bits, 1 Start Bit, 1 Stop Bit) -#define EMSUART_TX_WAIT_BRK EMSUART_BIT_TIME * 11 // Time to send a BRK Signal (11 Bit) -#define EMSUART_TX_WAIT_GAP EMSUART_BIT_TIME * 7 // Gap between to Bytes -#define EMSUART_TX_LAG 8 // Assumed Lag +#define EMSUART_BIT_TIME 104 // bit time @9600 baud #define EMSUART_recvTaskPrio 1 #define EMSUART_recvTaskQueueLen 64 @@ -36,4 +31,3 @@ void ICACHE_FLASH_ATTR emsuart_stop(); void ICACHE_FLASH_ATTR emsuart_start(); void ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len); void ICACHE_FLASH_ATTR emsuart_tx_poll(); -void ICACHE_FLASH_ATTR emsuart_tx_brk(); diff --git a/src/version.h b/src/version.h index e3f3dbd13..fa69ef04e 100644 --- a/src/version.h +++ b/src/version.h @@ -6,5 +6,5 @@ #pragma once #define APP_NAME "EMS-ESP" -#define APP_VERSION "1.8.0b15" +#define APP_VERSION "1.8.0" #define APP_HOSTNAME "ems-esp"