From bd34ad7070d4d05527759afc6bb3bc2fb3365afa Mon Sep 17 00:00:00 2001 From: Christoph Kottke Date: Thu, 15 Jul 2021 21:45:44 +0200 Subject: [PATCH] * implementation --- src/TaskEth.cpp | 4 ++++ src/TaskWifi.cpp | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/TaskEth.cpp b/src/TaskEth.cpp index fdad5a2..c26aca3 100644 --- a/src/TaskEth.cpp +++ b/src/TaskEth.cpp @@ -4,6 +4,7 @@ #include "Task.h" #include "TaskEth.h" +#include "project_configuration.h" volatile bool eth_connected = false; @@ -89,6 +90,9 @@ bool EthTask::setup(System &system) { delay(200); digitalWrite(ETH_NRST, 1); + if (system.getUserConfig()->network.DHCP == false) + ETH.config(system.getUserConfig()->network.staticIP, system.getUserConfig()->network.gateway, system.getUserConfig()->network.subnet, system.getUserConfig()->network.dns); + ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK); return true; } diff --git a/src/TaskWifi.cpp b/src/TaskWifi.cpp index 408a0fd..f384043 100644 --- a/src/TaskWifi.cpp +++ b/src/TaskWifi.cpp @@ -13,8 +13,18 @@ WifiTask::~WifiTask() { } bool WifiTask::setup(System &system) { + // Don't save WiFi configuration in flash + WiFi.persistent(false); + + // Set WiFi to station mode + WiFi.mode(WIFI_STA); + WiFi.onEvent(WiFiEvent); WiFi.setHostname(system.getUserConfig()->callsign.c_str()); + + if (system.getUserConfig()->network.DHCP == false) + WiFi.config(system.getUserConfig()->network.staticIP, system.getUserConfig()->network.gateway, system.getUserConfig()->network.subnet, system.getUserConfig()->network.dns); + for (Configuration::Wifi::AP ap : system.getUserConfig()->wifi.APs) { logPrintD("Looking for AP: "); logPrintlnD(ap.SSID);