diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index 950a064..a523662 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -8,13 +8,12 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen if (data.containsKey("callsign")) conf.callsign = data["callsign"].as(); - if (data.containsKey("eth") && data["eth"].containsKey("DHCP")) { - conf.eth.DHCP = data["eth"]["DHCP"]; - conf.eth.staticIP.fromString(data["eth"]["staticIP"].as()); - conf.eth.subnet.fromString(data["eth"]["subnet"].as()); - conf.eth.gateway.fromString(data["eth"]["gateway"].as()); - conf.eth.dns1.fromString(data["eth"]["dns1"].as()); - conf.eth.dns2.fromString(data["eth"]["dns2"].as()); + if (data.containsKey("network") && data["network"].containsKey("DHCP")) { + conf.network.DHCP = data["network"]["DHCP"]; + conf.network.staticIP.fromString(data["network"]["staticIP"].as()); + conf.network.subnet.fromString(data["network"]["subnet"].as()); + conf.network.gateway.fromString(data["network"]["gateway"].as()); + conf.network.dns.fromString(data["network"]["dns"].as()); } JsonArray aps = data["wifi"]["AP"].as(); @@ -22,17 +21,8 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen Configuration::Wifi::AP ap; ap.SSID = v["SSID"].as(); ap.password = v["password"].as(); - if (v.containsKey("DHCP")) { - ap.DHCP = v["DHCP"]; - ap.staticIP.fromString(v["staticIP"].as()); - ap.subnet.fromString(v["subnet"].as()); - ap.gateway.fromString(v["Gateway"].as()); - ap.dns1.fromString(v["dns1"].as()); - ap.dns2.fromString(v["dns2"].as()); - } conf.wifi.APs.push_back(ap); } - if (data.containsKey("beacon") && data["beacon"].containsKey("message")) conf.beacon.message = data["beacon"]["message"].as(); conf.beacon.positionLatitude = data["beacon"]["position"]["latitude"] | 0.0; @@ -82,13 +72,12 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &conf, DynamicJsonDocument &data) { data["callsign"] = conf.callsign; - if (conf.eth.DHCP == false) { - data["eth"]["DHCP"] = conf.eth.DHCP; - data["eth"]["staticIP"] = conf.eth.staticIP.toString(); - data["eth"]["subnet"] = conf.eth.subnet.toString(); - data["eth"]["gateway"] = conf.eth.gateway.toString(); - data["eth"]["dns1"] = conf.eth.dns1.toString(); - data["eth"]["dns2"] = conf.eth.dns2.toString(); + if (conf.network.DHCP == false) { + data["network"]["DHCP"] = conf.network.DHCP; + data["network"]["staticIP"] = conf.network.staticIP.toString(); + data["network"]["subnet"] = conf.network.subnet.toString(); + data["network"]["gateway"] = conf.network.gateway.toString(); + data["network"]["dns"] = conf.network.dns.toString(); } JsonArray aps = data["wifi"].createNestedArray("AP"); @@ -96,16 +85,7 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co JsonObject v = aps.createNestedObject(); v["SSID"] = ap.SSID; v["password"] = ap.password; - if (ap.DHCP == false) { - v["DHCP"] = ap.DHCP; - v["staticIP"] = ap.staticIP.toString(); - v["subnet"] = ap.subnet.toString(); - v["gateway"] = ap.gateway.toString(); - v["dns1"] = ap.dns1.toString(); - v["dns2"] = ap.dns2.toString(); - } } - data["beacon"]["message"] = conf.beacon.message; data["beacon"]["position"]["latitude"] = conf.beacon.positionLatitude; data["beacon"]["position"]["longitude"] = conf.beacon.positionLongitude; diff --git a/src/project_configuration.h b/src/project_configuration.h index 8eafd2f..32db01d 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -6,34 +6,24 @@ class Configuration { public: - class ETH { + class NETWORK { public: - ETH() : DHCP(true) { + NETWORK() : DHCP(true) { } bool DHCP; IPAddress staticIP; IPAddress subnet; IPAddress gateway; - IPAddress dns1; - IPAddress dns2; + IPAddress dns; }; class Wifi { public: class AP { public: - AP() : DHCP(true) { - } - - String SSID; - String password; - bool DHCP; - IPAddress staticIP; - IPAddress subnet; - IPAddress gateway; - IPAddress dns1; - IPAddress dns2; + String SSID; + String password; }; Wifi() { @@ -115,7 +105,7 @@ public: Configuration() : callsign("NOCALL-10"), board(""), ntpServer("pool.ntp.org"){}; String callsign; - ETH eth; + NETWORK network; Wifi wifi; Beacon beacon; APRS_IS aprs_is;