diff --git a/tasmota/i18n.h b/tasmota/i18n.h index a2e9e16b0..98e20d9ac 100644 --- a/tasmota/i18n.h +++ b/tasmota/i18n.h @@ -295,6 +295,9 @@ #define D_CMND_LEDPOWER "LedPower" #define D_CMND_LEDSTATE "LedState" #define D_CMND_LEDMASK "LedMask" +#define D_CMND_LEDPWMOFF "LedPwmOff" +#define D_CMND_LEDPWMON "LedPwmOn" +#define D_CMND_LEDPWMMODE "LedPwmMode" #define D_CMND_WIFIPOWER "WifiPower" #define D_CMND_SPEEDUNIT "SpeedUnit" #define D_CMND_I2CSCAN "I2CScan" @@ -587,11 +590,6 @@ // Commands xsns_02_analog.ino #define D_CMND_ADCPARAM "AdcParam" -// Commands led pwm settings -#define D_CMND_SETLEDPWMOFF "LedPwmOff" -#define D_CMND_SETLEDPWMON "LedPwmOn" -#define D_CMND_SETLEDPWMMODE "LedPwmMode" - // xsns_70_veml6075.ino #define D_JSON_UVA_INTENSITY "UvaIntensity" #define D_JSON_UVB_INTENSITY "UvbItensity" diff --git a/tasmota/settings.h b/tasmota/settings.h index e8bae5182..6ff0c4213 100644 --- a/tasmota/settings.h +++ b/tasmota/settings.h @@ -515,9 +515,7 @@ struct { uint8_t ot_hot_water_setpoint; // E8C uint8_t ot_boiler_setpoint; // E8D uint8_t ot_flags; // E8E - - uint8_t free_e8f[1]; // E8F - + uint8_t ledpwm_mask; // F8F uint16_t dimmer_hw_min; // E90 uint16_t dimmer_hw_max; // E92 uint32_t deepsleep; // E94 @@ -569,11 +567,10 @@ struct { uint16_t windmeter_pulse_debounce; // F3A int16_t windmeter_speed_factor; // F3C uint8_t windmeter_tele_pchange; // F3E - uint8_t ledpwm_mask; // F3F - uint8_t ledpwm_on; // F40 - uint8_t ledpwm_off; // F41 - - uint8_t free_f42[118]; // F42 - Decrement if adding new Setting variables just above and below + uint8_t ledpwm_on; // F3F + uint8_t ledpwm_off; // F40 + + uint8_t free_f42[119]; // F41 - Decrement if adding new Setting variables just above and below // Only 32 bit boundary variables below uint16_t pulse_counter_debounce_low; // FB8 diff --git a/tasmota/settings.ino b/tasmota/settings.ino index 8d771a109..549799447 100644 --- a/tasmota/settings.ino +++ b/tasmota/settings.ino @@ -765,6 +765,9 @@ void SettingsDefaultSet2(void) Settings.blinkcount = APP_BLINKCOUNT; Settings.ledstate = APP_LEDSTATE; Settings.ledmask = APP_LEDMASK; +// Settings.ledpwm_off = 0; + Settings.ledpwm_on = 255; +// Settings.ledpwm_mask = 0; Settings.pulse_timer[0] = APP_PULSETIME; // for (uint32_t i = 1; i < MAX_PULSETIMERS; i++) { Settings.pulse_timer[i] = 0; } @@ -1055,11 +1058,6 @@ void SettingsDefaultSet2(void) Settings.flag2 = flag2; Settings.flag3 = flag3; Settings.flag4 = flag4; - - // Led PWM - Settings.ledpwm_off = 0; - Settings.ledpwm_on = 255; - Settings.ledpwm_mask = 0; } /********************************************************************************************/ @@ -1405,7 +1403,6 @@ void SettingsDelta(void) Settings.config_version = 1; // ESP32 #endif // ESP32 } - if (Settings.version < 0x08020006) { #ifdef ESP32 Settings.module = WEMOS; @@ -1416,18 +1413,13 @@ void SettingsDelta(void) if (Settings.rules[1][0] == 0) { Settings.rules[1][1] = 0; } if (Settings.rules[2][0] == 0) { Settings.rules[2][1] = 0; } } - - // ledpwm - if (Settings.version < 0x08030001) { + if (Settings.version < 0x08030002) { + SettingsUpdateText(SET_DEVICENAME, SettingsText(SET_FRIENDLYNAME1)); Settings.ledpwm_off = 0; Settings.ledpwm_on = 255; Settings.ledpwm_mask = 0; } - if (Settings.version < 0x08030002) { - SettingsUpdateText(SET_DEVICENAME, SettingsText(SET_FRIENDLYNAME1)); - } - Settings.version = VERSION; SettingsSave(1); } diff --git a/tasmota/support_command.ino b/tasmota/support_command.ino index f52fb7ea5..2ee5c17c4 100644 --- a/tasmota/support_command.ino +++ b/tasmota/support_command.ino @@ -27,7 +27,7 @@ const char kTasmotaCommands[] PROGMEM = "|" // No prefix D_CMND_SERIALDELIMITER "|" D_CMND_IPADDRESS "|" D_CMND_NTPSERVER "|" D_CMND_AP "|" D_CMND_SSID "|" D_CMND_PASSWORD "|" D_CMND_HOSTNAME "|" D_CMND_WIFICONFIG "|" D_CMND_DEVICENAME "|" D_CMND_FRIENDLYNAME "|" D_CMND_SWITCHMODE "|" D_CMND_INTERLOCK "|" D_CMND_TELEPERIOD "|" D_CMND_RESET "|" D_CMND_TIME "|" D_CMND_TIMEZONE "|" D_CMND_TIMESTD "|" D_CMND_TIMEDST "|" D_CMND_ALTITUDE "|" D_CMND_LEDPOWER "|" D_CMND_LEDSTATE "|" D_CMND_LEDMASK "|" D_CMND_WIFIPOWER "|" D_CMND_TEMPOFFSET "|" D_CMND_HUMOFFSET "|" - D_CMND_SPEEDUNIT "|" D_CMND_GLOBAL_TEMP "|" D_CMND_GLOBAL_HUM "|" D_CMND_SETLEDPWMON "|" D_CMND_SETLEDPWMOFF "|" D_CMND_SETLEDPWMMODE "|" + D_CMND_SPEEDUNIT "|" D_CMND_GLOBAL_TEMP "|" D_CMND_GLOBAL_HUM "|" D_CMND_LEDPWMON "|" D_CMND_LEDPWMOFF "|" D_CMND_LEDPWMMODE "|" #ifdef USE_I2C D_CMND_I2CSCAN "|" D_CMND_I2CDRIVER "|" #endif @@ -50,7 +50,7 @@ void (* const TasmotaCommand[])(void) PROGMEM = { &CmndSerialDelimiter, &CmndIpAddress, &CmndNtpServer, &CmndAp, &CmndSsid, &CmndPassword, &CmndHostname, &CmndWifiConfig, &CmndDevicename, &CmndFriendlyname, &CmndSwitchMode, &CmndInterlock, &CmndTeleperiod, &CmndReset, &CmndTime, &CmndTimezone, &CmndTimeStd, &CmndTimeDst, &CmndAltitude, &CmndLedPower, &CmndLedState, &CmndLedMask, &CmndWifiPower, &CmndTempOffset, &CmndHumOffset, - &CmndSpeedUnit, &CmndGlobalTemp, &CmndGlobalHum, &CmndSetLedPwmOn, &CmndSetLedPwmOff, &CmndSetLedPwmMode, + &CmndSpeedUnit, &CmndGlobalTemp, &CmndGlobalHum, &CmndLedPwmOn, &CmndLedPwmOff, &CmndLedPwmMode, #ifdef USE_I2C &CmndI2cScan, CmndI2cDriver, #endif @@ -1891,37 +1891,39 @@ void CmndDriver(void) XdrvCall(FUNC_COMMAND_DRIVER); } -void CmndSetLedPwmOff(void) +void CmndLedPwmOff(void) { if (XdrvMailbox.data_len > 0) { - if (XdrvMailbox.payload < 0) { - Settings.ledpwm_off = 0; - } else if (XdrvMailbox.payload > 255) { - Settings.ledpwm_off = 255; + if (XdrvMailbox.payload < 0) { + Settings.ledpwm_off = 0; + } + else if (XdrvMailbox.payload > 255) { + Settings.ledpwm_off = 255; } else { Settings.ledpwm_off = XdrvMailbox.payload; } - UpdateLedPowerAll(); + UpdateLedPowerAll(); } ResponseCmndNumber(Settings.ledpwm_off); } -void CmndSetLedPwmOn(void) +void CmndLedPwmOn(void) { if (XdrvMailbox.data_len > 0) { if (XdrvMailbox.payload < 0) { - Settings.ledpwm_on = 0; - } else if (XdrvMailbox.payload > 255) { - Settings.ledpwm_on = 255; - } else { - Settings.ledpwm_on = XdrvMailbox.payload; + Settings.ledpwm_on = 0; } - UpdateLedPowerAll(); + else if (XdrvMailbox.payload > 255) { + Settings.ledpwm_on = 255; + } else { + Settings.ledpwm_on = XdrvMailbox.payload; + } + UpdateLedPowerAll(); } ResponseCmndNumber(Settings.ledpwm_on); } -void CmndSetLedPwmMode(void) +void CmndLedPwmMode(void) { if ((XdrvMailbox.index > 0) && (XdrvMailbox.index <= MAX_LEDS)) { if (!PinUsed(GPIO_LEDLNK)) { XdrvMailbox.index = 1; }