Include ethernet handling in every build to enable it at runtime
This commit is contained in:
parent
8377d5bb73
commit
c85b99ffc1
@ -8,9 +8,7 @@
|
|||||||
#include "PinMapping.h"
|
#include "PinMapping.h"
|
||||||
#include "Utils.h"
|
#include "Utils.h"
|
||||||
#include "defaults.h"
|
#include "defaults.h"
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
#include <ETH.h>
|
#include <ETH.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
NetworkSettingsClass::NetworkSettingsClass()
|
NetworkSettingsClass::NetworkSettingsClass()
|
||||||
: apIp(192, 168, 4, 1)
|
: apIp(192, 168, 4, 1)
|
||||||
@ -30,7 +28,6 @@ void NetworkSettingsClass::init()
|
|||||||
void NetworkSettingsClass::NetworkEvent(WiFiEvent_t event)
|
void NetworkSettingsClass::NetworkEvent(WiFiEvent_t event)
|
||||||
{
|
{
|
||||||
switch (event) {
|
switch (event) {
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
case ARDUINO_EVENT_ETH_START:
|
case ARDUINO_EVENT_ETH_START:
|
||||||
MessageOutput.println(F("ETH start"));
|
MessageOutput.println(F("ETH start"));
|
||||||
if (_networkMode == network_mode::Ethernet) {
|
if (_networkMode == network_mode::Ethernet) {
|
||||||
@ -61,7 +58,6 @@ void NetworkSettingsClass::NetworkEvent(WiFiEvent_t event)
|
|||||||
raiseEvent(network_event::NETWORK_DISCONNECTED);
|
raiseEvent(network_event::NETWORK_DISCONNECTED);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case ARDUINO_EVENT_WIFI_STA_CONNECTED:
|
case ARDUINO_EVENT_WIFI_STA_CONNECTED:
|
||||||
MessageOutput.println(F("WiFi connected"));
|
MessageOutput.println(F("WiFi connected"));
|
||||||
if (_networkMode == network_mode::WiFi) {
|
if (_networkMode == network_mode::WiFi) {
|
||||||
@ -130,12 +126,11 @@ void NetworkSettingsClass::setupMode()
|
|||||||
WiFi.mode(WIFI_MODE_NULL);
|
WiFi.mode(WIFI_MODE_NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
if (PinMapping.isValidEthConfig()) {
|
if (PinMapping.isValidEthConfig()) {
|
||||||
PinMapping_t& pin = PinMapping.get();
|
PinMapping_t& pin = PinMapping.get();
|
||||||
ETH.begin(pin.eth_phy_addr, pin.eth_power, pin.eth_mdc, pin.eth_mdio, pin.eth_type, pin.eth_clk_mode);
|
ETH.begin(pin.eth_phy_addr, pin.eth_power, pin.eth_mdc, pin.eth_mdio, pin.eth_type, pin.eth_clk_mode);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkSettingsClass::enableAdminMode()
|
void NetworkSettingsClass::enableAdminMode()
|
||||||
@ -152,7 +147,6 @@ String NetworkSettingsClass::getApName()
|
|||||||
|
|
||||||
void NetworkSettingsClass::loop()
|
void NetworkSettingsClass::loop()
|
||||||
{
|
{
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
if (_ethConnected) {
|
if (_ethConnected) {
|
||||||
if (_networkMode != network_mode::Ethernet) {
|
if (_networkMode != network_mode::Ethernet) {
|
||||||
// Do stuff when switching to Ethernet mode
|
// Do stuff when switching to Ethernet mode
|
||||||
@ -163,7 +157,6 @@ void NetworkSettingsClass::loop()
|
|||||||
setHostname();
|
setHostname();
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
#endif
|
|
||||||
if (_networkMode != network_mode::WiFi) {
|
if (_networkMode != network_mode::WiFi) {
|
||||||
// Do stuff when switching to Ethernet mode
|
// Do stuff when switching to Ethernet mode
|
||||||
MessageOutput.println(F("Switch to WiFi mode"));
|
MessageOutput.println(F("Switch to WiFi mode"));
|
||||||
@ -254,7 +247,6 @@ void NetworkSettingsClass::setHostname()
|
|||||||
WiFi.mode(WIFI_MODE_STA);
|
WiFi.mode(WIFI_MODE_STA);
|
||||||
setupMode();
|
setupMode();
|
||||||
}
|
}
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
else if (_networkMode == network_mode::Ethernet) {
|
else if (_networkMode == network_mode::Ethernet) {
|
||||||
if (ETH.setHostname(getHostname().c_str())) {
|
if (ETH.setHostname(getHostname().c_str())) {
|
||||||
MessageOutput.println(F("done"));
|
MessageOutput.println(F("done"));
|
||||||
@ -262,7 +254,6 @@ void NetworkSettingsClass::setHostname()
|
|||||||
MessageOutput.println(F("failed"));
|
MessageOutput.println(F("failed"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void NetworkSettingsClass::setStaticIp()
|
void NetworkSettingsClass::setStaticIp()
|
||||||
@ -283,7 +274,6 @@ void NetworkSettingsClass::setStaticIp()
|
|||||||
MessageOutput.println(F("done"));
|
MessageOutput.println(F("done"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
else if (_networkMode == network_mode::Ethernet) {
|
else if (_networkMode == network_mode::Ethernet) {
|
||||||
if (Configuration.get().WiFi_Dhcp) {
|
if (Configuration.get().WiFi_Dhcp) {
|
||||||
MessageOutput.print(F("Configuring Ethernet DHCP IP... "));
|
MessageOutput.print(F("Configuring Ethernet DHCP IP... "));
|
||||||
@ -300,17 +290,14 @@ void NetworkSettingsClass::setStaticIp()
|
|||||||
MessageOutput.println(F("done"));
|
MessageOutput.println(F("done"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
IPAddress NetworkSettingsClass::localIP()
|
IPAddress NetworkSettingsClass::localIP()
|
||||||
{
|
{
|
||||||
switch (_networkMode) {
|
switch (_networkMode) {
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
case network_mode::Ethernet:
|
case network_mode::Ethernet:
|
||||||
return ETH.localIP();
|
return ETH.localIP();
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case network_mode::WiFi:
|
case network_mode::WiFi:
|
||||||
return WiFi.localIP();
|
return WiFi.localIP();
|
||||||
break;
|
break;
|
||||||
@ -322,11 +309,9 @@ IPAddress NetworkSettingsClass::localIP()
|
|||||||
IPAddress NetworkSettingsClass::subnetMask()
|
IPAddress NetworkSettingsClass::subnetMask()
|
||||||
{
|
{
|
||||||
switch (_networkMode) {
|
switch (_networkMode) {
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
case network_mode::Ethernet:
|
case network_mode::Ethernet:
|
||||||
return ETH.subnetMask();
|
return ETH.subnetMask();
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case network_mode::WiFi:
|
case network_mode::WiFi:
|
||||||
return WiFi.subnetMask();
|
return WiFi.subnetMask();
|
||||||
break;
|
break;
|
||||||
@ -338,11 +323,9 @@ IPAddress NetworkSettingsClass::subnetMask()
|
|||||||
IPAddress NetworkSettingsClass::gatewayIP()
|
IPAddress NetworkSettingsClass::gatewayIP()
|
||||||
{
|
{
|
||||||
switch (_networkMode) {
|
switch (_networkMode) {
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
case network_mode::Ethernet:
|
case network_mode::Ethernet:
|
||||||
return ETH.gatewayIP();
|
return ETH.gatewayIP();
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case network_mode::WiFi:
|
case network_mode::WiFi:
|
||||||
return WiFi.gatewayIP();
|
return WiFi.gatewayIP();
|
||||||
break;
|
break;
|
||||||
@ -354,11 +337,9 @@ IPAddress NetworkSettingsClass::gatewayIP()
|
|||||||
IPAddress NetworkSettingsClass::dnsIP(uint8_t dns_no)
|
IPAddress NetworkSettingsClass::dnsIP(uint8_t dns_no)
|
||||||
{
|
{
|
||||||
switch (_networkMode) {
|
switch (_networkMode) {
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
case network_mode::Ethernet:
|
case network_mode::Ethernet:
|
||||||
return ETH.dnsIP(dns_no);
|
return ETH.dnsIP(dns_no);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case network_mode::WiFi:
|
case network_mode::WiFi:
|
||||||
return WiFi.dnsIP(dns_no);
|
return WiFi.dnsIP(dns_no);
|
||||||
break;
|
break;
|
||||||
@ -370,11 +351,9 @@ IPAddress NetworkSettingsClass::dnsIP(uint8_t dns_no)
|
|||||||
String NetworkSettingsClass::macAddress()
|
String NetworkSettingsClass::macAddress()
|
||||||
{
|
{
|
||||||
switch (_networkMode) {
|
switch (_networkMode) {
|
||||||
#ifdef OPENDTU_ETHERNET
|
|
||||||
case network_mode::Ethernet:
|
case network_mode::Ethernet:
|
||||||
return ETH.macAddress();
|
return ETH.macAddress();
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
case network_mode::WiFi:
|
case network_mode::WiFi:
|
||||||
return WiFi.macAddress();
|
return WiFi.macAddress();
|
||||||
break;
|
break;
|
||||||
@ -424,11 +403,7 @@ String NetworkSettingsClass::getHostname()
|
|||||||
|
|
||||||
bool NetworkSettingsClass::isConnected()
|
bool NetworkSettingsClass::isConnected()
|
||||||
{
|
{
|
||||||
#ifndef OPENDTU_ETHERNET
|
|
||||||
return WiFi.localIP()[0] != 0;
|
|
||||||
#else
|
|
||||||
return WiFi.localIP()[0] != 0 || ETH.localIP()[0] != 0;
|
return WiFi.localIP()[0] != 0 || ETH.localIP()[0] != 0;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
network_mode NetworkSettingsClass::NetworkMode()
|
network_mode NetworkSettingsClass::NetworkMode()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user