feat: ajout du support Ethernet W5500 SPI

- Intégration du contrôleur Ethernet W5500 via SPI pour les cartes
  comme Waveshare ESP32-S3 POE
- Configuration des pins SPI (MOSI, MISO, SCLK, CS, INT, RST) via
  l'interface web
- Utilisation directe des APIs ESP-IDF pour le W5500 car la classe
  Arduino ETH ne supporte pas nativement ce contrôleur
- Gestion manuelle du DHCP et DNS pour le W5500
- Protection des appels ETH Arduino quand W5500 est utilisé
- Désactivation temporaire de la vérification OTA GitHub pour W5500
  (problème de compatibilité HTTPClient)
- Ajout des presets de cartes dans l'interface (Waveshare, etc.)
This commit is contained in:
Anthony Marchand 2026-01-18 22:40:06 +01:00
parent eb75868adb
commit 0e0a482afb
8 changed files with 616 additions and 49 deletions

View file

@ -98,6 +98,13 @@ class EthernetSettings: BaseSettings {
int8_t PWRPin = ETH_PHY_POWER;
int8_t MDCPin = ETH_PHY_MDC;
int8_t MDIOPin = ETH_PHY_MDIO;
// SPI pins for W5500 and other SPI-based Ethernet controllers
int8_t MOSIPin = -1;
int8_t MISOPin = -1;
int8_t SCLKPin = -1;
int8_t CSPin = -1;
int8_t INTPin = -1;
int8_t RSTPin = -1;
bool begin();
bool fromJSON(JsonObject &obj);
@ -107,6 +114,7 @@ class EthernetSettings: BaseSettings {
bool save();
void print();
bool usesPin(uint8_t pin);
bool isSPIController();
};
class IPSettings: BaseSettings {
public: