From ad54ece2fbf9203f98fdf284e323d32b73ee344b Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 13 May 2019 15:56:01 +0200 Subject: [PATCH] 6.5.0.10 Enable ADC0 by default 6.5.0.10 20190513 * Enable ADC0 by default in my_user_config.h (#5671) * Add user configurable ADC0 to Module and Template configuration compatible with current FLAG options (#5671) --- sonoff/_changelog.ino | 6 ++- sonoff/i18n.h | 2 + sonoff/language/bg-BG.h | 4 +- sonoff/language/cs-CZ.h | 4 +- sonoff/language/de-DE.h | 4 +- sonoff/language/el-GR.h | 4 +- sonoff/language/en-GB.h | 4 +- sonoff/language/es-ES.h | 4 +- sonoff/language/fr-FR.h | 4 +- sonoff/language/he-HE.h | 4 +- sonoff/language/hu-HU.h | 4 +- sonoff/language/it-IT.h | 4 +- sonoff/language/ko-KO.h | 4 +- sonoff/language/nl-NL.h | 4 +- sonoff/language/pl-PL.h | 4 +- sonoff/language/pt-BR.h | 4 +- sonoff/language/pt-PT.h | 4 +- sonoff/language/ru-RU.h | 4 +- sonoff/language/sk-SK.h | 4 +- sonoff/language/sv-SE.h | 4 +- sonoff/language/tr-TR.h | 4 +- sonoff/language/uk-UK.h | 4 +- sonoff/language/zh-CN.h | 4 +- sonoff/language/zh-TW.h | 4 +- sonoff/my_user_config.h | 2 +- sonoff/settings.h | 2 +- sonoff/settings.ino | 3 ++ sonoff/sonoff.ino | 41 +++++++++++++++++--- sonoff/sonoff_template.h | 63 ++++++++++++++++++++----------- sonoff/sonoff_version.h | 2 +- sonoff/support.ino | 7 ++++ sonoff/support_button.ino | 25 ++++++++++-- sonoff/xdrv_01_webserver.ino | 73 ++++++++++++++++++++++++++++-------- sonoff/xsns_02_analog.ino | 10 ++--- 34 files changed, 203 insertions(+), 121 deletions(-) diff --git a/sonoff/_changelog.ino b/sonoff/_changelog.ino index 871d04ae4..a44056c11 100644 --- a/sonoff/_changelog.ino +++ b/sonoff/_changelog.ino @@ -1,4 +1,8 @@ -/* 6.5.0.9 20190418 +/* 6.5.0.10 20190513 + * Enable ADC0 by default in my_user_config.h (#5671) + * Add user configurable ADC0 to Module and Template configuration compatible with current FLAG options (#5671) + * + * 6.5.0.9 20190418 * Add command SetOption63 0/1 to disable relay state feedback scan at restart (#5594, #5663) * Fix TasmotaSerial at 9600 bps solving DFPlayer comms (#5528) * Fix Shelly 2.5 overtemp diff --git a/sonoff/i18n.h b/sonoff/i18n.h index 3585f710b..de19407ee 100644 --- a/sonoff/i18n.h +++ b/sonoff/i18n.h @@ -215,6 +215,8 @@ #define D_CMND_WEIGHT_RESOLUTION "WeightRes" #define D_CMND_MODULE "Module" #define D_CMND_MODULES "Modules" +#define D_CMND_ADC "ADC" +#define D_CMND_ADCS "ADCs" #define D_CMND_GPIO "GPIO" #define D_JSON_NOT_SUPPORTED "Not supported" #define D_CMND_GPIOS "GPIOs" diff --git a/sonoff/language/bg-BG.h b/sonoff/language/bg-BG.h index 763ad1e87..a1913c612 100644 --- a/sonoff/language/bg-BG.h +++ b/sonoff/language/bg-BG.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Параметри на модула" #define D_MODULE_TYPE "Тип на модула" #define D_PULLUP_ENABLE "Без pull-up за бутон/ключ" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Сериен вход" #define D_SERIAL_OUT "Сериен изход" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Име" #define D_BASE_TYPE "Базиран на" #define D_TEMPLATE_FLAGS "Опции" -#define D_ALLOW_ADC0 "ADC0 вход" -#define D_ALLOW_ADC0_TEMP "Температура от ADC0" -#define D_ALLOW_PULLUP "Потребителски избор на pull-up" #define D_SAVE_CONFIGURATION "Запазване на конфигурацията" #define D_CONFIGURATION_SAVED "Конфигурацията е запазена" diff --git a/sonoff/language/cs-CZ.h b/sonoff/language/cs-CZ.h index 284500917..fcf9b7ec5 100644 --- a/sonoff/language/cs-CZ.h +++ b/sonoff/language/cs-CZ.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Nastavení modulu" #define D_MODULE_TYPE "Typ modulu" #define D_PULLUP_ENABLE "Tlačítko/Spínač bez pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Název" #define D_BASE_TYPE "Vzor z" #define D_TEMPLATE_FLAGS "Volby" -#define D_ALLOW_ADC0 "ADC0 vstup" -#define D_ALLOW_ADC0_TEMP "ADC0 teplota" -#define D_ALLOW_PULLUP "Pull-up volba uživatele" #define D_SAVE_CONFIGURATION "Ulož nastavení" #define D_CONFIGURATION_SAVED "Nastavení uloženo" diff --git a/sonoff/language/de-DE.h b/sonoff/language/de-DE.h index 46c5fca31..171256aa8 100644 --- a/sonoff/language/de-DE.h +++ b/sonoff/language/de-DE.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Geräte-Einstellungen" #define D_MODULE_TYPE "Gerätetyp" #define D_PULLUP_ENABLE "Kein Taster/Schalter Pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "serieller Eingang [serial in]" #define D_SERIAL_OUT "serieller Ausgang [serial out]" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "basiert auf" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 Temperatur" -#define D_ALLOW_PULLUP "Nutzer pull-up Auswahl" #define D_SAVE_CONFIGURATION "Konfiguration speichern" #define D_CONFIGURATION_SAVED "Konfiguration gespeichert" diff --git a/sonoff/language/el-GR.h b/sonoff/language/el-GR.h index 219fce0ad..238ad7050 100644 --- a/sonoff/language/el-GR.h +++ b/sonoff/language/el-GR.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Παράμετροι μονάδας" #define D_MODULE_TYPE "Τύπος μονάδας" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Όνομα" #define D_BASE_TYPE "Βασίζεται στο" #define D_TEMPLATE_FLAGS "Επιλογές" -#define D_ALLOW_ADC0 "Είσοδος ADC0" -#define D_ALLOW_ADC0_TEMP "Θερμοκρασία ADC0" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Αποθήκευση ρυθμίσεων" #define D_CONFIGURATION_SAVED "Οι ρυθμίσεις αποθηκεύτηκαν" diff --git a/sonoff/language/en-GB.h b/sonoff/language/en-GB.h index f71e20c86..d8a78cec0 100644 --- a/sonoff/language/en-GB.h +++ b/sonoff/language/en-GB.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Module parameters" #define D_MODULE_TYPE "Module type" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Save configuration" #define D_CONFIGURATION_SAVED "Configuration saved" diff --git a/sonoff/language/es-ES.h b/sonoff/language/es-ES.h index 91e148e57..caddf2f06 100644 --- a/sonoff/language/es-ES.h +++ b/sonoff/language/es-ES.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Parámetros del módulo" #define D_MODULE_TYPE "Tipo de módulo" #define D_PULLUP_ENABLE "Botón/Llave sin pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Nombre" #define D_BASE_TYPE "Basada en" #define D_TEMPLATE_FLAGS "Opciones" -#define D_ALLOW_ADC0 "Entrada ADC0" -#define D_ALLOW_ADC0_TEMP "Temperatura por ADC0" -#define D_ALLOW_PULLUP "Habilitar pull-up" #define D_SAVE_CONFIGURATION "Grabar configuración" #define D_CONFIGURATION_SAVED "Configuración grabada" diff --git a/sonoff/language/fr-FR.h b/sonoff/language/fr-FR.h index d7af281b4..ac60a779e 100644 --- a/sonoff/language/fr-FR.h +++ b/sonoff/language/fr-FR.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Paramètres module" #define D_MODULE_TYPE "Type de module" #define D_PULLUP_ENABLE "Inter. sans pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Entrée série" #define D_SERIAL_OUT "Sortie série" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Nom" #define D_BASE_TYPE "Basé sur" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "Entrée ADC0" -#define D_ALLOW_ADC0_TEMP "Température ADC0" -#define D_ALLOW_PULLUP "Pull-up utilisateur" #define D_SAVE_CONFIGURATION "Enregistrer la configuration" #define D_CONFIGURATION_SAVED "Configuration enregistrée" diff --git a/sonoff/language/he-HE.h b/sonoff/language/he-HE.h index b7863de01..86811cae7 100644 --- a/sonoff/language/he-HE.h +++ b/sonoff/language/he-HE.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "מודול פרמטרים" #define D_MODULE_TYPE "סוג מודול" #define D_PULLUP_ENABLE "pull-up אין לחצן/מתג" +#define D_ADC "ADC" #define D_GPIO " רגל " #define D_SERIAL_IN "כניסת סריאל" #define D_SERIAL_OUT "יציאת סריאל" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "שם" #define D_BASE_TYPE "מבוסס על" #define D_TEMPLATE_FLAGS "אפשריות" -#define D_ALLOW_ADC0 "ADC0 כניסת" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "pull-up בחירת משתמש עבור" #define D_SAVE_CONFIGURATION "שמירת הגדרות" #define D_CONFIGURATION_SAVED "הגדרות נשמרו" diff --git a/sonoff/language/hu-HU.h b/sonoff/language/hu-HU.h index 60fdf0813..50e266aa5 100644 --- a/sonoff/language/hu-HU.h +++ b/sonoff/language/hu-HU.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Modul paraméterek" #define D_MODULE_TYPE "Alkalmazott modul" #define D_PULLUP_ENABLE "Nincs felhúzó ellenállás" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Soros BE" #define D_SERIAL_OUT "Soros KI" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Beállítások mentése" #define D_CONFIGURATION_SAVED "Beállítások elmentve" diff --git a/sonoff/language/it-IT.h b/sonoff/language/it-IT.h index 00ad43511..082526cb8 100644 --- a/sonoff/language/it-IT.h +++ b/sonoff/language/it-IT.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Parametri del modulo" #define D_MODULE_TYPE "Tipo modulo" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Salva configurazione" #define D_CONFIGURATION_SAVED "Configurazione salvata" diff --git a/sonoff/language/ko-KO.h b/sonoff/language/ko-KO.h index 7961fdd01..be7c36b64 100644 --- a/sonoff/language/ko-KO.h +++ b/sonoff/language/ko-KO.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "모듈 상세" #define D_MODULE_TYPE "모듈 타입" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "이름" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "옵션" -#define D_ALLOW_ADC0 "ADC0 입력" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "설정 저장" #define D_CONFIGURATION_SAVED "설정 저장 완료" diff --git a/sonoff/language/nl-NL.h b/sonoff/language/nl-NL.h index 153692501..565ff2164 100644 --- a/sonoff/language/nl-NL.h +++ b/sonoff/language/nl-NL.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Module parameters" #define D_MODULE_TYPE "Module soort" #define D_PULLUP_ENABLE "Geen schakelaar pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serieel In" #define D_SERIAL_OUT "Serieel Uit" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Naam" #define D_BASE_TYPE "Op basis van" #define D_TEMPLATE_FLAGS "Opties" -#define D_ALLOW_ADC0 "ADC0 ingang" -#define D_ALLOW_ADC0_TEMP "ADC0 temperatuur" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Bewaar configuratie" #define D_CONFIGURATION_SAVED "Configuratie opgeslagen" diff --git a/sonoff/language/pl-PL.h b/sonoff/language/pl-PL.h index 3ea9d770a..6605e6867 100644 --- a/sonoff/language/pl-PL.h +++ b/sonoff/language/pl-PL.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Parametry modułu" #define D_MODULE_TYPE "Typ modułu" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Zapisz ustawienia" #define D_CONFIGURATION_SAVED "Ustawienia zapisane" diff --git a/sonoff/language/pt-BR.h b/sonoff/language/pt-BR.h index 3a9454ca2..953fbe979 100644 --- a/sonoff/language/pt-BR.h +++ b/sonoff/language/pt-BR.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Parâmetros do módulo" #define D_MODULE_TYPE "Tipo de módulo" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Entrada serial" #define D_SERIAL_OUT "Saída serial" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Gravar configuração" #define D_CONFIGURATION_SAVED "Configuração gravada" diff --git a/sonoff/language/pt-PT.h b/sonoff/language/pt-PT.h index 0556087e6..880471f69 100644 --- a/sonoff/language/pt-PT.h +++ b/sonoff/language/pt-PT.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Parametros do Módulo" #define D_MODULE_TYPE "Tipo de Módulo" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial Entrada" #define D_SERIAL_OUT "Serial Saída" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Salvar configuração" #define D_CONFIGURATION_SAVED "Configuração guardada" diff --git a/sonoff/language/ru-RU.h b/sonoff/language/ru-RU.h index 1362e1aa4..2f56eb44f 100644 --- a/sonoff/language/ru-RU.h +++ b/sonoff/language/ru-RU.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Параметры модуля" #define D_MODULE_TYPE "Тип модуля" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial вход" #define D_SERIAL_OUT "Serial выход" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Сохранить конфигурацию" #define D_CONFIGURATION_SAVED "Конфигурация сохранена " diff --git a/sonoff/language/sk-SK.h b/sonoff/language/sk-SK.h index c15cc9c6a..92b551488 100644 --- a/sonoff/language/sk-SK.h +++ b/sonoff/language/sk-SK.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Nastavenia modulu" #define D_MODULE_TYPE "Typ modulu" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Ulož nastavenia" #define D_CONFIGURATION_SAVED "Nastavenia uložené" diff --git a/sonoff/language/sv-SE.h b/sonoff/language/sv-SE.h index c798f0225..e34847480 100644 --- a/sonoff/language/sv-SE.h +++ b/sonoff/language/sv-SE.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Modulparameterar" #define D_MODULE_TYPE "Modultyp" #define D_PULLUP_ENABLE "Ingen knapp/brytare pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Seriell in" #define D_SERIAL_OUT "Seriell ut" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Spara konfiguration" #define D_CONFIGURATION_SAVED "Konfiguration sparad" diff --git a/sonoff/language/tr-TR.h b/sonoff/language/tr-TR.h index b0ce9f7b5..f6a7ba233 100755 --- a/sonoff/language/tr-TR.h +++ b/sonoff/language/tr-TR.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Modül parametreleri" #define D_MODULE_TYPE "Modul türü" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial In" #define D_SERIAL_OUT "Serial Out" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Ayarları Kaydet" #define D_CONFIGURATION_SAVED "Ayarlar kaydedildi" diff --git a/sonoff/language/uk-UK.h b/sonoff/language/uk-UK.h index fdb6c79fa..54b2bfa39 100644 --- a/sonoff/language/uk-UK.h +++ b/sonoff/language/uk-UK.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "Параметри модулю" #define D_MODULE_TYPE "Тип модулю" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "Serial вхід" #define D_SERIAL_OUT "Serial вихід" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "Зберегти конфігурацію" #define D_CONFIGURATION_SAVED "Конфігурація збережена " diff --git a/sonoff/language/zh-CN.h b/sonoff/language/zh-CN.h index 23c8c54da..be8e1c91c 100644 --- a/sonoff/language/zh-CN.h +++ b/sonoff/language/zh-CN.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "模块设置" #define D_MODULE_TYPE "模块类型" #define D_PULLUP_ENABLE "没有按钮/开关上拉" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "串口输入(RX)" #define D_SERIAL_OUT "串口输出(TX)" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "名称" #define D_BASE_TYPE "基于" #define D_TEMPLATE_FLAGS "选项" -#define D_ALLOW_ADC0 "ADC0 输入" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "用户上拉选择" #define D_SAVE_CONFIGURATION "保存设置" #define D_CONFIGURATION_SAVED "设置已保存" diff --git a/sonoff/language/zh-TW.h b/sonoff/language/zh-TW.h index febe71492..07d63e30a 100644 --- a/sonoff/language/zh-TW.h +++ b/sonoff/language/zh-TW.h @@ -257,6 +257,7 @@ #define D_MODULE_PARAMETERS "模塊設置" #define D_MODULE_TYPE "模塊類型" #define D_PULLUP_ENABLE "No Button/Switch pull-up" +#define D_ADC "ADC" #define D_GPIO "GPIO" #define D_SERIAL_IN "串口輸入(RX)" #define D_SERIAL_OUT "串口輸出(TX)" @@ -306,9 +307,6 @@ #define D_TEMPLATE_NAME "Name" #define D_BASE_TYPE "Based on" #define D_TEMPLATE_FLAGS "Options" -#define D_ALLOW_ADC0 "ADC0 input" -#define D_ALLOW_ADC0_TEMP "ADC0 temperature" -#define D_ALLOW_PULLUP "User pull-up selection" #define D_SAVE_CONFIGURATION "保存設置" #define D_CONFIGURATION_SAVED "設置已保存" diff --git a/sonoff/my_user_config.h b/sonoff/my_user_config.h index a415b6daa..945261e1c 100644 --- a/sonoff/my_user_config.h +++ b/sonoff/my_user_config.h @@ -294,7 +294,7 @@ // #define SUPPORT_MQTT_EVENT // Support trigger event with MQTT subscriptions (+3k5 code) // -- Internal Analog input ----------------------- -#define USE_ADC_VCC // Display Vcc in Power status. Disable for use as Analog input on selected devices +//#define USE_ADC_VCC // Display Vcc in Power status. Disable for use as Analog input on selected devices // -- One wire sensors ---------------------------- // WARNING: Select none for default one DS18B20 sensor or enable one of the following two options for multiple sensors diff --git a/sonoff/settings.h b/sonoff/settings.h index f00e1bfa8..4c56fe62b 100644 --- a/sonoff/settings.h +++ b/sonoff/settings.h @@ -285,7 +285,7 @@ struct SYSCFG { uint8_t ws_color[4][3]; // 475 uint8_t ws_width[3]; // 481 myio my_gp; // 484 - uint8_t test_step; // 495 + uint8_t my_adc0; // 495 uint16_t light_pixels; // 496 uint8_t light_color[5]; // 498 uint8_t light_correction; // 49D diff --git a/sonoff/settings.ino b/sonoff/settings.ino index 85640f32d..4fee5e8cc 100644 --- a/sonoff/settings.ino +++ b/sonoff/settings.ino @@ -1164,6 +1164,9 @@ void SettingsDelta(void) if (Settings.version < 0x06050007) { Settings.ledmask = APP_LEDMASK; } + if (Settings.version < 0x0605000A) { + Settings.my_adc0 = ADC0_NONE; + } Settings.version = VERSION; SettingsSave(1); diff --git a/sonoff/sonoff.ino b/sonoff/sonoff.ino index ee8251265..dc984d536 100755 --- a/sonoff/sonoff.ino +++ b/sonoff/sonoff.ino @@ -72,7 +72,7 @@ enum TasmotaCommands { CMND_BACKLOG, CMND_DELAY, CMND_POWER, CMND_FANSPEED, CMND_STATUS, CMND_STATE, CMND_POWERONSTATE, CMND_PULSETIME, CMND_BLINKTIME, CMND_BLINKCOUNT, CMND_SENSOR, CMND_SAVEDATA, CMND_SETOPTION, CMND_TEMPERATURE_RESOLUTION, CMND_HUMIDITY_RESOLUTION, CMND_PRESSURE_RESOLUTION, CMND_POWER_RESOLUTION, CMND_VOLTAGE_RESOLUTION, CMND_FREQUENCY_RESOLUTION, CMND_CURRENT_RESOLUTION, CMND_ENERGY_RESOLUTION, CMND_WEIGHT_RESOLUTION, - CMND_MODULE, CMND_MODULES, CMND_GPIO, CMND_GPIOS, CMND_PWM, CMND_PWMFREQUENCY, CMND_PWMRANGE, CMND_COUNTER, CMND_COUNTERTYPE, + CMND_MODULE, CMND_MODULES, CMND_ADC, CMND_ADCS, CMND_GPIO, CMND_GPIOS, CMND_PWM, CMND_PWMFREQUENCY, CMND_PWMRANGE, CMND_COUNTER, CMND_COUNTERTYPE, CMND_COUNTERDEBOUNCE, CMND_BUTTONDEBOUNCE, CMND_SWITCHDEBOUNCE, CMND_SLEEP, CMND_UPGRADE, CMND_UPLOAD, CMND_OTAURL, CMND_SERIALLOG, CMND_SYSLOG, CMND_LOGHOST, CMND_LOGPORT, CMND_IPADDRESS, CMND_NTPSERVER, CMND_AP, CMND_SSID, CMND_PASSWORD, CMND_HOSTNAME, CMND_WIFICONFIG, CMND_FRIENDLYNAME, CMND_SWITCHMODE, CMND_INTERLOCK, CMND_TEMPLATE, @@ -82,7 +82,7 @@ const char kTasmotaCommands[] PROGMEM = D_CMND_BACKLOG "|" D_CMND_DELAY "|" D_CMND_POWER "|" D_CMND_FANSPEED "|" D_CMND_STATUS "|" D_CMND_STATE "|" D_CMND_POWERONSTATE "|" D_CMND_PULSETIME "|" D_CMND_BLINKTIME "|" D_CMND_BLINKCOUNT "|" D_CMND_SENSOR "|" D_CMND_SAVEDATA "|" D_CMND_SETOPTION "|" D_CMND_TEMPERATURE_RESOLUTION "|" D_CMND_HUMIDITY_RESOLUTION "|" D_CMND_PRESSURE_RESOLUTION "|" D_CMND_POWER_RESOLUTION "|" D_CMND_VOLTAGE_RESOLUTION "|" D_CMND_FREQUENCY_RESOLUTION "|" D_CMND_CURRENT_RESOLUTION "|" D_CMND_ENERGY_RESOLUTION "|" D_CMND_WEIGHT_RESOLUTION "|" - D_CMND_MODULE "|" D_CMND_MODULES "|" D_CMND_GPIO "|" D_CMND_GPIOS "|" D_CMND_PWM "|" D_CMND_PWMFREQUENCY "|" D_CMND_PWMRANGE "|" D_CMND_COUNTER "|" D_CMND_COUNTERTYPE "|" + D_CMND_MODULE "|" D_CMND_MODULES "|" D_CMND_ADC "|" D_CMND_ADCS "|" D_CMND_GPIO "|" D_CMND_GPIOS "|" D_CMND_PWM "|" D_CMND_PWMFREQUENCY "|" D_CMND_PWMRANGE "|" D_CMND_COUNTER "|" D_CMND_COUNTERTYPE "|" D_CMND_COUNTERDEBOUNCE "|" D_CMND_BUTTONDEBOUNCE "|" D_CMND_SWITCHDEBOUNCE "|" D_CMND_SLEEP "|" D_CMND_UPGRADE "|" D_CMND_UPLOAD "|" D_CMND_OTAURL "|" D_CMND_SERIALLOG "|" D_CMND_SYSLOG "|" D_CMND_LOGHOST "|" D_CMND_LOGPORT "|" D_CMND_IPADDRESS "|" D_CMND_NTPSERVER "|" D_CMND_AP "|" D_CMND_SSID "|" D_CMND_PASSWORD "|" D_CMND_HOSTNAME "|" D_CMND_WIFICONFIG "|" D_CMND_FRIENDLYNAME "|" D_CMND_SWITCHMODE "|" D_CMND_INTERLOCK "|" D_CMND_TEMPLATE "|" @@ -154,6 +154,7 @@ uint8_t devices_present = 0; // Max number of devices supported uint8_t seriallog_level; // Current copy of Settings.seriallog_level uint8_t syslog_level; // Current copy of Settings.syslog_level uint8_t my_module_type; // Current copy of Settings.module or user template type +uint8_t my_adc0; // Active copy of Module ADC0 //uint8_t mdns_delayed_start = 0; // mDNS delayed start bool serial_local = false; // Handle serial locally; bool fallback_topic_flag = false; // Use Topic or FallbackTopic @@ -169,7 +170,7 @@ bool spi_flg = false; // SPI configured bool soft_spi_flg = false; // Software SPI configured bool ntp_force_sync = false; // Force NTP sync myio my_module; // Active copy of Module GPIOs (17 x 8 bits) -gpio_flag my_module_flag; // Active copy of Module GPIO flags +gpio_flag my_module_flag; // Active copy of Template GPIO flags StateBitfield global_state; // Global states (currently Wifi and Mqtt) (8 bits) char my_version[33]; // Composed version string char my_image[33]; // Code image and/or commit @@ -917,6 +918,26 @@ void MqttDataHandler(char* topic, uint8_t* data, unsigned int data_len) } mqtt_data[0] = '\0'; } +#ifndef USE_ADC_VCC + else if (CMND_ADC == command_code) { + if (ValidAdc() && (payload >= 0) && (payload < ADC0_END)) { + Settings.my_adc0 = payload; + restart_flag = 2; + } + Response_P(PSTR("{\"" D_CMND_ADC "0\":\"%d (%s)\"}"), Settings.my_adc0, GetTextIndexed(stemp1, sizeof(stemp1), Settings.my_adc0, kAdc0Names)); + } + else if (CMND_ADCS == command_code) { + Response_P(PSTR("{\"" D_CMND_ADCS "\":[")); + for (uint8_t i = 0; i < ADC0_END; i++) { + if (jsflg) { + ResponseAppend_P(PSTR(",")); + } + jsflg = true; + ResponseAppend_P(PSTR("\"%d (%s)\""), i, GetTextIndexed(stemp1, sizeof(stemp1), i, kAdc0Names)); + } + ResponseAppend_P(PSTR("]}")); + } +#endif // USE_ADC_VCC else if ((CMND_GPIO == command_code) && (index < sizeof(Settings.my_gp))) { myio cmodule; ModuleGpios(&cmodule); @@ -2373,13 +2394,23 @@ void GpioInit(void) Settings.my_gp.io[i] = GPIO_NONE; // Fix not supported sensor ids in module } else if (Settings.my_gp.io[i] > GPIO_NONE) { - my_module.io[i] = Settings.my_gp.io[i]; + my_module.io[i] = Settings.my_gp.io[i]; // Set User selected Module sensors } if ((def_gp.io[i] > GPIO_NONE) && (def_gp.io[i] < GPIO_USER)) { - my_module.io[i] = def_gp.io[i]; + my_module.io[i] = def_gp.io[i]; // Force Template override } } + if ((Settings.my_adc0 >= ADC0_END) && (Settings.my_adc0 < ADC0_USER)) { + Settings.my_adc0 = ADC0_NONE; // Fix not supported sensor ids in module + } + else if (Settings.my_adc0 > ADC0_NONE) { + my_adc0 = Settings.my_adc0; // Set User selected Module sensors + } my_module_flag = ModuleFlag(); + uint8_t template_adc0 = my_module_flag.data &15; + if ((template_adc0 > ADC0_NONE) && (template_adc0 < ADC0_USER)) { + my_adc0 = template_adc0; // Force Template override + } for (uint16_t i = 0; i < GPIO_MAX; i++) { pin[i] = 99; diff --git a/sonoff/sonoff_template.h b/sonoff/sonoff_template.h index 4f3e6ff98..071c1f420 100644 --- a/sonoff/sonoff_template.h +++ b/sonoff/sonoff_template.h @@ -248,6 +248,32 @@ const char kSensorNames[] PROGMEM = D_SENSOR_ADE7953_IRQ "|" ; +// User selectable ADC0 functionality +enum UserSelectableAdc0 { + ADC0_NONE, // Not used + ADC0_INPUT, // Analog input + ADC0_TEMP, // Thermistor + ADC0_LIGHT, // Light sensor + ADC0_BUTTON, // Button + ADC0_BUTTON_INV, +// ADC0_SWITCH, // Switch +// ADC0_SWITCH_INV, + ADC0_END }; + +// Programmer selectable ADC0 functionality +enum ProgramSelectableAdc0 { + ADC0_FIX_START = 14, + ADC0_USER, // User configurable needs to be 15 + ADC0_MAX }; + +// Text in webpage Module Parameters and commands ADC +const char kAdc0Names[] PROGMEM = + D_SENSOR_NONE "|" D_ANALOG_INPUT "|" + D_TEMPERATURE "|" D_LIGHT "|" + D_SENSOR_BUTTON "|" D_SENSOR_BUTTON "i|" +// D_SENSOR_SWITCH "|" D_SENSOR_SWITCH "i|" + ; + /********************************************************************************************/ // Supported hardware modules @@ -340,24 +366,17 @@ typedef struct MYCFGIO { uint8_t io[MAX_GPIO_PIN - MIN_FLASH_PINS]; } mycfgio; -#define GPIO_FLAG_USED 2 // Currently two flags used +#define GPIO_FLAG_USED 0 // Currently two flags used -#define GPIO_FLAG_ADC0 1 // Allow ADC0 when define USE_ADC_VCC is disabled -#define GPIO_FLAG_ADC0_TEMP 2 // Allow ADC0 as Temperature sensor when define USE_ADC_VCC is disabled -#define GPIO_FLAG_SPARE02 4 -#define GPIO_FLAG_SPARE03 8 -#define GPIO_FLAG_SPARE04 16 -#define GPIO_FLAG_SPARE05 32 -#define GPIO_FLAG_SPARE06 64 -#define GPIO_FLAG_SPARE07 128 +#define GPIO_FLAG_SPARE04 16 +#define GPIO_FLAG_SPARE05 32 +#define GPIO_FLAG_SPARE06 64 +#define GPIO_FLAG_SPARE07 128 typedef union { uint8_t data; struct { - uint8_t adc0 : 1; // Allow ADC0 when define USE_ADC_VCC is disabled - uint8_t adc0_temp : 1; // Allow ADC0 as Temperature sensor when define USE_ADC_VCC is disabled - uint8_t spare02 : 1; - uint8_t spare03 : 1; + uint8_t adc0 : 4; // Allow ADC0 when define USE_ADC_VCC is disabled uint8_t spare04 : 1; uint8_t spare05 : 1; uint8_t spare06 : 1; @@ -742,7 +761,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_LED1_INV, // GPIO13 Green Led (0 = On, 1 = Off) - Link and Power status GPIO_USER, // GPIO14 Optional sensor 0, 0, - GPIO_FLAG_ADC0 // ADC0 Analog input + ADC0_USER // ADC0 Analog input }, { "Sonoff TH", // Sonoff TH10/16 (ESP8266) GPIO_KEY1, // GPIO00 Button @@ -940,7 +959,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_USER, // GPIO14 Optional sensor GPIO_USER, // GPIO15 Optional sensor GPIO_LED1, // GPIO16 Green/Blue Led (1 = On, 0 = Off) - Link and Power status - GPIO_FLAG_ADC0 // ADC0 A0 Analog input + ADC0_USER // ADC0 A0 Analog input }, { "EXS Relay(s)", // ES-Store Latching relay(s) (ESP8266) // https://ex-store.de/ESP8266-WiFi-Relay-V31 @@ -1001,7 +1020,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_USER, // GPIO14 D5 GPIO_USER, // GPIO15 D8 GPIO_USER, // GPIO16 D0 Wemos Wake - GPIO_FLAG_ADC0 // ADC0 A0 Analog input + ADC0_USER // ADC0 A0 Analog input }, { "Sonoff Dev", // Sonoff Dev (ESP8266) GPIO_KEY1, // GPIO00 E-FW Button @@ -1021,7 +1040,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_USER, // GPIO14 Optional sensor 0, // GPIO15 0, // GPIO16 - GPIO_FLAG_ADC0 // ADC0 A0 Analog input + ADC0_USER // ADC0 A0 Analog input }, { "H801", // Lixada H801 Wifi (ESP8266) GPIO_USER, // GPIO00 E-FW Button @@ -1228,7 +1247,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_USER, // GPIO14 Optional sensor 0, GPIO_LED1, // GPIO16 Led (1 = On, 0 = Off) - Link and Power status - GPIO_FLAG_ADC0 // ADC0 A0 Analog input + ADC0_USER // ADC0 A0 Analog input }, { "Witty Cloud", // Witty Cloud Dev Board (ESP8266) // https://www.aliexpress.com/item/ESP8266-serial-WIFI-Witty-cloud-Development-Board-ESP-12F-module-MINI-nodemcu/32643464555.html @@ -1249,7 +1268,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_USER, // GPIO14 D5 optional sensor GPIO_PWM1, // GPIO15 D8 RGB LED Red GPIO_USER, // GPIO16 D0 optional sensor - GPIO_FLAG_ADC0 // ADC0 A0 Light sensor / Requires USE_ADC_VCC in user_config.h to be disabled + ADC0_USER // ADC0 A0 Light sensor / Requires USE_ADC_VCC in user_config.h to be disabled }, { "Yunshan Relay", // Yunshan Wifi Relay (ESP8266) // https://www.ebay.com/p/Esp8266-220v-10a-Network-Relay-WiFi-Module/1369583381 @@ -1307,7 +1326,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_USER, // GPIO14 Optional sensor / I2C SCL pad GPIO_LED1, // GPIO15 Led (1 = On, 0 = Off) - Link and Power status 0, - GPIO_FLAG_ADC0 // ADC0 A0 Analog input + ADC0_USER // ADC0 A0 Analog input }, { "KMC 70011", // KMC 70011 // https://www.amazon.com/KMC-Timing-Monitoring-Network-125V-240V/dp/B06XRX2GTQ @@ -1599,7 +1618,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_KEY1, // GPIO14 Button 0, GPIO_USER, // GPIO16 - GPIO_FLAG_ADC0 // ADC0 A0 Analog input + ADC0_USER // ADC0 A0 Analog input }, { "Teckin", // https://www.amazon.de/gp/product/B07D5V139R 0, @@ -1944,7 +1963,7 @@ const mytmplt kModules[MAXMODULE] PROGMEM = { GPIO_SM16716_DAT, // GPIO14 SM16716 Data 0, // GPIO15 wired to GND GPIO_USER, // GPIO16 N.C. - GPIO_FLAG_ADC0 // ADC0 A0 Analog input + ADC0_USER // ADC0 A0 Analog input } }; diff --git a/sonoff/sonoff_version.h b/sonoff/sonoff_version.h index f60681349..4dea3a792 100644 --- a/sonoff/sonoff_version.h +++ b/sonoff/sonoff_version.h @@ -20,6 +20,6 @@ #ifndef _SONOFF_VERSION_H_ #define _SONOFF_VERSION_H_ -const uint32_t VERSION = 0x06050009; +const uint32_t VERSION = 0x0605000A; #endif // _SONOFF_VERSION_H_ diff --git a/sonoff/support.ino b/sonoff/support.ino index 95d3326ce..173be5e7b 100644 --- a/sonoff/support.ino +++ b/sonoff/support.ino @@ -1000,6 +1000,13 @@ bool ValidGPIO(uint8_t pin, uint8_t gpio) return (GPIO_USER == ValidPin(pin, gpio)); // Only allow GPIO_USER pins } +bool ValidAdc() +{ + gpio_flag flag = ModuleFlag(); + uint8_t template_adc0 = flag.data &15; + return (ADC0_USER == template_adc0); +} + bool GetUsedInModule(uint8_t val, uint8_t *arr) { int offset = 0; diff --git a/sonoff/support_button.ino b/sonoff/support_button.ino index c0fe14bd2..aa32ced04 100644 --- a/sonoff/support_button.ino +++ b/sonoff/support_button.ino @@ -35,6 +35,7 @@ uint8_t dual_hex_code = 0; // Sonoff dual input flag uint8_t key_no_pullup = 0; // key no pullup flag (1 = no pullup) uint8_t key_inverted = 0; // Key inverted flag (1 = inverted) uint8_t buttons_found = 0; // Number of buttons found flag +uint8_t button_adc = 99; // ADC0 button number /********************************************************************************************/ @@ -56,6 +57,12 @@ void ButtonInit(void) buttons_found++; pinMode(pin[GPIO_KEY1 +i], bitRead(key_no_pullup, i) ? INPUT : ((16 == pin[GPIO_KEY1 +i]) ? INPUT_PULLDOWN_16 : INPUT_PULLUP)); } +#ifndef USE_ADC_VCC + else if ((99 == button_adc) && ((ADC0_BUTTON == my_adc0) || (ADC0_BUTTON_INV == my_adc0))) { + buttons_found++; + button_adc = i; + } +#endif // USE_ADC_VCC } } @@ -112,12 +119,22 @@ void ButtonHandler(void) } dual_button_code = 0; } - } else { - if (pin[GPIO_KEY1 +button_index] < 99) { - button_present = 1; - button = (digitalRead(pin[GPIO_KEY1 +button_index]) != bitRead(key_inverted, button_index)); + } + else if (pin[GPIO_KEY1 +button_index] < 99) { + button_present = 1; + button = (digitalRead(pin[GPIO_KEY1 +button_index]) != bitRead(key_inverted, button_index)); + } +#ifndef USE_ADC_VCC + if (button_adc == button_index) { + button_present = 1; + if (ADC0_BUTTON_INV == my_adc0) { + button = (AdcRead(1) < 128); + } + else if (ADC0_BUTTON == my_adc0) { + button = (AdcRead(1) > 128); } } +#endif // USE_ADC_VCC if (button_present) { XdrvMailbox.index = button_index; diff --git a/sonoff/xdrv_01_webserver.ino b/sonoff/xdrv_01_webserver.ino index 0e3048313..dfbce53ba 100644 --- a/sonoff/xdrv_01_webserver.ino +++ b/sonoff/xdrv_01_webserver.ino @@ -178,6 +178,7 @@ const char HTTP_SCRIPT_TEMPLATE[] PROGMEM = "eb('s1').value=k;" // Set NAME if not yet set "}" "os=o.shift();" // Complete GPIO sensor list + "as=o.shift();" // Complete ADC0 list "g=o.shift().split(',');" // Array separator "j=0;" "for(i=0;i<13;i++){" // Supports 13 GPIOs @@ -186,7 +187,10 @@ const char HTTP_SCRIPT_TEMPLATE[] PROGMEM = "sk(g[i],j);" // Set GPIO "j++;" "}" - "g=o.shift();" + "g=o.shift();" // FLAG + "os=as;" + "sk(g&15,17);" // Set ADC0 + "g>>=4;" "for(i=0;i<" STR(GPIO_FLAG_USED) ";i++){" "p=(g>>i)&1;" "eb('c'+i).checked=p;" // Set FLAG checkboxes @@ -210,17 +214,24 @@ const char HTTP_SCRIPT_TEMPLATE[] PROGMEM = "window.onload=ld('tp?m=1',x2);"; // ?m related to WebServer->hasArg("m") const char HTTP_SCRIPT_MODULE1[] PROGMEM = - "function x1(a){" + "function x1(a){" // Module Type "os=a.responseText;" "sk(%d,99);" "}" - "function x2(b){" + "function x2(b){" // GPIOs "os=b.responseText;"; const char HTTP_SCRIPT_MODULE2[] PROGMEM = "}" + "function x3(a){" // ADC0 + "os=a.responseText;" + "sk(%d,17);" + "}" "function sl(){" - "ld('md?m=1',x1);" // ?m related to WebServer->hasArg("m") - "ld('md?g=1',x2);" // ?m related to WebServer->hasArg("m") + "ld('md?m=1',x1);" // ?m related to WebServer->hasArg("m") + "ld('md?g=1',x2);" // ?g related to WebServer->hasArg("g") + "if(eb('g17')){" + "ld('md?a=1',x3);" // ?a related to WebServer->hasArg("a") + "}" "}" "window.onload=sl;"; @@ -228,7 +239,7 @@ const char HTTP_SCRIPT_INFO_BEGIN[] PROGMEM = "function i(){" "var s,o=\""; const char HTTP_SCRIPT_INFO_END[] PROGMEM = - "\";" // "}1" and "}2" means do not use "}x" in Information text + "\";" // "}1" and "}2" means do not use "}x" in Information text "s=o.replace(/}1/g,\"