16-06-2024, 09:33 AM
Bonjour,
Juste pour rebondir sur le message ci dessous, je confirme avoir eu le même souci qui s'est résolu en repassant de la version 3 à la version 2.0.17 de !a bibliothèque ESP pour la compilation du visualiseur à distance Power_Remote_Display_V9_DISP.
Arnaud PETER
31 mai 2024 à 8 h 11 min
Bonjour André,
J’ai passé une bonne partie de la soirée à comprendre le problème, voici mes differentes actions :
– installation de Arduino IDE vers 2.3.2 + differente librairies sur un autre PC :
* ArduinoJson by Benoit Blanchon 7.0.4
*DallasTemperature by Miles Burton 3.9.0
*OneWire by Jim Studt 2.3.7
*PubSubclient par Nick O’laery 2.8
*RemoteDebug PBy Joao Lopes 3.0.5
*TFT_eSPI by Bodmer 2.5.43
* UrlEncode par Masayuki 1.0.1
Dans Arduino/librairies/TFT_eSPI j’ai modifié User_Setup_Select.h :
* decommenté la ligne la ligne 58 : (supression des //) #include
* commenté la ligne 27 : (rajout des //) // #include
Et malheureusement j’ai exactement le meme problème lorsque je demande la compilation pour tester le programme :
» Compilation error: invalid conversion from ‘int’ to ‘const esp_task_wdt_config_t*’ [-fpermissive] »
Lorsque j’utilise une IA pour comprendre, la retour est le suivant :
« L’erreur se produit car la fonction esp_task_wdt_init attend un pointeur vers une structure esp_task_wdt_config_t, mais vous lui passez un entier (WDT_TIMEOUT). Pour corriger cela, vous devez créer une structure esp_task_wdt_config_t et la passer à la fonction.
Voici comment vous pouvez corriger le code :
Créez une instance de esp_task_wdt_config_t.
Initialisez cette structure avec les valeurs appropriées.
Passez un pointeur vers cette structure à esp_task_wdt_init. »
Code qu’il me propose
#include
#include // Assurez-vous d’inclure cette bibliothèque
WebServer server(80); // Simple Web Server on port 80
// Définir le temps limite de la Watchdog Timer
#define WDT_TIMEOUT 1800
void setup() {
// Votre code de configuration ici
// …
// Initialisation de la structure de configuration pour la WDT
esp_task_wdt_config_t wdt_config = {
.timeout_ms = WDT_TIMEOUT * 1000, // Convertir le temps en millisecondes
.panic = true, // Enable panic to restart ESP32
.idle_core_mask = ESP_TASK_WDT_IDLE_CORE_ALL
};
// Initialisation de la WDT avec la structure de configuration
esp_task_wdt_init(&wdt_config);
// …
}
void loop() {
// Votre code principal ici
// …
}
En test croisé, j’ai telechargé la version « Power_Remote_Display_V6_RMS », demandé a faire une compilation est la tout fonctionne …
Maintenant je n’ai clairement pas de compétence Arduino pour comprendre ce qu’il a faire…. Je pense qu’une librairie a été mise a jour generant un problème de code … je ne vois rien d’autre ?
Je suis navré de venir avec ce problème mais j’ai passé plusieurs heures déjà a comprendre, trouver des solutions etc …
Juste pour rebondir sur le message ci dessous, je confirme avoir eu le même souci qui s'est résolu en repassant de la version 3 à la version 2.0.17 de !a bibliothèque ESP pour la compilation du visualiseur à distance Power_Remote_Display_V9_DISP.
Arnaud PETER
31 mai 2024 à 8 h 11 min
Bonjour André,
J’ai passé une bonne partie de la soirée à comprendre le problème, voici mes differentes actions :
– installation de Arduino IDE vers 2.3.2 + differente librairies sur un autre PC :
* ArduinoJson by Benoit Blanchon 7.0.4
*DallasTemperature by Miles Burton 3.9.0
*OneWire by Jim Studt 2.3.7
*PubSubclient par Nick O’laery 2.8
*RemoteDebug PBy Joao Lopes 3.0.5
*TFT_eSPI by Bodmer 2.5.43
* UrlEncode par Masayuki 1.0.1
Dans Arduino/librairies/TFT_eSPI j’ai modifié User_Setup_Select.h :
* decommenté la ligne la ligne 58 : (supression des //) #include
* commenté la ligne 27 : (rajout des //) // #include
Et malheureusement j’ai exactement le meme problème lorsque je demande la compilation pour tester le programme :
» Compilation error: invalid conversion from ‘int’ to ‘const esp_task_wdt_config_t*’ [-fpermissive] »
Lorsque j’utilise une IA pour comprendre, la retour est le suivant :
« L’erreur se produit car la fonction esp_task_wdt_init attend un pointeur vers une structure esp_task_wdt_config_t, mais vous lui passez un entier (WDT_TIMEOUT). Pour corriger cela, vous devez créer une structure esp_task_wdt_config_t et la passer à la fonction.
Voici comment vous pouvez corriger le code :
Créez une instance de esp_task_wdt_config_t.
Initialisez cette structure avec les valeurs appropriées.
Passez un pointeur vers cette structure à esp_task_wdt_init. »
Code qu’il me propose
#include
#include // Assurez-vous d’inclure cette bibliothèque
WebServer server(80); // Simple Web Server on port 80
// Définir le temps limite de la Watchdog Timer
#define WDT_TIMEOUT 1800
void setup() {
// Votre code de configuration ici
// …
// Initialisation de la structure de configuration pour la WDT
esp_task_wdt_config_t wdt_config = {
.timeout_ms = WDT_TIMEOUT * 1000, // Convertir le temps en millisecondes
.panic = true, // Enable panic to restart ESP32
.idle_core_mask = ESP_TASK_WDT_IDLE_CORE_ALL
};
// Initialisation de la WDT avec la structure de configuration
esp_task_wdt_init(&wdt_config);
// …
}
void loop() {
// Votre code principal ici
// …
}
En test croisé, j’ai telechargé la version « Power_Remote_Display_V6_RMS », demandé a faire une compilation est la tout fonctionne …
Maintenant je n’ai clairement pas de compétence Arduino pour comprendre ce qu’il a faire…. Je pense qu’une librairie a été mise a jour generant un problème de code … je ne vois rien d’autre ?
Je suis navré de venir avec ce problème mais j’ai passé plusieurs heures déjà a comprendre, trouver des solutions etc …
- Arnaud PETER
31 mai 2024 à 9 h 46 min
Finalement j’ai trouvé … en changeant la version de la bibliothèque ESP de la version 3.00 à la version V2.0.17 cela refonctionne … probablement bug ..
Routeur Version : 11.00_RMS
Source des mesures de puissance : UxI
Source des mesures de puissance : UxI