Add Waveshare ESP32-S3-ETH support (#636)
This commit is contained in:
@@ -6974,6 +6974,7 @@ const std::vector<std::pair<String, String>> WebCfgServer::getNetworkDetectionOp
|
|||||||
options.push_back(std::make_pair("12", "LilyGO T-ETH ELite"));
|
options.push_back(std::make_pair("12", "LilyGO T-ETH ELite"));
|
||||||
options.push_back(std::make_pair("8", "GL-S10"));
|
options.push_back(std::make_pair("8", "GL-S10"));
|
||||||
options.push_back(std::make_pair("9", "ETH01-Evo"));
|
options.push_back(std::make_pair("9", "ETH01-Evo"));
|
||||||
|
options.push_back(std::make_pair("13", "Waveshare ESP32-S3-ETH / ESP32-S3-ETH-POE"));
|
||||||
options.push_back(std::make_pair("11", "Custom LAN module"));
|
options.push_back(std::make_pair("11", "Custom LAN module"));
|
||||||
|
|
||||||
return options;
|
return options;
|
||||||
|
|||||||
@@ -13,5 +13,6 @@ enum class NetworkDeviceType
|
|||||||
LilyGO_T_ETH_ELite,
|
LilyGO_T_ETH_ELite,
|
||||||
GL_S10,
|
GL_S10,
|
||||||
ETH01_Evo,
|
ETH01_Evo,
|
||||||
|
Waveshare_ESP32_S3_ETH,
|
||||||
CUSTOM
|
CUSTOM
|
||||||
};
|
};
|
||||||
@@ -29,3 +29,13 @@
|
|||||||
#define ETH_PHY_SPI_SCK_GENERIC_W5500 8
|
#define ETH_PHY_SPI_SCK_GENERIC_W5500 8
|
||||||
#define ETH_PHY_SPI_MISO_GENERIC_W5500 9
|
#define ETH_PHY_SPI_MISO_GENERIC_W5500 9
|
||||||
#define ETH_PHY_SPI_MOSI_GENERIC_W5500 10
|
#define ETH_PHY_SPI_MOSI_GENERIC_W5500 10
|
||||||
|
|
||||||
|
#define ETH_ADDR_WAVESHARE_ESP32_S3_ETH 1
|
||||||
|
#define ETH_PHY_SPI_IRQ_WAVESHARE_ESP32_S3_ETH 10
|
||||||
|
#define ETH_PHY_SPI_RST_WAVESHARE_ESP32_S3_ETH 9
|
||||||
|
#define ETH_PHY_SPI_CS_WAVESHARE_ESP32_S3_ETH 14
|
||||||
|
#define ETH_PHY_SPI_SCK_WAVESHARE_ESP32_S3_ETH 13
|
||||||
|
#define ETH_PHY_SPI_MISO_WAVESHARE_ESP32_S3_ETH 12
|
||||||
|
#define ETH_PHY_SPI_MOSI_WAVESHARE_ESP32_S3_ETH 11
|
||||||
|
|
||||||
|
#define ETH_ADDR 1
|
||||||
@@ -47,6 +47,17 @@ NetworkDevice *NetworkDeviceInstantiator::Create(NetworkDeviceType networkDevice
|
|||||||
ETH_PHY_SPI_MOSI_M5_W5500_S3,
|
ETH_PHY_SPI_MOSI_M5_W5500_S3,
|
||||||
ETH_PHY_W5500);
|
ETH_PHY_W5500);
|
||||||
break;
|
break;
|
||||||
|
case NetworkDeviceType::Waveshare_ESP32_S3_ETH:
|
||||||
|
device = new EthernetDevice(hostname, preferences, ipConfiguration, "Waveshare ESP32-S3-ETH / ESP32-S3-ETH-POE",
|
||||||
|
ETH_ADDR_WAVESHARE_ESP32_S3_ETH,
|
||||||
|
ETH_PHY_SPI_CS_WAVESHARE_ESP32_S3_ETH,
|
||||||
|
ETH_PHY_SPI_IRQ_WAVESHARE_ESP32_S3_ETH,
|
||||||
|
ETH_PHY_SPI_RST_WAVESHARE_ESP32_S3_ETH,
|
||||||
|
ETH_PHY_SPI_SCK_WAVESHARE_ESP32_S3_ETH,
|
||||||
|
ETH_PHY_SPI_MISO_WAVESHARE_ESP32_S3_ETH,
|
||||||
|
ETH_PHY_SPI_MOSI_WAVESHARE_ESP32_S3_ETH,
|
||||||
|
ETH_PHY_W5500);
|
||||||
|
break;
|
||||||
case NetworkDeviceType::ETH01_Evo:
|
case NetworkDeviceType::ETH01_Evo:
|
||||||
device = new EthernetDevice(hostname, preferences, ipConfiguration, "ETH01-Evo",
|
device = new EthernetDevice(hostname, preferences, ipConfiguration, "ETH01-Evo",
|
||||||
ETH_PHY_ADDR_ETH01EVO,
|
ETH_PHY_ADDR_ETH01EVO,
|
||||||
@@ -117,7 +128,13 @@ NetworkDevice *NetworkDeviceInstantiator::Create(NetworkDeviceType networkDevice
|
|||||||
eth_phy_type_t custEthtype = NetworkUtil::GetCustomEthernetType(custPHY);
|
eth_phy_type_t custEthtype = NetworkUtil::GetCustomEthernetType(custPHY);
|
||||||
eth_clock_mode_t custCLK = NetworkUtil::GetCustomClock(custCLKpref);
|
eth_clock_mode_t custCLK = NetworkUtil::GetCustomClock(custCLKpref);
|
||||||
|
|
||||||
device = new EthernetDevice(hostname, preferences, ipConfiguration, custName, preferences->getInt(preference_network_custom_addr, -1), preferences->getInt(preference_network_custom_pwr, -1), preferences->getInt(preference_network_custom_mdc, -1), preferences->getInt(preference_network_custom_mdio, -1), custEthtype, custCLK);
|
device = new EthernetDevice(hostname, preferences, ipConfiguration, custName,
|
||||||
|
preferences->getInt(preference_network_custom_addr, -1),
|
||||||
|
preferences->getInt(preference_network_custom_pwr, -1),
|
||||||
|
preferences->getInt(preference_network_custom_mdc, -1),
|
||||||
|
preferences->getInt(preference_network_custom_mdio, -1),
|
||||||
|
custEthtype,
|
||||||
|
custCLK);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifndef CONFIG_IDF_TARGET_ESP32H2
|
#ifndef CONFIG_IDF_TARGET_ESP32H2
|
||||||
|
|||||||
@@ -8,51 +8,37 @@ NetworkDeviceType NetworkUtil::GetDeviceTypeFromPreference(int hardwareDetect, i
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
return NetworkDeviceType::WiFi;
|
return NetworkDeviceType::WiFi;
|
||||||
break;
|
|
||||||
case 2:
|
case 2:
|
||||||
return NetworkDeviceType::W5500;
|
return NetworkDeviceType::W5500;
|
||||||
break;
|
|
||||||
case 3:
|
case 3:
|
||||||
return NetworkDeviceType::W5500M5;
|
return NetworkDeviceType::W5500M5;
|
||||||
break;
|
|
||||||
case 4:
|
case 4:
|
||||||
return NetworkDeviceType::Olimex_LAN8720;
|
return NetworkDeviceType::Olimex_LAN8720;
|
||||||
break;
|
|
||||||
case 5:
|
case 5:
|
||||||
return NetworkDeviceType::WT32_LAN8720;
|
return NetworkDeviceType::WT32_LAN8720;
|
||||||
break;
|
|
||||||
case 6:
|
case 6:
|
||||||
return NetworkDeviceType::M5STACK_PoESP32_Unit;
|
return NetworkDeviceType::M5STACK_PoESP32_Unit;
|
||||||
break;
|
|
||||||
case 7:
|
case 7:
|
||||||
return NetworkDeviceType::LilyGO_T_ETH_POE;
|
return NetworkDeviceType::LilyGO_T_ETH_POE;
|
||||||
break;
|
|
||||||
case 8:
|
case 8:
|
||||||
return NetworkDeviceType::GL_S10;
|
return NetworkDeviceType::GL_S10;
|
||||||
break;
|
|
||||||
case 9:
|
case 9:
|
||||||
return NetworkDeviceType::ETH01_Evo;
|
return NetworkDeviceType::ETH01_Evo;
|
||||||
break;
|
|
||||||
case 10:
|
case 10:
|
||||||
return NetworkDeviceType::W5500M5S3;
|
return NetworkDeviceType::W5500M5S3;
|
||||||
break;
|
|
||||||
case 11:
|
case 11:
|
||||||
if(customPhy> 0)
|
if(customPhy> 0)
|
||||||
{
|
{
|
||||||
return NetworkDeviceType::CUSTOM;
|
return NetworkDeviceType::CUSTOM;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
return NetworkDeviceType::WiFi;
|
return NetworkDeviceType::WiFi;
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 12:
|
case 12:
|
||||||
return NetworkDeviceType::LilyGO_T_ETH_ELite;
|
return NetworkDeviceType::LilyGO_T_ETH_ELite;
|
||||||
break;
|
case 13:
|
||||||
|
return NetworkDeviceType::Waveshare_ESP32_S3_ETH;
|
||||||
default:
|
default:
|
||||||
Log->println("Unknown hardware selected, falling back to Wi-Fi.");
|
Log->println("Unknown hardware selected, falling back to Wi-Fi.");
|
||||||
return NetworkDeviceType::WiFi;
|
return NetworkDeviceType::WiFi;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user