c365fd9d74
Ethernet Support
59 lines
1.2 KiB
C++
59 lines
1.2 KiB
C++
#include "Network.h"
|
|
|
|
IPAddress NetworkClass::localIP()
|
|
{
|
|
#if defined(ARDUINO_ARCH_ESP32) && defined(WLED_USE_ETHERNET)
|
|
if (ETH.localIP()[0] != 0) {
|
|
return ETH.localIP();
|
|
}
|
|
#endif
|
|
if (WiFi.localIP()[0] != 0) {
|
|
return WiFi.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; |