diff --git a/data/is-cfg.json b/data/is-cfg.json index 02737a3..cf49d82 100644 --- a/data/is-cfg.json +++ b/data/is-cfg.json @@ -1,6 +1,7 @@ { "callsign": "NOCALL-10", "network": { + "hostname": "NOCALL-10", "DHCP": true, "staticIP": "192.0.2.100", "subnet": "255.255.255.0", diff --git a/src/TaskEth.cpp b/src/TaskEth.cpp index c25120e..1d74eb5 100644 --- a/src/TaskEth.cpp +++ b/src/TaskEth.cpp @@ -36,13 +36,15 @@ void WiFiEvent(WiFiEvent_t event) { break; case SYSTEM_EVENT_ETH_START: logPrintlnI("ETH Started"); - ETH.setHostname("esp32-ethernet"); break; case SYSTEM_EVENT_ETH_CONNECTED: logPrintlnI("ETH Connected"); + ETH.setHostname("esp32-ethernet"); break; case SYSTEM_EVENT_ETH_GOT_IP: - logPrintI("ETH MAC: "); + logPrintI("Hostname: "); + logPrintI(ETH.getHostname()); + logPrintI(", ETH MAC: "); logPrintI(ETH.macAddress()); logPrintI(", IPv4: "); logPrintI(ETH.localIP().toString()); @@ -100,11 +102,12 @@ bool EthTask::setup(System &system) { delay(200); digitalWrite(ETH_NRST, 1); + ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK); + if (!system.getUserConfig()->network.DHCP) { ETH.config(system.getUserConfig()->network.staticIP, system.getUserConfig()->network.gateway, system.getUserConfig()->network.subnet, system.getUserConfig()->network.dns1, system.getUserConfig()->network.dns2); } - - ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK); + ETH.setHostname(system.getUserConfig()->network.hostname.c_str()); return true; } diff --git a/src/project_configuration.cpp b/src/project_configuration.cpp index a416aa1..cd3702b 100644 --- a/src/project_configuration.cpp +++ b/src/project_configuration.cpp @@ -9,7 +9,8 @@ void ProjectConfigurationManagement::readProjectConfiguration(DynamicJsonDocumen conf.callsign = data["callsign"].as(); if (data.containsKey("network") && data["network"].containsKey("DHCP")) { - conf.network.DHCP = data["network"]["DHCP"]; + conf.network.hostname = data["network"]["hostname"].as(); + 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()); @@ -76,6 +77,7 @@ void ProjectConfigurationManagement::writeProjectConfiguration(Configuration &co data["callsign"] = conf.callsign; if (!conf.network.DHCP) { + data["network"]["hostname"] = conf.network.hostname; data["network"]["DHCP"] = conf.network.DHCP; data["network"]["staticIP"] = conf.network.staticIP.toString(); data["network"]["subnet"] = conf.network.subnet.toString(); diff --git a/src/project_configuration.h b/src/project_configuration.h index c9d9ea9..9ec3432 100644 --- a/src/project_configuration.h +++ b/src/project_configuration.h @@ -11,6 +11,7 @@ public: Network() : DHCP(true) { } + String hostname; bool DHCP; IPAddress staticIP; IPAddress subnet;