@@ -8,13 +8,31 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
8
8
if (data.containsKey (" callsign" ))
9
9
conf.callsign = data[" callsign" ].as <String>();
10
10
11
+ if (data.containsKey (" eth" ) && data[" eth" ].containsKey (" DHCP" )) {
12
+ conf.eth .DHCP = data[" eth" ][" DHCP" ];
13
+ conf.eth .IP = data[" eth" ][" IP" ].as <String>();
14
+ conf.eth .Netmask = data[" eth" ][" Netmask" ].as <String>();
15
+ conf.eth .Gateway = data[" eth" ][" Gateway" ].as <String>();
16
+ conf.eth .DNS1 = data[" eth" ][" DNS1" ].as <String>();
17
+ conf.eth .DNS2 = data[" eth" ][" DNS2" ].as <String>();
18
+ }
19
+
11
20
JsonArray aps = data[" wifi" ][" AP" ].as <JsonArray>();
12
21
for (JsonVariant v : aps) {
13
22
Configuration::Wifi::AP ap;
14
23
ap.SSID = v[" SSID" ].as <String>();
15
24
ap.password = v[" password" ].as <String>();
25
+ if (v.containsKey (" DHCP" )) {
26
+ ap.DHCP = v[" DHCP" ];
27
+ ap.IP = v[" IP" ].as <String>();
28
+ ap.Netmask = v[" Netmask" ].as <String>();
29
+ ap.Gateway = v[" Gateway" ].as <String>();
30
+ ap.DNS1 = v[" DNS1" ].as <String>();
31
+ ap.DNS2 = v[" DNS2" ].as <String>();
32
+ }
16
33
conf.wifi .APs .push_back (ap);
17
34
}
35
+
18
36
if (data.containsKey (" beacon" ) && data[" beacon" ].containsKey (" message" ))
19
37
conf.beacon .message = data[" beacon" ][" message" ].as <String>();
20
38
conf.beacon .positionLatitude = data[" beacon" ][" position" ][" latitude" ] | 0.0 ;
@@ -63,12 +81,31 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen
63
81
64
82
void ProjectConfigurationManagement::writeProjectConfiguration (Configuration &conf, DynamicJsonDocument &data) {
65
83
data[" callsign" ] = conf.callsign ;
66
- JsonArray aps = data[" wifi" ].createNestedArray (" AP" );
84
+
85
+ if (conf.eth .DHCP == false ) {
86
+ data[" eth" ][" DHCP" ] = conf.eth .DHCP ;
87
+ data[" eth" ][" IP" ] = conf.eth .IP ;
88
+ data[" eth" ][" Netmask" ] = conf.eth .Netmask ;
89
+ data[" eth" ][" Gateway" ] = conf.eth .Gateway ;
90
+ data[" eth" ][" DNS1" ] = conf.eth .DNS1 ;
91
+ data[" eth" ][" DNS2" ] = conf.eth .DNS2 ;
92
+ }
93
+
94
+ JsonArray aps = data[" wifi" ].createNestedArray (" AP" );
67
95
for (Configuration::Wifi::AP ap : conf.wifi .APs ) {
68
96
JsonObject v = aps.createNestedObject ();
69
97
v[" SSID" ] = ap.SSID ;
70
98
v[" password" ] = ap.password ;
99
+ if (ap.DHCP == false ) {
100
+ v[" DHCP" ] = ap.DHCP ;
101
+ v[" IP" ] = ap.IP ;
102
+ v[" Netmask" ] = ap.Netmask ;
103
+ v[" Gateway" ] = ap.Gateway ;
104
+ v[" DNS1" ] = ap.DNS1 ;
105
+ v[" DNS2" ] = ap.DNS2 ;
106
+ }
71
107
}
108
+
72
109
data[" beacon" ][" message" ] = conf.beacon .message ;
73
110
data[" beacon" ][" position" ][" latitude" ] = conf.beacon .positionLatitude ;
74
111
data[" beacon" ][" position" ][" longitude" ] = conf.beacon .positionLongitude ;
0 commit comments