+
+
+
+
+
diff --git a/data_embed/script.js b/data_embed/script.js
index e0c26fa..dab331f 100644
--- a/data_embed/script.js
+++ b/data_embed/script.js
@@ -237,8 +237,10 @@ function loadSettings(settings) {
RebootModeTime.disabled = !RebootModeCheckbox.check;
// WiFi Auto AP
+ document.getElementById("wifi.autoAP.enabled").checked = settings.wifi.autoAP.enabled;
document.getElementById("wifi.autoAP.password").value = settings.wifi.autoAP.password;
document.getElementById("wifi.autoAP.timeout").value = settings.wifi.autoAP.timeout;
+ toggleWiFiAutoAPFields();
// OTA
document.getElementById("ota.username").value = settings.ota.username;
@@ -432,6 +434,18 @@ WebadminCheckbox.addEventListener("change", function () {
WebadminPassword.disabled = !this.checked;
});
+// WiFi Auto AP Switches
+const WiFiAutoAPCheckbox = document.querySelector('input[name="wifi.autoAP.enabled"]');
+WiFiAutoAPCheckbox.addEventListener("change", function () {
+ toggleWiFiAutoAPFields();
+});
+
+function toggleWiFiAutoAPFields() {
+ const isEnabled = WiFiAutoAPCheckbox.checked;
+ const autoAPConfig = document.getElementById('wifi-autoap-config');
+ if (autoAPConfig) autoAPConfig.style.display = isEnabled ? 'block' : 'none';
+}
+
document.querySelector(".new button").addEventListener("click", function () {
const networksContainer = document.querySelector(".list-networks");
diff --git a/include/configuration.h b/include/configuration.h
index abf5cc7..38080c3 100644
--- a/include/configuration.h
+++ b/include/configuration.h
@@ -32,6 +32,7 @@ public:
class WiFi_Auto_AP {
public:
+ bool enabled; // Enable Auto AP
String password;
int timeout;
};
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 4ffb2a6..e50eef6 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -47,6 +47,7 @@ bool Configuration::writeFile() {
data["other"]["startupDelay"] = startupDelay;
+ data["wifi"]["autoAP"]["enabled"] = wifiAutoAP.enabled;
data["wifi"]["autoAP"]["password"] = wifiAutoAP.password;
data["wifi"]["autoAP"]["timeout"] = wifiAutoAP.timeout;
@@ -214,8 +215,10 @@ bool Configuration::readFile() {
if (!data["other"].containsKey("startupDelay")) needsRewrite = true;
startupDelay = data["other"]["startupDelay"] | 0;
- if (!data["wifi"]["autoAP"].containsKey("password") ||
+ if (!data["wifi"]["autoAP"].containsKey("enabled") ||
+ !data["wifi"]["autoAP"].containsKey("password") ||
!data["wifi"]["autoAP"].containsKey("timeout")) needsRewrite = true;
+ wifiAutoAP.enabled = data["wifi"]["autoAP"]["enabled"] | true;
wifiAutoAP.password = data["wifi"]["autoAP"]["password"] | "1234567890";
wifiAutoAP.timeout = data["wifi"]["autoAP"]["timeout"] | 10;
@@ -446,6 +449,7 @@ void Configuration::setDefaultValues() {
startupDelay = 0;
+ wifiAutoAP.enabled = true;
wifiAutoAP.password = "1234567890";
wifiAutoAP.timeout = 10;
diff --git a/src/web_utils.cpp b/src/web_utils.cpp
index 6197b37..8eebfc2 100644
--- a/src/web_utils.cpp
+++ b/src/web_utils.cpp
@@ -161,7 +161,7 @@ namespace WEB_Utils {
Config.callsign = getParamStringSafe("callsign", Config.callsign);
Config.tacticalCallsign = getParamStringSafe("tacticalCallsign", Config.tacticalCallsign);
-
+ Config.wifiAutoAP.enabled = request->hasParam("wifi.autoAP.enabled", true);
Config.wifiAutoAP.password = getParamStringSafe("wifi.autoAP.password", Config.wifiAutoAP.password);
Config.wifiAutoAP.timeout = getParamIntSafe("wifi.autoAP.timeout", Config.wifiAutoAP.timeout);