Skip to content

Commit d69e014

Browse files
committed
rethink implementation overall
1 parent 53a3f05 commit d69e014

File tree

2 files changed

+18
-48
lines changed

2 files changed

+18
-48
lines changed

src/project_configuration.cpp

+12-32
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,21 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
88
if (data.containsKey("callsign"))
99
conf.callsign = data["callsign"].as<String>();
1010

11-
if (data.containsKey("eth") && data["eth"].containsKey("DHCP")) {
12-
conf.eth.DHCP = data["eth"]["DHCP"];
13-
conf.eth.staticIP.fromString(data["eth"]["staticIP"].as<String>());
14-
conf.eth.subnet.fromString(data["eth"]["subnet"].as<String>());
15-
conf.eth.gateway.fromString(data["eth"]["gateway"].as<String>());
16-
conf.eth.dns1.fromString(data["eth"]["dns1"].as<String>());
17-
conf.eth.dns2.fromString(data["eth"]["dns2"].as<String>());
11+
if (data.containsKey("network") && data["network"].containsKey("DHCP")) {
12+
conf.network.DHCP = data["network"]["DHCP"];
13+
conf.network.staticIP.fromString(data["network"]["staticIP"].as<String>());
14+
conf.network.subnet.fromString(data["network"]["subnet"].as<String>());
15+
conf.network.gateway.fromString(data["network"]["gateway"].as<String>());
16+
conf.network.dns.fromString(data["network"]["dns"].as<String>());
1817
}
1918

2019
JsonArray aps = data["wifi"]["AP"].as<JsonArray>();
2120
for (JsonVariant v : aps) {
2221
Configuration::Wifi::AP ap;
2322
ap.SSID = v["SSID"].as<String>();
2423
ap.password = v["password"].as<String>();
25-
if (v.containsKey("DHCP")) {
26-
ap.DHCP = v["DHCP"];
27-
ap.staticIP.fromString(v["staticIP"].as<String>());
28-
ap.subnet.fromString(v["subnet"].as<String>());
29-
ap.gateway.fromString(v["Gateway"].as<String>());
30-
ap.dns1.fromString(v["dns1"].as<String>());
31-
ap.dns2.fromString(v["dns2"].as<String>());
32-
}
3324
conf.wifi.APs.push_back(ap);
3425
}
35-
3626
if (data.containsKey("beacon") && data["beacon"].containsKey("message"))
3727
conf.beacon.message = data["beacon"]["message"].as<String>();
3828
conf.beacon.positionLatitude = data["beacon"]["position"]["latitude"] | 0.0;
@@ -82,30 +72,20 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
8272
void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &conf, DynamicJsonDocument &data) {
8373
data["callsign"] = conf.callsign;
8474

85-
if (conf.eth.DHCP == false) {
86-
data["eth"]["DHCP"] = conf.eth.DHCP;
87-
data["eth"]["staticIP"] = conf.eth.staticIP.toString();
88-
data["eth"]["subnet"] = conf.eth.subnet.toString();
89-
data["eth"]["gateway"] = conf.eth.gateway.toString();
90-
data["eth"]["dns1"] = conf.eth.dns1.toString();
91-
data["eth"]["dns2"] = conf.eth.dns2.toString();
75+
if (conf.network.DHCP == false) {
76+
data["network"]["DHCP"] = conf.network.DHCP;
77+
data["network"]["staticIP"] = conf.network.staticIP.toString();
78+
data["network"]["subnet"] = conf.network.subnet.toString();
79+
data["network"]["gateway"] = conf.network.gateway.toString();
80+
data["network"]["dns"] = conf.network.dns.toString();
9281
}
9382

9483
JsonArray aps = data["wifi"].createNestedArray("AP");
9584
for (Configuration::Wifi::AP ap : conf.wifi.APs) {
9685
JsonObject v = aps.createNestedObject();
9786
v["SSID"] = ap.SSID;
9887
v["password"] = ap.password;
99-
if (ap.DHCP == false) {
100-
v["DHCP"] = ap.DHCP;
101-
v["staticIP"] = ap.staticIP.toString();
102-
v["subnet"] = ap.subnet.toString();
103-
v["gateway"] = ap.gateway.toString();
104-
v["dns1"] = ap.dns1.toString();
105-
v["dns2"] = ap.dns2.toString();
106-
}
10788
}
108-
10989
data["beacon"]["message"] = conf.beacon.message;
11090
data["beacon"]["position"]["latitude"] = conf.beacon.positionLatitude;
11191
data["beacon"]["position"]["longitude"] = conf.beacon.positionLongitude;

src/project_configuration.h

+6-16
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,24 @@
66

77
class Configuration {
88
public:
9-
class ETH {
9+
class NETWORK {
1010
public:
11-
ETH() : DHCP(true) {
11+
NETWORK() : DHCP(true) {
1212
}
1313

1414
bool DHCP;
1515
IPAddress staticIP;
1616
IPAddress subnet;
1717
IPAddress gateway;
18-
IPAddress dns1;
19-
IPAddress dns2;
18+
IPAddress dns;
2019
};
2120

2221
class Wifi {
2322
public:
2423
class AP {
2524
public:
26-
AP() : DHCP(true) {
27-
}
28-
29-
String SSID;
30-
String password;
31-
bool DHCP;
32-
IPAddress staticIP;
33-
IPAddress subnet;
34-
IPAddress gateway;
35-
IPAddress dns1;
36-
IPAddress dns2;
25+
String SSID;
26+
String password;
3727
};
3828

3929
Wifi() {
@@ -115,7 +105,7 @@ class Configuration {
115105
Configuration() : callsign("NOCALL-10"), board(""), ntpServer("pool.ntp.org"){};
116106

117107
String callsign;
118-
ETH eth;
108+
NETWORK network;
119109
Wifi wifi;
120110
Beacon beacon;
121111
APRS_IS aprs_is;

0 commit comments

Comments
 (0)