10-04-2025, 06:40 PM
(02-04-2025, 11:36 PM)Raphael591 a écrit : Je vois que beaucoup profite de ce code, et fond des petits changements, c'est cool
Bonjour Raphaël,
Aujourd'hui je me suis donc penché sur ce problème que j'avais évoqué dans mon dernier post.
[Rappel]
André a introduit depuis la version 14.20 la possibilité d'ajouter un écran OLED de type SH1106 ou SSD1309, ce qui n'a néanmoins posé aucun souci particulier jusqu'à présent vis à vis de la cohabitation avec ton code, en particulier entre la librairie "LovyanGFX.hpp" utilisée désormais dans la version officielle du routeur, et la librairie "AdaFruit" que tu as choisi d'utiliser.
Mais la dernière mise à jour de la librairie ESP32 en version v3.2.0 a introduit un conflit sur la gestion du bus I2C qui gère l'écran OLED. Ce conflit se traduit par un plantage pur et simple de l'ESP32 dès son démarrage suivi d'un reboot, et ce même s'il n'y a aucune erreur reportée au stade de la compilation.
[Fin du rappel]
J'avais tout d'abord travaillé à résoudre ce problème en éliminant les parties du code sources d'André qui posaient problème, c'est à dire éliminer tout appel à la bibliothèque LovyanGFX. Ça fonctionne, mais ce n'est pas très satisfaisant en fait, car cela oblige à modifier en profondeur le code source original d'André. Pas terrible pour adapter les futures évolutions de ce code donc...
J'ai donc pris le problème à l'envers (et j'aurai dû commencer par ça d'ailleurs...). J'ai repris ton code source, et je l'ai adapté pour que les écrans utilisent cette librairie LovyanGFX.
Ainsi, il n'y a plus de conflits ni de reboot, tout refonctionne parfaitement. Il n'y a donc plus qu'une seule librairie de référence pour gérer les écrans OLED (librairie que d'ailleurs je trouve plus pratique...), et enfin ce sera forcément compatible avec les futures évolutions qu'André fera dans son propre code (du moins tant que ce sera cette librairie qui sera utilisée).
Aujourd'hui, je confirme donc un fonctionnement OK (testé) avec :
- Routeur solaire en v14.22,
- Bibliothèque ESP32 en v3.2.0.
- Ecrans OLED type SSH1106 et SSD1309 en 128x64 px.
Pour t'éviter de refaire tout ce travail, j'ai mis en .zip le code source ainsi modifié. Attention toutefois, il s'agit d'une version personnelle dérivée de la tienne, et que j'ai un peu adaptée à mes besoins.
_________________________________________________
Routeur Solaire en v14.22
Pilotage d'un cumulus de 3kW + Jeedom v4.4.19 + Station solaire 3,5kW
Routeur Solaire en v14.22
Pilotage d'un cumulus de 3kW + Jeedom v4.4.19 + Station solaire 3,5kW