From a4d6b5847343d288660b9fa8da79031660fb1ddc Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Tue, 5 Jan 2021 14:20:04 +0100 Subject: [PATCH 1/7] Added analog ph sensor support --- tasmota/language/de_DE.h | 1 + tasmota/language/en_GB.h | 1 + tasmota/tasmota_template.h | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index e05128033..3ed33b6c5 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog PH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index fa8ab091d..a507d82db 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog PH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index 8e8de6142..6c0aabfba 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -101,6 +101,7 @@ enum UserSelectablePins { GPIO_ADC_BUTTON, GPIO_ADC_BUTTON_INV, // Analog Button GPIO_ADC_RANGE, // Analog Range GPIO_ADC_CT_POWER, // ANalog Current + GPIO_ADC_PH, // Analog PH Sensor #ifdef ESP32 GPIO_WEBCAM_PWDN, GPIO_WEBCAM_RESET, GPIO_WEBCAM_XCLK, // Webcam GPIO_WEBCAM_SIOD, GPIO_WEBCAM_SIOC, // Webcam I2C @@ -266,6 +267,7 @@ const char kSensorNames[] PROGMEM = D_SENSOR_ADC_BUTTON "|" D_SENSOR_ADC_BUTTON "_i|" D_SENSOR_ADC_RANGE "|" D_SENSOR_ADC_CT_POWER "|" + D_SENSOR_ADC_PH "|" #ifdef ESP32 D_GPIO_WEBCAM_PWDN "|" D_GPIO_WEBCAM_RESET "|" D_GPIO_WEBCAM_XCLK "|" D_GPIO_WEBCAM_SIOD "|" D_GPIO_WEBCAM_SIOC "|" @@ -761,6 +763,7 @@ const uint16_t kGpioNiceList[] PROGMEM = { AGPIO(GPIO_ADC_RANGE) + MAX_ADCS, // Range AGPIO(GPIO_ADC_CT_POWER) + MAX_ADCS, // Current AGPIO(GPIO_ADC_JOY) + MAX_ADCS, // Joystick + AGPIO(GPIO_ADC_PH) + MAX_ADCS, // Analog PH Sensor #endif // ESP32 }; @@ -779,6 +782,7 @@ const uint16_t kAdcNiceList[] PROGMEM = { AGPIO(GPIO_ADC_RANGE), // Range AGPIO(GPIO_ADC_CT_POWER), // Current AGPIO(GPIO_ADC_JOY), // Joystick + AGPIO(GPIO_ADC_PH), // Analog PH Sensor }; #endif // ESP8266 @@ -793,6 +797,7 @@ enum UserSelectableAdc { ADC_RANGE, // Range ADC_CT_POWER, // Current ADC_JOY, // Joystick + ADC_PH, // Analog PH Sensor // ADC_SWITCH, // Switch // ADC_SWITCH_INV, ADC_END }; From 1eefd276505b65817abdfa6fe7b46ab82eec0ca9 Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Tue, 5 Jan 2021 14:31:13 +0100 Subject: [PATCH 2/7] Extension of xsns analog --- tasmota/xsns_02_analog.ino | 70 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/tasmota/xsns_02_analog.ino b/tasmota/xsns_02_analog.ino index d9cd0c6e6..6ef00f6ee 100644 --- a/tasmota/xsns_02_analog.ino +++ b/tasmota/xsns_02_analog.ino @@ -97,6 +97,20 @@ // Press "Up" will raise ADC to ANALOG_RANGE, Press "Dn" will raise ADC to ANALOG_RANGE/2 #define ANALOG_JOYSTICK (ANALOG_RANGE / 3) +100 // Add resistor tolerance +// pH scale minimum and maximum values +#define ANALOG_PH_MAX 14.0 +#define ANALOG_PH_MIN 0.0 + +// Default values for calibration solution with lower PH +#define ANALOG_PH_CALSOLUTION_LOW_PH 0.0 +#define ANALOG_PH_CALSOLUTION_LOW_ANALOG_VALUE 0 +// Default values for calibration solution with higher PH +#define ANALOG_PH_CALSOLUTION_HIGH_PH 14.0 +#define ANALOG_PH_CALSOLUTION_HIGH_ANALOG_VALUE ANALOG_RANGE + +// Multiplier used to store pH with 2 decimal places in a non decimal datatype +#define ANALOG_PH_DECIMAL_MULTIPLIER 100 + struct { uint8_t present = 0; uint8_t type = 0; @@ -169,6 +183,12 @@ void AdcInitParams(uint8_t idx) { Adc[idx].param2 = ANALOG_CT_MULTIPLIER; // (uint32_t) 100000 Adc[idx].param3 = ANALOG_CT_VOLTAGE; // (int) 10 } + else if (ADC_PH == Adc[idx].type) { + Adc[idx].param1 = ANALOG_PH_CALSOLUTION_LOW_PH * ANALOG_PH_DECIMAL_MULTIPLIER; // PH of the calibration solution 1, which is the one with the lower PH + Adc[idx].param2 = ANALOG_PH_CALSOLUTION_LOW_ANALOG_VALUE; // Reading of AnalogInput while probe is in solution 1 + Adc[idx].param3 = ANALOG_PH_CALSOLUTION_HIGH_PH * ANALOG_PH_DECIMAL_MULTIPLIER; // PH of the calibration solution 2, which is the one with the higher PH + Adc[idx].param4 = ANALOG_PH_CALSOLUTION_HIGH_ANALOG_VALUE; // Reading of AnalogInput while probe is in solution 2 + } } if ((Adcs.type != Adc[idx].type) || (0 == Adc[idx].param1) || (Adc[idx].param1 > ANALOG_RANGE)) { if ((ADC_BUTTON == Adc[idx].type) || (ADC_BUTTON_INV == Adc[idx].type)) { @@ -211,6 +231,9 @@ void AdcInit(void) { if (PinUsed(GPIO_ADC_JOY, i)) { AdcAttach(Pin(GPIO_ADC_JOY, i), ADC_JOY); } + if (PinUsed(GPIO_ADC_PH, i)) { + AdcAttach(Pin(GPIO_ADC_PH, i), ADC_PH); + } } for (uint32_t i = 0; i < MAX_KEYS; i++) { if (PinUsed(GPIO_ADC_BUTTON, i)) { @@ -309,6 +332,22 @@ uint16_t AdcGetLux(uint32_t idx) { return (uint16_t)ldrLux; } +float AdcGetPh(uint32_t idx) { + int adc = AdcRead(Adc[idx].pin, 2); + AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION "PH ADC RAW Value %d"), adc); + + float y1 = Adc[idx].param1 / ANALOG_PH_DECIMAL_MULTIPLIER; + float x1 = Adc[idx].param2; + float y2 = Adc[idx].param3 / ANALOG_PH_DECIMAL_MULTIPLIER; + float x2 = Adc[idx].param4; + + float m = (y2 - y1) / (x2 - x1); + float ph = m * (adc - x1) + y1; + + + return ph; +} + uint16_t AdcGetRange(uint32_t idx) { // formula for calibration: value, fromLow, fromHigh, toLow, toHigh // Example: 514, 632, 236, 0, 100 @@ -510,6 +549,22 @@ void AdcShow(bool json) { } break; } + case ADC_PH: { + float ph = AdcGetPh(idx); + char ph_chr[6]; + dtostrfd(ph, 2, ph_chr); + + AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION "PHS Adc mapped sw %s"), ph_chr); + if (json) { + AdcShowContinuation(&jsonflg); + ResponseAppend_P(PSTR("\"pH%d\":%s"), idx + offset, ph_chr); + #ifdef USE_WEBSERVER + } else { + WSContentSend_PD(HTTP_SNS_PH, "", ph_chr); + #endif // USE_WEBSERVER + } + break; + } } } if (jsonflg) { @@ -551,6 +606,21 @@ void CmndAdcParam(void) { } else { Adc[idx].param3 = (int)(CharToFloat(subStr(sub_string, XdrvMailbox.data, ",", 4)) * 10000); } + + if (ADC_PH == XdrvMailbox.payload) { + char *phLow_chr = subStr(sub_string, XdrvMailbox.data, ",", 2); + char *phHigh_chr = subStr(sub_string, XdrvMailbox.data, ",", 4); + float phLow = CharToFloat(phLow_chr); + float phHigh = CharToFloat(phHigh_chr); + + Adc[idx].param1 = phLow * ANALOG_PH_DECIMAL_MULTIPLIER; + Adc[idx].param2 = strtol(subStr(sub_string, XdrvMailbox.data, ",", 3), nullptr, 10); + Adc[idx].param3 = phHigh * ANALOG_PH_DECIMAL_MULTIPLIER; + Adc[idx].param4 = strtol(subStr(sub_string, XdrvMailbox.data, ",", 5), nullptr, 10); + + AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_APPLICATION "pH probe calibrated. Low: pH %s ^= %d; High: pH %s ^= %d"), phLow_chr, Adc[idx].param2, phHigh_chr, Adc[idx].param4); + } + if (ADC_CT_POWER == XdrvMailbox.payload) { if (((1 == Adc[idx].param1) & CT_FLAG_ENERGY_RESET) > 0) { for (uint32_t idx = 0; idx < MAX_ADCS; idx++) { From 0b90dd73148b8512fa72de14df68a74fe193f0fe Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Tue, 5 Jan 2021 14:46:56 +0100 Subject: [PATCH 3/7] Took care of all languages --- tasmota/language/af_AF.h | 1 + tasmota/language/bg_BG.h | 1 + tasmota/language/cs_CZ.h | 1 + tasmota/language/de_DE.h | 2 +- tasmota/language/el_GR.h | 2 +- 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/vi_VN.h | 1 + tasmota/language/zh_CN.h | 1 + tasmota/language/zh_TW.h | 1 + 22 files changed, 22 insertions(+), 2 deletions(-) diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index 476726bfb..30b87e293 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Reekse" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analoog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index 51a355887..f2f34b3d6 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -739,6 +739,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Аналогов pH сензор" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index 571cdc769..d9ecfefe7 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analogový pH senzor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 3ed33b6c5..15d8be76a 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog PH Sensor" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index cfe86a0bb..189ba9b56 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -739,7 +739,7 @@ #define D_SENSOR_ADC_BUTTON "ADC Button" #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" -#define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index c69b67765..02aad2cce 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index 71271e34e..54282ef3d 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 04e295d97..2b402a7e3 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC - Intervallo" #define D_SENSOR_ADC_CT_POWER "ADC - CTR alimentazione" #define D_SENSOR_ADC_JOYSTICK "ADC - Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "Webcam - PWDN" #define D_GPIO_WEBCAM_RESET "Webcam - RESET" #define D_GPIO_WEBCAM_XCLK "Webcam - XCLK" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index d535c6f38..dbe231062 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index d7f11bd99..93f798cc8 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index b5fac0432..6bfed841c 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index feb940b36..5aa362b36 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 31d3b4a27..0de746a4a 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index 0b8d26d20..e29891790 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index 7191969b7..b138dea28 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index 787d841cb..de25daf5c 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index db6e9fc48..d184c8324 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 5014afcd6..1671c4e1c 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index b027a95ac..aaf88dc96 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index 0fb6cd6a4..0e71a6462 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 05ca75c7b..0440c5030 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index 384103e01..d2c926a82 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" From dc5102563c2720ae67933390f583204c8f00bc05 Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Tue, 5 Jan 2021 14:52:30 +0100 Subject: [PATCH 4/7] Added missing languages --- tasmota/language/el_GR.h | 1 + tasmota/language/es_ES.h | 1 + tasmota/language/fr_FR.h | 1 + 3 files changed, 3 insertions(+) diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 189ba9b56..61189ddbf 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -739,6 +739,7 @@ #define D_SENSOR_ADC_BUTTON "ADC Button" #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" +#define D_SENSOR_ADC_JOYSTICK "ADC Joystick" #define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index 716048851..cc7411eea 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -740,6 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index 61e494c29..18b87d41c 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -736,6 +736,7 @@ #define D_SENSOR_ADC_RANGE "ADC Distance" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Manette" +#define D_SENSOR_ADC_PH "Analog pH Sensor" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" From 26fcc79f58e12bcc35a8ac9e0c1a6e45cc2e2e76 Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Tue, 5 Jan 2021 16:25:56 +0100 Subject: [PATCH 5/7] Streamlined logging, added real cal default values --- tasmota/xsns_02_analog.ino | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/tasmota/xsns_02_analog.ino b/tasmota/xsns_02_analog.ino index 6ef00f6ee..239f461c5 100644 --- a/tasmota/xsns_02_analog.ino +++ b/tasmota/xsns_02_analog.ino @@ -102,14 +102,14 @@ #define ANALOG_PH_MIN 0.0 // Default values for calibration solution with lower PH -#define ANALOG_PH_CALSOLUTION_LOW_PH 0.0 -#define ANALOG_PH_CALSOLUTION_LOW_ANALOG_VALUE 0 +#define ANALOG_PH_CALSOLUTION_LOW_PH 4.0 +#define ANALOG_PH_CALSOLUTION_LOW_ANALOG_VALUE 282 // Default values for calibration solution with higher PH -#define ANALOG_PH_CALSOLUTION_HIGH_PH 14.0 -#define ANALOG_PH_CALSOLUTION_HIGH_ANALOG_VALUE ANALOG_RANGE +#define ANALOG_PH_CALSOLUTION_HIGH_PH 9.18 +#define ANALOG_PH_CALSOLUTION_HIGH_ANALOG_VALUE 435 // Multiplier used to store pH with 2 decimal places in a non decimal datatype -#define ANALOG_PH_DECIMAL_MULTIPLIER 100 +#define ANALOG_PH_DECIMAL_MULTIPLIER 100.0 struct { uint8_t present = 0; @@ -334,17 +334,23 @@ uint16_t AdcGetLux(uint32_t idx) { float AdcGetPh(uint32_t idx) { int adc = AdcRead(Adc[idx].pin, 2); - AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION "PH ADC RAW Value %d"), adc); + float y1 = Adc[idx].param1 / ANALOG_PH_DECIMAL_MULTIPLIER; - float x1 = Adc[idx].param2; + uint32_t x1 = Adc[idx].param2; float y2 = Adc[idx].param3 / ANALOG_PH_DECIMAL_MULTIPLIER; - float x2 = Adc[idx].param4; + uint32_t x2 = Adc[idx].param4; float m = (y2 - y1) / (x2 - x1); float ph = m * (adc - x1) + y1; + char phLow_chr[6]; + char phHigh_chr[6]; + dtostrfd(y1, 2, phLow_chr); + dtostrfd(y2, 2, phHigh_chr); + AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION "Analog pH read. ADC-RAW: %d, cal-low(pH=ADC): %s=%d, cal-high(pH=ADC): %s=%d"), adc, phLow_chr, x1, phHigh_chr,x2); + return ph; } @@ -554,7 +560,7 @@ void AdcShow(bool json) { char ph_chr[6]; dtostrfd(ph, 2, ph_chr); - AddLog_P(LOG_LEVEL_DEBUG, PSTR(D_LOG_APPLICATION "PHS Adc mapped sw %s"), ph_chr); + if (json) { AdcShowContinuation(&jsonflg); ResponseAppend_P(PSTR("\"pH%d\":%s"), idx + offset, ph_chr); @@ -618,7 +624,7 @@ void CmndAdcParam(void) { Adc[idx].param3 = phHigh * ANALOG_PH_DECIMAL_MULTIPLIER; Adc[idx].param4 = strtol(subStr(sub_string, XdrvMailbox.data, ",", 5), nullptr, 10); - AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_APPLICATION "pH probe calibrated. Low: pH %s ^= %d; High: pH %s ^= %d"), phLow_chr, Adc[idx].param2, phHigh_chr, Adc[idx].param4); + AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_APPLICATION "Analog pH probe calibrated. cal-low(pH=ADC): %s=%d, cal-high(pH=ADC): %s=%d"), phLow_chr, Adc[idx].param2, phHigh_chr, Adc[idx].param4); } if (ADC_CT_POWER == XdrvMailbox.payload) { From f09108d4490d569c8410bb2bbff11cb15012bbec Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Tue, 5 Jan 2021 17:25:08 +0100 Subject: [PATCH 6/7] Review comments: Shortened i18n strings --- tasmota/language/af_AF.h | 2 +- tasmota/language/bg_BG.h | 2 +- tasmota/language/cs_CZ.h | 2 +- tasmota/language/de_DE.h | 2 +- tasmota/language/el_GR.h | 2 +- tasmota/language/en_GB.h | 2 +- tasmota/language/es_ES.h | 2 +- tasmota/language/fr_FR.h | 2 +- tasmota/language/he_HE.h | 2 +- tasmota/language/hu_HU.h | 2 +- tasmota/language/it_IT.h | 2 +- tasmota/language/ko_KO.h | 2 +- tasmota/language/nl_NL.h | 2 +- tasmota/language/pl_PL.h | 2 +- tasmota/language/pt_BR.h | 2 +- tasmota/language/pt_PT.h | 2 +- tasmota/language/ro_RO.h | 2 +- tasmota/language/ru_RU.h | 2 +- tasmota/language/sk_SK.h | 2 +- tasmota/language/sv_SE.h | 2 +- tasmota/language/tr_TR.h | 2 +- tasmota/language/uk_UA.h | 2 +- tasmota/language/vi_VN.h | 2 +- tasmota/language/zh_CN.h | 2 +- tasmota/language/zh_TW.h | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/tasmota/language/af_AF.h b/tasmota/language/af_AF.h index 30b87e293..029b22a88 100644 --- a/tasmota/language/af_AF.h +++ b/tasmota/language/af_AF.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Reekse" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analoog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h index f2f34b3d6..febb69927 100644 --- a/tasmota/language/bg_BG.h +++ b/tasmota/language/bg_BG.h @@ -739,7 +739,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Аналогов pH сензор" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h index d9ecfefe7..93b82116c 100644 --- a/tasmota/language/cs_CZ.h +++ b/tasmota/language/cs_CZ.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analogový pH senzor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h index 15d8be76a..8051388a9 100644 --- a/tasmota/language/de_DE.h +++ b/tasmota/language/de_DE.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h index 61189ddbf..150262930 100644 --- a/tasmota/language/el_GR.h +++ b/tasmota/language/el_GR.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h index a507d82db..e864d67fa 100644 --- a/tasmota/language/en_GB.h +++ b/tasmota/language/en_GB.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog PH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h index cc7411eea..2dcb250ec 100644 --- a/tasmota/language/es_ES.h +++ b/tasmota/language/es_ES.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h index 18b87d41c..6f4dbefad 100644 --- a/tasmota/language/fr_FR.h +++ b/tasmota/language/fr_FR.h @@ -736,7 +736,7 @@ #define D_SENSOR_ADC_RANGE "ADC Distance" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Manette" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h index 02aad2cce..660afb117 100644 --- a/tasmota/language/he_HE.h +++ b/tasmota/language/he_HE.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h index 54282ef3d..ce31bb641 100644 --- a/tasmota/language/hu_HU.h +++ b/tasmota/language/hu_HU.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h index 2b402a7e3..0d100c074 100644 --- a/tasmota/language/it_IT.h +++ b/tasmota/language/it_IT.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC - Intervallo" #define D_SENSOR_ADC_CT_POWER "ADC - CTR alimentazione" #define D_SENSOR_ADC_JOYSTICK "ADC - Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "Webcam - PWDN" #define D_GPIO_WEBCAM_RESET "Webcam - RESET" #define D_GPIO_WEBCAM_XCLK "Webcam - XCLK" diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h index dbe231062..58a2b0344 100644 --- a/tasmota/language/ko_KO.h +++ b/tasmota/language/ko_KO.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h index 93f798cc8..3535c3049 100644 --- a/tasmota/language/nl_NL.h +++ b/tasmota/language/nl_NL.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h index 6bfed841c..b4ecd5201 100644 --- a/tasmota/language/pl_PL.h +++ b/tasmota/language/pl_PL.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h index 5aa362b36..41bd49646 100644 --- a/tasmota/language/pt_BR.h +++ b/tasmota/language/pt_BR.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h index 0de746a4a..ed2c24f27 100644 --- a/tasmota/language/pt_PT.h +++ b/tasmota/language/pt_PT.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h index e29891790..50c89e778 100644 --- a/tasmota/language/ro_RO.h +++ b/tasmota/language/ro_RO.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h index b138dea28..9188c931a 100644 --- a/tasmota/language/ru_RU.h +++ b/tasmota/language/ru_RU.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h index de25daf5c..3bca04ce9 100644 --- a/tasmota/language/sk_SK.h +++ b/tasmota/language/sk_SK.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h index d184c8324..69b83afea 100644 --- a/tasmota/language/sv_SE.h +++ b/tasmota/language/sv_SE.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h index 1671c4e1c..12c05ff6e 100644 --- a/tasmota/language/tr_TR.h +++ b/tasmota/language/tr_TR.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h index aaf88dc96..219a261e7 100644 --- a/tasmota/language/uk_UA.h +++ b/tasmota/language/uk_UA.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/vi_VN.h b/tasmota/language/vi_VN.h index 0e71a6462..b215b110e 100644 --- a/tasmota/language/vi_VN.h +++ b/tasmota/language/vi_VN.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h index 0440c5030..48c46ba5b 100644 --- a/tasmota/language/zh_CN.h +++ b/tasmota/language/zh_CN.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h index d2c926a82..5bde78ae2 100644 --- a/tasmota/language/zh_TW.h +++ b/tasmota/language/zh_TW.h @@ -740,7 +740,7 @@ #define D_SENSOR_ADC_RANGE "ADC Range" #define D_SENSOR_ADC_CT_POWER "ADC CT Power" #define D_SENSOR_ADC_JOYSTICK "ADC Joystick" -#define D_SENSOR_ADC_PH "Analog pH Sensor" +#define D_SENSOR_ADC_PH "ADC pH" #define D_GPIO_WEBCAM_PWDN "CAM_PWDN" #define D_GPIO_WEBCAM_RESET "CAM_RESET" #define D_GPIO_WEBCAM_XCLK "CAM_XCLK" From 8108f691b5aec887008ac46d7d8ddda1a2f8c830 Mon Sep 17 00:00:00 2001 From: Michael Kolb Date: Tue, 5 Jan 2021 17:28:38 +0100 Subject: [PATCH 7/7] Review: Fixed enum order in tasmota_template.h --- tasmota/tasmota_template.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_template.h b/tasmota/tasmota_template.h index 6c0aabfba..5d616c137 100644 --- a/tasmota/tasmota_template.h +++ b/tasmota/tasmota_template.h @@ -101,7 +101,6 @@ enum UserSelectablePins { GPIO_ADC_BUTTON, GPIO_ADC_BUTTON_INV, // Analog Button GPIO_ADC_RANGE, // Analog Range GPIO_ADC_CT_POWER, // ANalog Current - GPIO_ADC_PH, // Analog PH Sensor #ifdef ESP32 GPIO_WEBCAM_PWDN, GPIO_WEBCAM_RESET, GPIO_WEBCAM_XCLK, // Webcam GPIO_WEBCAM_SIOD, GPIO_WEBCAM_SIOC, // Webcam I2C @@ -144,6 +143,7 @@ enum UserSelectablePins { GPIO_ST7789_CS, GPIO_ST7789_DC, GPIO_SSD1331_CS, GPIO_SSD1331_DC, GPIO_SDCARD_CS, + GPIO_ADC_PH, // Analog PH Sensor GPIO_SENSOR_END }; enum ProgramSelectablePins { @@ -267,7 +267,6 @@ const char kSensorNames[] PROGMEM = D_SENSOR_ADC_BUTTON "|" D_SENSOR_ADC_BUTTON "_i|" D_SENSOR_ADC_RANGE "|" D_SENSOR_ADC_CT_POWER "|" - D_SENSOR_ADC_PH "|" #ifdef ESP32 D_GPIO_WEBCAM_PWDN "|" D_GPIO_WEBCAM_RESET "|" D_GPIO_WEBCAM_XCLK "|" D_GPIO_WEBCAM_SIOD "|" D_GPIO_WEBCAM_SIOC "|" @@ -308,6 +307,7 @@ const char kSensorNames[] PROGMEM = D_SENSOR_ST7789_CS "|" D_SENSOR_ST7789_DC "|" D_SENSOR_SSD1331_CS "|" D_SENSOR_SSD1331_DC "|" D_SENSOR_SDCARD_CS "|" + D_SENSOR_ADC_PH "|" ; const char kSensorNamesFixed[] PROGMEM =