Network manager supports setHostname

This commit is contained in:
Petr Kracik 2026-01-15 00:03:19 +01:00
parent 1e3cb0c49e
commit aa2dfcdfd1
2 changed files with 27 additions and 16 deletions

View file

@ -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();

View file

@ -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);