Note de ce sujet :
  • Moyenne : 4 (2 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Compilation sources V14.22
#1
Bonjour,

En compilant les sources pour un ESP32S3, j'ai une erreur à la ligne:

EMACDriver driver(ETH_PHY_LAN8720, 23, 18, 16);

La classe  EMACDriver n"est pas défini car la librairie necessite l'activation du flag:
CONFIG_ETH_USE_ESP32_EMAC

J'ai donc patché à 2 endroits pour avoir une compilation sans erreur pour ma carte qui n'a pas de port ethernet:

#ifdef CONFIG_ETH_USE_ESP32_EMAC
EMACDriver driver(ETH_PHY_LAN8720, 23, 18, 16);
#endif


....

#ifdef CONFIG_ETH_USE_ESP32_EMAC
  Ethernet.init(driver);
  if (String(ESP.getChipModel()) == "ESP32-D0WD") { //certains ESP32U et WT32-ETH01
    Serial.println("\nAncien modèle d'ESP32 que l'on trouve sur les cartes Ethernet WT32-ETH01 (branchez le câble) et certains ESP32U");
    if (Ethernet.begin() != 0) { //C'est une carte WT-ETH01
      Serial.println("Carte WT32-ETH01 qui Crash en Wifi. On force Ethernet.\n");
      ESP32_Type = 10;  //On force Ethernet
    }
  }
#endif


Et mis la variable par defaut à 1:
byte ESP32_Type = 1;  //0=Inconnu,1=Wroom seul,2=Wroom 1 relais,3=Wroom 4 relais,4=Wroom+Ecran320*240,10=ESP32-ETH01

Avec ca, je peux utilisé la derniere version sur mon ESP32S3

Merci André!

Laurent
Répondre

#2
Merci pour ces infos Laurent Cool J'ai du aussi appliquer ces changements sur un esp32c3.

En plus j'ai change la ligne 505:

de
Code :
OneWire oneWire(17);  //Numero de pin bidon pour le constructor en attendant affectation reel à placer au debut du setup
en
Citation :OneWire oneWire(20);  //Numero de pin bidon pour le constructor en attendant affectation reel à placer au debut du setup

sinon l'esp rebootait en boucle sans aucun message.

Je me suis aussi cree un fichier de config pour platformio, je vais le poster dans un autre thread, ce sera plus facile a retrouver dans le futur.

EDIT: le post pour la config platformio
Répondre

#3
Bonjour,
super je vous remercie pour c'est 2 postes j'ai bien cru que j'allais mettre mes s3 au placard.

MERCI
6800W pV
un triac sur  résistance cumulus eau sanitaire
2 relais SSR sur 2 résistances pour cumulus chauffage
et 1 relais  SSR sur radiateur en on/off
4 DS18b20 plus 4 thermistances
2 JSY-MK-194 soit 4 ampèremètre
8 relais  sur 74hc595 contrôle, chaudière, planché, vanne, circulateur.....
Répondre

#4
Bonjour,

J'essaie de monter un routeur, je ne connais donc pas encore très bien son fonctionnement. Je tente donc de commencer par le début, programmer un ESP32, comme vous j'ai un ESP32S3 et après avoir enfin compiler le code sans erreur en appliquant les modifications ci dessus je pensais que ça aurait été la victoire mais que nenni !

Il reboot sans arrêt, voici ce qui sort du moniteur série :

Citation :Booting
Dernier Reset : ESP_OK
cle : 912567899
Version stockée (partie entière) :15
Version du logiciel( partie entière) :15
Mémoire EEPROM utilisée : 48%
Chip Model: ESP32-S3
InitGPIO
ESP32_Type:1
Adresse IP en mémoire : 0.0.0.0
RMS-ESP32-1012000
Lancement du Wifi
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403779b6
SPIWP:0xee
modeBig GrinIO, clock div:1
load:0x3fce2820,len:0x1180
load:0x403c8700,len:0xc2c
load:0x403cb700,len:0x311c
entry 0x403c88b8
Booting

Avez vous une idée ?
Répondre

#5
Bonjour,

  les gpio proposés pour ESP32 ne sont pas compatible avec ESP32S3, notamment 

* certain gpio pour port série
* quasiment toutes les combinaisons de gpio analogique pour UxI 
* certaines combinaisons ZC et gachette triac
* certain gpio pour LED ou OLED
* certain gpio pour sonde température

  est ce qu'il y a quelques chose de connecté sur un de gpio qui participe au boot ou les gpios SPI qui accède à la mémoire flash ou PSRAM? [si c'était le cas, ce n'irai même pas jusqu'au lancement du WiFi]

  En 1ere approche : éviter les gpio 0,3,19,20,22 à 37, 45,46  [et 43(TX), 44(RX), réservé au port série par défaut]

  un premier démarrage sans rien de connecté ?

  un peu plus d'info sur votre config, votre câblage, sur le modèle de S3 ? 

  photos ?


+ vous pouvez remplacer 
Code :
OneWire oneWire(17);

par (sans le 17 entre parenthèses)

Code :
OneWire oneWire;

il n'y a pas de gpio associé au moment de réserver les variables et le gpio a utiliser est initialisé  lors de l'appel   .begin

Code :
oneWire.begin(pinTemp[pTemp]);
Merci André Smile ,
Routeur V16.00b (since V2.01) / 1xESP32 (IP fixe) / Source UxI / 5 actions
Panneaux 1680Wc
1 Triac : ECS 2000W
1 SSR (multi) : ECS 1800W
1 SSR (On-Off) : Circulateur plancher chauffant eau 50W
1 SSR (multi) : circuit d'eau 1500W
1 SSR (multi) : Ultime 2000W
Répondre

#6
Merci pour cette réponse rapide et complète. La carte n'était connectée à rien et ce soir ça fonctionne...
Je ne sais pas ce que j'ai fait (ou pas) avant pour que ça ne fonctionne pas. Toujours est il qu'avec ces informations sur la non compatibilités des pins, je vais donc pas utiliser la carte ESP32S3, je n'ai pas envie d'aller au devant de nouveaux problèmes.

Merci pour le travail de tous sur ce projet incroyable.
Répondre



Atteindre :


Utilisateur(s) parcourant ce sujet :
1 visiteur(s)

Moteur MyBB, © 2002-2025 Melroy van den Berg.