diff --git a/Software/src/communication/nvm/comm_nvm.cpp b/Software/src/communication/nvm/comm_nvm.cpp index 3ba5b478..df9cae1b 100644 --- a/Software/src/communication/nvm/comm_nvm.cpp +++ b/Software/src/communication/nvm/comm_nvm.cpp @@ -166,6 +166,20 @@ void init_stored_settings() { mqtt_transmit_all_cellvoltages = settings.getBool("MQTTCELLV", false); custom_hostname = settings.getString("HOSTNAME").c_str(); + static_IP_enabled = settings.getBool("STATICIP", false); + static_local_IP1 = settings.getUInt("LOCALIP1", 192); + static_local_IP2 = settings.getUInt("LOCALIP2", 168); + static_local_IP3 = settings.getUInt("LOCALIP3", 10); + static_local_IP4 = settings.getUInt("LOCALIP4", 150); + static_gateway1 = settings.getUInt("GATEWAY1", 192); + static_gateway2 = settings.getUInt("GATEWAY2", 168); + static_gateway3 = settings.getUInt("GATEWAY3", 10); + static_gateway4 = settings.getUInt("GATEWAY4", 1); + static_subnet1 = settings.getUInt("SUBNET1", 255); + static_subnet2 = settings.getUInt("SUBNET2", 255); + static_subnet3 = settings.getUInt("SUBNET3", 255); + static_subnet4 = settings.getUInt("SUBNET4", 0); + mqtt_server = settings.getString("MQTTSERVER").c_str(); mqtt_port = settings.getUInt("MQTTPORT", 0); mqtt_user = settings.getString("MQTTUSER").c_str(); diff --git a/Software/src/devboard/webserver/settings_html.cpp b/Software/src/devboard/webserver/settings_html.cpp index b2892d89..63411805 100644 --- a/Software/src/devboard/webserver/settings_html.cpp +++ b/Software/src/devboard/webserver/settings_html.cpp @@ -291,10 +291,62 @@ String settings_processor(const String& var, BatteryEmulatorSettingsStore& setti return settings.getBool("WIFIAPENABLED", wifiap_enabled) ? "checked" : ""; } + if (var == "STATICIP") { + return settings.getBool("STATICIP") ? "checked" : ""; + } + if (var == "WIFICHANNEL") { return String(settings.getUInt("WIFICHANNEL", 0)); } + if (var == "LOCALIP1") { + return String(settings.getUInt("LOCALIP1", 0)); + } + + if (var == "LOCALIP2") { + return String(settings.getUInt("LOCALIP2", 0)); + } + + if (var == "LOCALIP3") { + return String(settings.getUInt("LOCALIP3", 0)); + } + + if (var == "LOCALIP4") { + return String(settings.getUInt("LOCALIP4", 0)); + } + + if (var == "GATEWAY1") { + return String(settings.getUInt("GATEWAY1", 0)); + } + + if (var == "GATEWAY2") { + return String(settings.getUInt("GATEWAY2", 0)); + } + + if (var == "GATEWAY3") { + return String(settings.getUInt("GATEWAY3", 0)); + } + + if (var == "GATEWAY4") { + return String(settings.getUInt("GATEWAY4", 0)); + } + + if (var == "SUBNET1") { + return String(settings.getUInt("SUBNET1", 0)); + } + + if (var == "SUBNET2") { + return String(settings.getUInt("SUBNET2", 0)); + } + + if (var == "SUBNET3") { + return String(settings.getUInt("SUBNET3", 0)); + } + + if (var == "SUBNET4") { + return String(settings.getUInt("SUBNET4", 0)); + } + if (var == "PERFPROFILE") { return settings.getBool("PERFPROFILE") ? "checked" : ""; } @@ -852,6 +904,11 @@ const char* getCANInterfaceName(CAN_Interface interface) { display: contents; } + form .if-staticip { display: none; } + form[data-staticip="true"] .if-staticip { + display: contents; + } + form .if-mqtt { display: none; } form[data-mqttenabled="true"] .if-mqtt { display: contents; @@ -869,40 +926,41 @@ const char* getCANInterfaceName(CAN_Interface interface) { R"rawliteral( -