diff --git a/lib/wifi/GWWifi.h b/lib/wifi/GWWifi.h index 4ae3969..9063a4e 100644 --- a/lib/wifi/GWWifi.h +++ b/lib/wifi/GWWifi.h @@ -17,6 +17,7 @@ class GwWifi{ bool fixedApPass=true; bool clientIsConnected=false; public: + const char *AP_password = "esp32nmea2k"; GwWifi(const GwConfigHandler *config,GwLog *log, bool fixedApPass=true); void setup(); void loop(); diff --git a/lib/wifi/GwWifi.cpp b/lib/wifi/GwWifi.cpp index bad7a0c..2f6f556 100644 --- a/lib/wifi/GwWifi.cpp +++ b/lib/wifi/GwWifi.cpp @@ -1,6 +1,5 @@ #include "GWWifi.h" -const char *AP_password = "esp32nmea2k"; GwWifi::GwWifi(const GwConfigHandler *config,GwLog *log, bool fixedApPass){ this->config=config; diff --git a/src/main.cpp b/src/main.cpp index b50889b..03818d4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -103,8 +103,12 @@ GwConfigHandler config(&logger); #ifdef GWBUTTON_PIN bool fixedApPass=false; #else +#ifdef FORCE_AP_PWCHANGE +bool fixedApPass=false; +#else bool fixedApPass=true; #endif +#endif GwWifi gwWifi(&config,&logger,fixedApPass); GwChannelList channels(&logger,&config); GwBoatData boatData(&logger); @@ -420,6 +424,7 @@ class CapabilitiesRequest : public GwRequestMessage{ #ifdef GWBUTTON_PIN json["hardwareReset"]="true"; #endif + json["apPwChange"] = fixedApPass?"false":"true"; serializeJson(json,result); } }; @@ -473,6 +478,7 @@ protected: for (StringMap::iterator it = args.begin(); it != args.end(); it++) { if (it->first.indexOf("_")>= 0) continue; + if (it->first == GwConfigDefinitions::apPassword && fixedApPass) continue; bool rt = config.updateValue(it->first, it->second); if (!rt) { @@ -741,7 +747,7 @@ void setup() { GWSYNCHRONIZED(&mainLock); userCodeHandler.startUserTasks(MIN_USER_TASK); } - logger.logString("wifi AP pass: %s",config.getString(config.apPassword).c_str()); + logger.logString("wifi AP pass: %s",fixedApPass? gwWifi.AP_password:config.getString(config.apPassword).c_str()); logger.logString("admin pass: %s",config.getString(config.adminPassword).c_str()); logger.logDebug(GwLog::LOG,"setup done"); } diff --git a/web/config.json b/web/config.json index c2e5df5..5d7fc5d 100644 --- a/web/config.json +++ b/web/config.json @@ -116,7 +116,8 @@ "default": "esp32nmea2k", "check": "checkApPass", "description": "set the password for the Wifi access point", - "category": "system" + "category": "system", + "condition":{"apPwChange":"true"} }, { "name": "useAdminPass",