#include "Network.h" IPAddress NetworkClass::localIP() { IPAddress localIP; #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_ETHERNET) localIP = ETH.localIP(); if (localIP[0] != 0) { return localIP; } #endif localIP = WiFi.localIP(); if (localIP[0] != 0) { return localIP; } return INADDR_NONE; } IPAddress NetworkClass::subnetMask() { #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_ETHERNET) if (ETH.localIP()[0] != 0) { return ETH.subnetMask(); } #endif if (WiFi.localIP()[0] != 0) { return WiFi.subnetMask(); } return IPAddress(255, 255, 255, 0); } IPAddress NetworkClass::gatewayIP() { #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_ETHERNET) if (ETH.localIP()[0] != 0) { return ETH.gatewayIP(); } #endif if (WiFi.localIP()[0] != 0) { return WiFi.gatewayIP(); } return INADDR_NONE; } bool NetworkClass::isConnected() { #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_ETHERNET) return (WiFi.localIP()[0] != 0 && WiFi.status() == WL_CONNECTED) || ETH.localIP()[0] != 0; #else return (WiFi.localIP()[0] != 0 && WiFi.status() == WL_CONNECTED); #endif } bool NetworkClass::isEthernet() { #if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_ETHERNET) return (ETH.localIP()[0] != 0); #endif return false; } NetworkClass Network;