mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-29 05:36:39 +00:00
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)
This commit is contained in:
parent
f9f3e29eab
commit
ad54ece2fb
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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 "Конфигурацията е запазена"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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 "Οι ρυθμίσεις αποθηκεύτηκαν"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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 "הגדרות נשמרו"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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 "설정 저장 완료"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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 "Конфигурация сохранена "
|
||||
|
@ -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é"
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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 "Конфігурація збережена "
|
||||
|
@ -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 "设置已保存"
|
||||
|
@ -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 "設置已保存"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -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_
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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,\"</td></tr><tr><th>\").replace(/}2/g,\"</th><td>\");"
|
||||
"eb('i').innerHTML=s;"
|
||||
"}"
|
||||
@ -298,8 +309,7 @@ const char HTTP_FORM_TEMPLATE[] PROGMEM =
|
||||
const char HTTP_FORM_TEMPLATE_FLAG[] PROGMEM =
|
||||
"<p></p>" // Keep close so do not use <br/>
|
||||
"<fieldset><legend><b> " D_TEMPLATE_FLAGS " </b></legend><p>"
|
||||
"<input id='c0' name='c0' type='checkbox'><b>" D_ALLOW_ADC0 "</b><br/>"
|
||||
"<input id='c1' name='c1' type='checkbox'><b>" D_ALLOW_ADC0_TEMP "</b><br/>"
|
||||
// "<input id='c0' name='c0' type='checkbox'><b>" D_OPTION_TEXT "</b><br/>"
|
||||
"</p></fieldset>";
|
||||
|
||||
const char HTTP_FORM_MODULE[] PROGMEM =
|
||||
@ -1070,16 +1080,22 @@ void HandleTemplateConfiguration(void)
|
||||
WSContentBegin(200, CT_PLAIN);
|
||||
WSContentSend_P(PSTR("%s}1"), AnyModuleName(module).c_str()); // NAME: Generic
|
||||
for (uint8_t i = 0; i < sizeof(kGpioNiceList); i++) { // GPIO: }2'0'>None (0)}3}2'17'>Button1 (17)}3...
|
||||
|
||||
if (1 == i) {
|
||||
WSContentSend_P(HTTP_MODULE_TEMPLATE_REPLACE, 255, D_SENSOR_USER, 255); // }2'255'>User (255)}3
|
||||
}
|
||||
|
||||
uint8_t midx = pgm_read_byte(kGpioNiceList + i);
|
||||
WSContentSend_P(HTTP_MODULE_TEMPLATE_REPLACE, midx, GetTextIndexed(stemp, sizeof(stemp), midx, kSensorNames), midx);
|
||||
}
|
||||
|
||||
WSContentSend_P(PSTR("}1")); // Field separator
|
||||
|
||||
for (uint8_t i = 0; i < ADC0_END; i++) { // FLAG: }2'0'>None (0)}3}2'17'>Analog (17)}3...
|
||||
if (1 == i) {
|
||||
WSContentSend_P(HTTP_MODULE_TEMPLATE_REPLACE, ADC0_USER, D_SENSOR_USER, ADC0_USER); // }2'15'>User (15)}3
|
||||
}
|
||||
WSContentSend_P(HTTP_MODULE_TEMPLATE_REPLACE, i, GetTextIndexed(stemp, sizeof(stemp), i, kAdc0Names), i);
|
||||
}
|
||||
WSContentSend_P(PSTR("}1")); // Field separator
|
||||
|
||||
for (uint8_t i = 0; i < sizeof(cmodule); i++) { // 17,148,29,149,7,255,255,255,138,255,139,255,255
|
||||
if ((i < 6) || ((i > 8) && (i != 11))) { // Ignore flash pins GPIO06, 7, 8 and 11
|
||||
WSContentSend_P(PSTR("%s%d"), (i>0)?",":"", cmodule.io[i]);
|
||||
@ -1109,8 +1125,12 @@ void HandleTemplateConfiguration(void)
|
||||
((9==i)||(10==i)) ? WebColor(COL_TEXT_WARNING) : WebColor(COL_TEXT), i, (0==i) ? " style='width:200px'" : "", i, i);
|
||||
}
|
||||
}
|
||||
WSContentSend_P(PSTR("<tr><td><b><font color='#%06x'>" D_ADC "0</font></b></td><td><select id='g17' name='g17'></select></td></tr>"), WebColor(COL_TEXT));
|
||||
WSContentSend_P(PSTR("</table>"));
|
||||
WSContentSend_P(HTTP_FORM_TEMPLATE_FLAG);
|
||||
gpio_flag flag = ModuleFlag();
|
||||
if (flag.data > ADC0_USER) {
|
||||
WSContentSend_P(HTTP_FORM_TEMPLATE_FLAG);
|
||||
}
|
||||
WSContentSend_P(HTTP_FORM_END);
|
||||
WSContentSpaceButton(BUTTON_CONFIGURATION);
|
||||
WSContentStop();
|
||||
@ -1136,10 +1156,11 @@ void TemplateSaveSettings(void)
|
||||
j++;
|
||||
}
|
||||
|
||||
uint8_t flag = 0;
|
||||
WebGetArg("g17", tmp, sizeof(tmp)); // FLAG - ADC0
|
||||
uint8_t flag = atoi(tmp);
|
||||
for (uint8_t i = 0; i < GPIO_FLAG_USED; i++) {
|
||||
snprintf_P(webindex, sizeof(webindex), PSTR("c%d"), i);
|
||||
uint8_t state = WebServer->hasArg(webindex) << i; // FLAG
|
||||
uint8_t state = WebServer->hasArg(webindex) << i +4; // FLAG
|
||||
flag += state;
|
||||
}
|
||||
WebGetArg("g99", tmp, sizeof(tmp)); // BASE
|
||||
@ -1195,6 +1216,17 @@ void HandleModuleConfiguration(void)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifndef USE_ADC_VCC
|
||||
if (WebServer->hasArg("a")) {
|
||||
WSContentBegin(200, CT_PLAIN);
|
||||
for (uint8_t j = 0; j < ADC0_END; j++) {
|
||||
WSContentSend_P(HTTP_MODULE_TEMPLATE_REPLACE, j, GetTextIndexed(stemp, sizeof(stemp), j, kAdc0Names), j);
|
||||
}
|
||||
WSContentEnd();
|
||||
return;
|
||||
}
|
||||
#endif // USE_ADC_VCC
|
||||
|
||||
AddLog_P(LOG_LEVEL_DEBUG, S_LOG_HTTP, S_CONFIGURE_MODULE);
|
||||
|
||||
WSContentStart_P(S_CONFIGURE_MODULE);
|
||||
@ -1205,7 +1237,7 @@ void HandleModuleConfiguration(void)
|
||||
WSContentSend_P(PSTR("sk(%d,%d);"), my_module.io[i], i); // g0 - g16
|
||||
}
|
||||
}
|
||||
WSContentSend_P(HTTP_SCRIPT_MODULE2);
|
||||
WSContentSend_P(HTTP_SCRIPT_MODULE2, Settings.my_adc0);
|
||||
WSContentSendStyle();
|
||||
WSContentSend_P(HTTP_FORM_MODULE, AnyModuleName(MODULE).c_str());
|
||||
for (uint8_t i = 0; i < sizeof(cmodule); i++) {
|
||||
@ -1217,6 +1249,11 @@ void HandleModuleConfiguration(void)
|
||||
(WEMOS==my_module_type)?stemp:"", i, (0==i)? D_SENSOR_BUTTON "1":(1==i)? D_SERIAL_OUT :(3==i)? D_SERIAL_IN :((9==i)||(10==i))? sesp8285 :(12==i)? D_SENSOR_RELAY "1":(13==i)? D_SENSOR_LED "1i":(14==i)? D_SENSOR :"", i, i);
|
||||
}
|
||||
}
|
||||
#ifndef USE_ADC_VCC
|
||||
if (ValidAdc()) {
|
||||
WSContentSend_P(PSTR("<tr><td>%s <b>" D_ADC "0</b></td><td style='width:176px'><select id='g17' name='g17'></select></td></tr>"), (WEMOS==my_module_type)?"A0":"");
|
||||
}
|
||||
#endif // USE_ADC_VCC
|
||||
WSContentSend_P(PSTR("</table>"));
|
||||
WSContentSend_P(HTTP_FORM_END);
|
||||
WSContentSpaceButton(BUTTON_CONFIGURATION);
|
||||
@ -1248,6 +1285,12 @@ void ModuleSaveSettings(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
#ifndef USE_ADC_VCC
|
||||
WebGetArg("g17", tmp, sizeof(tmp));
|
||||
Settings.my_adc0 = (!strlen(tmp)) ? 0 : atoi(tmp);
|
||||
gpios += F(", " D_ADC "0 "); gpios += String(Settings.my_adc0);
|
||||
#endif // USE_ADC_VCC
|
||||
|
||||
AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_MODULE "%s " D_CMND_MODULE "%s"), ModuleName().c_str(), gpios.c_str());
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,7 @@ uint16_t AdcRead(uint8_t factor)
|
||||
#ifdef USE_RULES
|
||||
void AdcEvery250ms(void)
|
||||
{
|
||||
if (my_module_flag.adc0) {
|
||||
if (ADC0_INPUT == my_adc0) {
|
||||
uint16_t new_value = AdcRead(5);
|
||||
if ((new_value < adc_last_value -10) || (new_value > adc_last_value +10)) {
|
||||
adc_last_value = new_value;
|
||||
@ -72,7 +72,7 @@ void AdcEvery250ms(void)
|
||||
|
||||
void AdcEverySecond(void)
|
||||
{
|
||||
if (my_module_flag.adc0_temp) {
|
||||
if (ADC0_TEMP == my_adc0) {
|
||||
int adc = AdcRead(2);
|
||||
// Steinhart-Hart equation for thermistor as temperature sensor
|
||||
double Rt = (adc * ANALOG_R21) / (1024.0 * ANALOG_V33 - (double)adc);
|
||||
@ -88,7 +88,7 @@ float AdcTemperature(void)
|
||||
|
||||
void AdcShow(bool json)
|
||||
{
|
||||
if (my_module_flag.adc0) {
|
||||
if (ADC0_INPUT == my_adc0) {
|
||||
uint16_t analog = AdcRead(5);
|
||||
|
||||
if (json) {
|
||||
@ -99,7 +99,7 @@ void AdcShow(bool json)
|
||||
#endif // USE_WEBSERVER
|
||||
}
|
||||
}
|
||||
if (my_module_flag.adc0_temp) {
|
||||
if (ADC0_TEMP == my_adc0) {
|
||||
char temperature[33];
|
||||
dtostrfd(adc_temp, Settings.flag2.temperature_resolution, temperature);
|
||||
|
||||
@ -131,7 +131,7 @@ bool Xsns02(uint8_t function)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
if (my_module_flag.adc0 || my_module_flag.adc0_temp) {
|
||||
if ((ADC0_INPUT == my_adc0) || (ADC0_TEMP == my_adc0)) {
|
||||
switch (function) {
|
||||
#ifdef USE_RULES
|
||||
case FUNC_EVERY_250_MSECOND:
|
||||
|
Loading…
x
Reference in New Issue
Block a user