diff --git a/include/NetworkSettings.h b/include/NetworkSettings.h index 7f699bd4..1ad3c6a4 100644 --- a/include/NetworkSettings.h +++ b/include/NetworkSettings.h @@ -62,7 +62,6 @@ private: void setStaticIp(); void setupMode(); void NetworkEvent(WiFiEvent_t event); - static uint32_t getChipId(); bool adminEnabled = true; bool forceDisconnection = false; int adminTimeoutCounter = 0; diff --git a/include/Utils.h b/include/Utils.h new file mode 100644 index 00000000..b4387b8b --- /dev/null +++ b/include/Utils.h @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include + +class Utils { +public: + static uint32_t getChipId(); +}; diff --git a/src/NetworkSettings.cpp b/src/NetworkSettings.cpp index f4df6da3..732f3ec2 100644 --- a/src/NetworkSettings.cpp +++ b/src/NetworkSettings.cpp @@ -4,6 +4,7 @@ */ #include "NetworkSettings.h" #include "Configuration.h" +#include "Utils.h" #include "defaults.h" #include #ifdef OPENDTU_ETHERNET @@ -142,7 +143,7 @@ void NetworkSettingsClass::enableAdminMode() String NetworkSettingsClass::getApName() { - return String(ACCESS_POINT_NAME + String(getChipId())); + return String(ACCESS_POINT_NAME + String(Utils::getChipId())); } void NetworkSettingsClass::loop() @@ -385,7 +386,7 @@ String NetworkSettingsClass::getHostname() char resultHostname[WIFI_MAX_HOSTNAME_STRLEN + 1]; uint8_t pos = 0; - uint32_t chipId = getChipId(); + uint32_t chipId = Utils::getChipId(); snprintf(preparedHostname, WIFI_MAX_HOSTNAME_STRLEN + 1, config.WiFi_Hostname, chipId); const char* pC = preparedHostname; @@ -431,13 +432,4 @@ network_mode NetworkSettingsClass::NetworkMode() return _networkMode; } -uint32_t NetworkSettingsClass::getChipId() -{ - uint32_t chipId = 0; - for (int i = 0; i < 17; i += 8) { - chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i; - } - return chipId; -} - NetworkSettingsClass NetworkSettings; \ No newline at end of file diff --git a/src/Utils.cpp b/src/Utils.cpp new file mode 100644 index 00000000..86db3d63 --- /dev/null +++ b/src/Utils.cpp @@ -0,0 +1,11 @@ +#include "utils.h" +#include + +uint32_t Utils::getChipId() +{ + uint32_t chipId = 0; + for (int i = 0; i < 17; i += 8) { + chipId |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i; + } + return chipId; +} \ No newline at end of file