From 82c0d746e4f7decc3296f7fa4ef72785c4dbb3bd Mon Sep 17 00:00:00 2001 From: Janusz Date: Sun, 16 Aug 2020 22:46:43 +0200 Subject: [PATCH 1/5] add DYP ME007 ultrasonic distance sensor --- tasmota/xsns_76_dyp.ino | 158 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 tasmota/xsns_76_dyp.ino diff --git a/tasmota/xsns_76_dyp.ino b/tasmota/xsns_76_dyp.ino new file mode 100644 index 000000000..7e873fe30 --- /dev/null +++ b/tasmota/xsns_76_dyp.ino @@ -0,0 +1,158 @@ +/* + xsns_76_dyp.ino - DYP ME007 serial interface + + Copyright (C) 2020 Janusz Kostorz + + This program is free software: you can reDYPDistanceribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is DYPDistanceributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifdef USE_DYP + +/*********************************************************************************************\ + * DYP ME007 ultrasonic distanceance sensor (300...4000mm), serial version + * + * Every one second code check last received value from sensor via serial port and return: + * -1 for checksum error + * 0 for distance below 300mm + * 300...4000 for measured distance + * 4999 for distance above 4000mm + * 5999 for not connected sensor + * +\*********************************************************************************************/ + +#define XSNS_76 76 + +#include + +TasmotaSerial *DYPSerial = nullptr; + +#define DYP_CRCERROR -1 +#define DYP_BELOWMIN 0 +#define DYP_MIN 300 +#define DYP_MAX 4000 +#define DYP_ABOVEMAX 4999 +#define DYP_NOSENSOR 5999 + +uint16_t DYPDistance = 0; // distance in milimeters +bool DYPSensor = false; // sensor available + +/*********************************************************************************************/ + +void DYPInit(void) +{ + DYPSensor = false; + if (PinUsed(GPIO_DYP_RX)) + { + DYPSerial = new TasmotaSerial(Pin(GPIO_DYP_RX), -1, 1); + if (DYPSerial->begin(9600)) + { + if (DYPSerial->hardwareSerial()) + ClaimSerial(); + DYPSensor = true; + } + } +} + +void DYPEverySecond(void) +{ + if (!DYPSensor) + return; + + // check for serial data + if (DYPSerial->available() < 6) + { + DYPDistance = DYP_NOSENSOR; + return; + } + + + // trash old data (only 7 last bytes are nedded for calculate DYPDistance) + while (DYPSerial->available() > 7) + DYPSerial->read(); + + + // read data from serial port - * 0xFF MSB LSB CRC * + while (DYPSerial->available() > 3) + { + // check for start byte signature + if (DYPSerial->read() != 0xFF) + continue; + + // check for data bytes + if (DYPSerial->available() > 2) + { + uint8_t msb = DYPSerial->read(); + uint8_t lsb = DYPSerial->read(); + if (((uint16_t)(0xFF + msb + lsb) & 0xFF) == DYPSerial->read()) { + uint16_t data = (msb << 8) | lsb; + if (data < DYP_MIN) + data = DYP_BELOWMIN; + if (data > DYP_MAX) + data = DYP_ABOVEMAX; + DYPDistance = data; + } + else { + DYPDistance = DYP_CRCERROR; + } + } + } + + +} + +void DYPShow(bool json) +{ + char types[5] = "DYP"; + if (json) + { + ResponseAppend_P(PSTR(",\"%s\":{\"" D_DISTANCE "\":%d}"), types, DYPDistance); + #ifdef USE_WEBSERVER + } + else + { + WSContentSend_PD(HTTP_SNS_RANGE, types, DYPDistance); + #endif // USE_WEBSERVER + } +} + +/*********************************************************************************************\ + * Interface +\*********************************************************************************************/ + +bool Xsns76(uint8_t function) +{ + if (!PinUsed(GPIO_DYP_RX)) + return false; + + switch (function) + { + case FUNC_INIT: + DYPInit(); + break; + case FUNC_EVERY_SECOND: + DYPEverySecond(); + break; + case FUNC_JSON_APPEND: + DYPShow(1); + break; + #ifdef USE_WEBSERVER + case FUNC_WEB_SENSOR: + DYPShow(0); + break; + #endif // USE_WEBSERVER + } + return false; +} + +#endif // USE_DYP From 5536e03423ab8f3ab3544b2e87e1342b0f87beac Mon Sep 17 00:00:00 2001 From: Janusz Date: Sun, 16 Aug 2020 22:49:16 +0200 Subject: [PATCH 2/5] add DYP ME007 ultrasonic distance sensor --- tasmota/language/bg_BG.h | 1 + tasmota/language/cs_CZ.h | 1 + tasmota/language/de_DE.h | 1 + tasmota/language/el_GR.h | 1 + tasmota/language/en_GB.h | 1 + tasmota/language/es_ES.h | 1 + tasmota/language/fr_FR.h | 1 + tasmota/language/he_HE.h | 1 + tasmota/language/hu_HU.h | 1 + tasmota/language/it_IT.h | 1 + tasmota/language/ko_KO.h | 1 + tasmota/language/nl_NL.h | 1 + tasmota/language/pl_PL.h | 1 + tasmota/language/pt_BR.h | 1 + tasmota/language/pt_PT.h | 1 + tasmota/language/ro_RO.h | 1 + tasmota/language/ru_RU.h | 1 + tasmota/language/sk_SK.h | 1 + tasmota/language/sv_SE.h | 1 + tasmota/language/tr_TR.h | 1 + tasmota/language/uk_UA.h | 1 + tasmota/language/zh_CN.h | 1 + tasmota/language/zh_TW.h | 1 + tasmota/my_user_config.h | 1 + tasmota/tasmota_template.h | 7 ++++++- tasmota/tasmota_template_ESP32.h | 7 ++++++- 26 files changed, 36 insertions(+), 2 deletions(-) diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 167a5315b..459031962 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index b4f3251fb..d87650ec9 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 241bb8a8f..9e25dfdaa 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 024466885..9dbaf45f5 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index 64969eca8..7a9b45b43 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index fc0be8df1..81e2248b4 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index e6e086509..85b9648b8 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index a241a074a..fb073ee3a 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index ecc93125d..2171d2fba 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index d25ff5e94..066370728 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 - GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 - GDO2" #define D_SENSOR_HRXL_RX "HRXL - RX" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL - TX" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "Velocità vento" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index e554c1d01..94b4de66f 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index d4ad9e0ea..7f49f0f5f 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 36f751d86..f67fdefcc 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 85e3707de..3d669b19a 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 131e6f72d..7dbfe4858 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 366288e21..cbfd882b2 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 4f61ccf85..eae73b248 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 459e18f53..32deed082 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index 2b41cd231..e335a856b 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index db9774276..1582c21c0 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index e55a92a28..5d0560e4e 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 26c534009..560d804a8 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index e92e68ad2..3f1dfa7ba 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -684,6 +684,7 @@ #define D_SENSOR_CC1101_GDO0 "CC1101 GDO0" #define D_SENSOR_CC1101_GDO2 "CC1101 GDO2" #define D_SENSOR_HRXL_RX "HRXL Rx" +#define D_SENSOR_DYP_RX "DYP Rx" #define D_SENSOR_ELECTRIQ_MOODL "MOODL Tx" #define D_SENSOR_AS3935 "AS3935" #define D_SENSOR_WINDMETER_SPEED "WindMeter Spd" diff --git a/tasmota/my_user_config.h b/tasmota/my_user_config.h index 774a6dd5b..1744ab266 100644 --- a/tasmota/my_user_config.h +++ b/tasmota/my_user_config.h @@ -616,6 +616,7 @@ // #define USE_FLOG // Add support for GPS logging in OTA's Flash (Experimental) (+2k9 code, +8 bytes RAM) //#define USE_HM10 // (ESP8266 only) Add support for HM-10 as a BLE-bridge (+9k3 code) //#define USE_HRXL // Add support for MaxBotix HRXL-MaxSonar ultrasonic range finders (+0k7) +//#define USE_DYP // Add support for DYP ME-007 ultrasonic distance sensor, serial port version (+0k5 code) //#define USE_TASMOTA_CLIENT // Add support for Arduino Uno/Pro Mini via serial interface including flashing (+2k6 code, 64 mem) #define USE_TASMOTA_CLIENT_FLASH_SPEED 57600 // Usually 57600 for 3.3V variants and 115200 for 5V variants #define USE_TASMOTA_CLIENT_SERIAL_SPEED 57600 // Depends on the sketch that is running on the Uno/Pro Mini diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index 1c38f0420..c53cf4709 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -242,6 +242,7 @@ enum UserSelectablePins { GPIO_IEM3000_TX, // IEM3000 Serial interface GPIO_IEM3000_RX, // IEM3000 Serial interface GPIO_ZIGBEE_RST, // Zigbee reset + GPIO_DYP_RX, GPIO_SENSOR_END }; // Programmer selectable GPIO functionality @@ -337,7 +338,8 @@ const char kSensorNames[] PROGMEM = D_SENSOR_TELEINFO_RX "|" D_SENSOR_TELEINFO_ENABLE "|" D_SENSOR_LMT01_PULSE "|" D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX "|" - D_SENSOR_ZIGBEE_RST + D_SENSOR_ZIGBEE_RST "|" + D_SENSOR_DYP_RX ; const char kSensorNamesFixed[] PROGMEM = @@ -704,6 +706,9 @@ const uint8_t kGpioNiceList[] PROGMEM = { #ifdef USE_HRXL GPIO_HRXL_RX, #endif +#ifdef USE_DYP + GPIO_DYP_RX, +#endif #ifdef USE_AS3935 GPIO_AS3935, #endif diff --git a/tasmota/tasmota_template_ESP32.h b/tasmota/tasmota_template_ESP32.h index 858cc14d3..846d7a105 100644 --- a/tasmota/tasmota_template_ESP32.h +++ b/tasmota/tasmota_template_ESP32.h @@ -138,6 +138,7 @@ enum UserSelectablePins { GPIO_LMT01, // LMT01 input counting pin GPIO_IEM3000_TX, GPIO_IEM3000_RX, // IEM3000 Serial interface GPIO_ZIGBEE_RST, // Zigbee reset + GPIO_DYP_RX, GPIO_SENSOR_END }; enum ProgramSelectablePins { @@ -238,7 +239,8 @@ const char kSensorNames[] PROGMEM = D_SENSOR_TELEINFO_RX "|" D_SENSOR_TELEINFO_ENABLE "|" D_SENSOR_LMT01_PULSE "|" D_SENSOR_IEM3000_TX "|" D_SENSOR_IEM3000_RX "|" - D_SENSOR_ZIGBEE_RST + D_SENSOR_ZIGBEE_RST "|" + D_SENSOR_DYP_RX ; const char kSensorNamesFixed[] PROGMEM = @@ -551,6 +553,9 @@ const uint16_t kGpioNiceList[] PROGMEM = { #ifdef USE_HRXL AGPIO(GPIO_HRXL_RX), #endif +#ifdef USE_DYP + GPIO_DYP_RX, +#endif #ifdef USE_AS3935 AGPIO(GPIO_AS3935), #endif From d0474b5690633b72c05a6be1dbf69852d1c41156 Mon Sep 17 00:00:00 2001 From: Janusz Date: Sun, 16 Aug 2020 22:57:39 +0200 Subject: [PATCH 3/5] add DYP ME007 ultrasonic distance sensor --- tasmota/xsns_76_dyp.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/xsns_76_dyp.ino b/tasmota/xsns_76_dyp.ino index 7e873fe30..173698848 100644 --- a/tasmota/xsns_76_dyp.ino +++ b/tasmota/xsns_76_dyp.ino @@ -77,7 +77,7 @@ void DYPEverySecond(void) } - // trash old data (only 7 last bytes are nedded for calculate DYPDistance) + // trash old data (only 7 last bytes are needed for calculate distance) while (DYPSerial->available() > 7) DYPSerial->read(); From 3b2d4a7871cef309ae8be58b25b5fe86b3d50fca Mon Sep 17 00:00:00 2001 From: Janusz Kostorz <48957313+jkostorz@users.noreply.github.com> Date: Mon, 17 Aug 2020 13:46:08 +0200 Subject: [PATCH 4/5] Remove new line only --- tasmota/xsns_76_dyp.ino | 1 - 1 file changed, 1 deletion(-) diff --git a/tasmota/xsns_76_dyp.ino b/tasmota/xsns_76_dyp.ino index 173698848..e068b67e8 100644 --- a/tasmota/xsns_76_dyp.ino +++ b/tasmota/xsns_76_dyp.ino @@ -76,7 +76,6 @@ void DYPEverySecond(void) return; } - // trash old data (only 7 last bytes are needed for calculate distance) while (DYPSerial->available() > 7) DYPSerial->read(); From d048c9328a3bd1cda7dd80670a452235f7e62e07 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 17 Aug 2020 15:34:38 +0200 Subject: [PATCH 5/5] Update tasmota_template_ESP32.h --- tasmota/tasmota_template_ESP32.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasmota/tasmota_template_ESP32.h b/tasmota/tasmota_template_ESP32.h index 846d7a105..698862f15 100644 --- a/tasmota/tasmota_template_ESP32.h +++ b/tasmota/tasmota_template_ESP32.h @@ -554,7 +554,7 @@ const uint16_t kGpioNiceList[] PROGMEM = { AGPIO(GPIO_HRXL_RX), #endif #ifdef USE_DYP - GPIO_DYP_RX, + AGPIO(GPIO_DYP_RX), #endif #ifdef USE_AS3935 AGPIO(GPIO_AS3935),