Add additional defines

Add defines UPGRADE_V8_MIN_KEEP_WIFI and UPGRADE_V8_MIN_KEEP_MQTT to keep wifi and/ot mqtt settings when define UPGRADE_V8_MIN is enabled (#10027)
This commit is contained in:
Theo Arends 2020-12-02 11:59:01 +01:00
parent 6bbb5492f6
commit 1dec999144

View File

@ -1203,7 +1203,57 @@ void SettingsDelta(void)
}
#else // UPGRADE_V8_MIN
if (Settings.version < 0x08000000) {
#ifdef UPGRADE_V8_MIN_KEEP_WIFI
// Save SSIDs and Passwords
char temp31[strlen(Settings.ex_sta_ssid[0]) +1];
strncpy(temp31, Settings.ex_sta_ssid[0], sizeof(temp31));
char temp32[strlen(Settings.ex_sta_ssid[1]) +1];
strncpy(temp32, Settings.ex_sta_ssid[1], sizeof(temp32));
char temp41[strlen(Settings.ex_sta_pwd[0]) +1];
strncpy(temp41, Settings.ex_sta_pwd[0], sizeof(temp41));
char temp42[strlen(Settings.ex_sta_pwd[1]) +1];
strncpy(temp42, Settings.ex_sta_pwd[1], sizeof(temp42));
#endif // UPGRADE_V8_MIN_KEEP_WIFI
#ifdef UPGRADE_V8_MIN_KEEP_MQTT
char temp7[strlen(Settings.ex_mqtt_host) +1];
strncpy(temp7, Settings.ex_mqtt_host, sizeof(temp7));
char temp9[strlen(Settings.ex_mqtt_user) +1];
strncpy(temp9, Settings.ex_mqtt_user, sizeof(temp9));
char temp10[strlen(Settings.ex_mqtt_pwd) +1];
strncpy(temp10, Settings.ex_mqtt_pwd, sizeof(temp10));
char temp11[strlen(Settings.ex_mqtt_topic) +1];
strncpy(temp11, Settings.ex_mqtt_topic, sizeof(temp11));
#endif // UPGRADE_V8_MIN_KEEP_MQTT
SettingsDefault();
#ifdef UPGRADE_V8_MIN_KEEP_WIFI
// Restore current SSIDs and Passwords
SettingsUpdateText(SET_STASSID1, temp31);
SettingsUpdateText(SET_STASSID2, temp32);
SettingsUpdateText(SET_STAPWD1, temp41);
SettingsUpdateText(SET_STAPWD2, temp42);
#endif // UPGRADE_V8_MIN_KEEP_WIFI
#ifdef UPGRADE_V8_MIN_KEEP_MQTT
#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT)
if (!strlen(Settings.ex_mqtt_user)) {
SettingsUpdateText(SET_MQTT_HOST, temp7);
SettingsUpdateText(SET_MQTT_USER, temp9);
} else {
char aws_mqtt_host[66];
snprintf_P(aws_mqtt_host, sizeof(aws_mqtt_host), PSTR("%s%s"), temp9, temp7);
SettingsUpdateText(SET_MQTT_HOST, aws_mqtt_host);
SettingsUpdateText(SET_MQTT_USER, "");
}
#else // No USE_MQTT_TLS and USE_MQTT_AWS_IOT
SettingsUpdateText(SET_MQTT_HOST, temp7);
SettingsUpdateText(SET_MQTT_USER, temp9);
#endif // USE_MQTT_TLS and USE_MQTT_AWS_IOT
SettingsUpdateText(SET_MQTT_PWD, temp10);
SettingsUpdateText(SET_MQTT_TOPIC, temp11);
#endif // UPGRADE_V8_MIN_KEEP_MQTT
}
#endif // UPGRADE_V8_MIN
if (Settings.version < 0x08020003) {