From aa2dfcdfd1e611d42e3bd0ec254dbd04a1228547 Mon Sep 17 00:00:00 2001 From: Petr Kracik Date: Thu, 15 Jan 2026 00:03:19 +0100 Subject: [PATCH] Network manager supports setHostname --- include/network_manager.h | 5 ++++- src/network_manager.cpp | 38 +++++++++++++++++++++++--------------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/include/network_manager.h b/include/network_manager.h index 6d84f9b..a7f2ae1 100644 --- a/include/network_manager.h +++ b/include/network_manager.h @@ -13,7 +13,8 @@ private: unsigned long _apStartup = 0; unsigned long _apTimeout = 0; - String _generateAPSSID(); + String _hostName = ""; + void _processAPTimeout(); public: @@ -27,6 +28,8 @@ public: bool setup(); void loop(); + void setHostName(const String& hostName); + // WiFi methods bool setupAP(String apName, String apPsk = ""); bool disableAP(); diff --git a/src/network_manager.cpp b/src/network_manager.cpp index 3adc836..d40e5c8 100644 --- a/src/network_manager.cpp +++ b/src/network_manager.cpp @@ -8,21 +8,7 @@ NetworkManager::NetworkManager() { } // Destructor NetworkManager::~NetworkManager() { } -// Initialize -bool NetworkManager::setup() { - Serial.println("Initializing Networking..."); - return true; -} - - -void NetworkManager::loop() { - if (_wifiAPmode) { - _processAPTimeout(); - } -} - - -// WiFi methods +// Private methods void NetworkManager::_processAPTimeout() { if (!_wifiAPmode || _apTimeout == 0) { @@ -41,6 +27,24 @@ void NetworkManager::_processAPTimeout() { } } +// Initialize +bool NetworkManager::setup() { + Serial.println("Initializing Networking..."); + return true; +} + +void NetworkManager::loop() { + if (_wifiAPmode) { + _processAPTimeout(); + } +} + +void NetworkManager::setHostName(const String& hostName) { + _hostName = hostName; +} + +// WiFi methods + bool NetworkManager::setupAP(String apName, String apPsk) { _wifiAPmode = true; @@ -87,6 +91,10 @@ void NetworkManager::setAPTimeout(unsigned long timeout) { bool NetworkManager::connectWiFi(String ssid, String psk) { _wifiSTAmode = true; + if (!_hostName.isEmpty()) { + WiFi.setHostname(_hostName.c_str()); + } + WiFi.mode(_wifiAPmode ? WIFI_AP_STA : WIFI_STA); Serial.println("Attempting to connect to WiFi: " + ssid);