Katastrof avec les cœurs de l'ESP32

Bonjour à toutes et à tous,

En lisant des articles sur l'utilisation des cœurs 0 et 1 de l'ESP32, j'ai lu qu'utiliser le cœur 0 pour le WiFi pouvait décharger le cœur 1 qui a une grosse tâche à exécuter .. mais avec des risques d'instabilité.

Bon, je ne risque rien à essayer, je reviendrai à la configuration par défaut Events run On 1 et Arduino runs On 1 si cela ne fonctionne pas.

Effectivement, pour mon application de routeur photovoltaïque, ça s'est mal passé : les appels WiFi se passaient mal, l'ESP32 redémarrait sans cesse.

Je suis donc revenu à la configuration de base. Problème : ça fonctionne toujours aussi mal et ce, sur trois ESP32 différents. Je n'ose plus toucher mon quatrième qui est fonctionnel.

Bien que dans la configuration, celle par défaut s'affiche, j'ai l'impression que quelque chose ne s'est pas remis en place.

De l'OS Windows, je suis passé à mon OS Ubuntu dans lequel je n'avais pas changé la configuration. Ça n'a pas fonctionné mieux, ce qui tendrait à dire que le problème vient plutôt de l'ESP32 que de l'IDE.

Que faut-il faire pour revenir à une situation saine ?

  • Au niveau des ESP32 ?
  • Au niveau de l'IDE Arduino. Peut-on supprimer le gestionnaire de carte ESP32 et le réinstaller sans autre forme de procès ?

Cordialement.

Pierre.

RP2040 (W)
Je n'ai pas d'expérience avec juste des lectures ou du bidouillage ultra-basique, version sans wifi.

Avec la carte de base avec laquelle j'ai bricolé, les deux cœurs sont faciles à utiliser
setup0 / loop0
setup1 / loop1

Il y a la possibilité que des variables soient communes aux deux cœurs, je n'ai pas testé.

Le wifi est géré par un CI Infinéon, le microcontrôleur devrait être moins sollicité.