Soucis avec l'ESP32

OzyXel
Messages : 20
Enregistré le : 08 déc. 2019 20:13

Soucis avec l'ESP32

Message par OzyXel »

Bonjour
J'ai enfin pu me remettre sur la machine.
Après quelques petites déboires de câblage elle fonctionne enfin 🙂
Enfin presque.
J'ai voulu tester un fichier depuis une SD et j'ai eu le message " Échec montage SD " (quelque chose du genre)...
( Essai de 3 cartes SD différentes dans 4 adaptateurs différents...)
Après avoir un peu fouillé sur le forum et le net j'ai voulu tenter de re flasher l'ESP32...
Malheureusement lorsque je le branche à l'ordi j'ai l'impression qu'il est mourru, il n'y a qu'une led rouge qui clignote trois fois puis rien, l'ordi ne le détecte pas.
J'ai quand même voulu m'avancer un peu en attendant d'en recevoir un autre si nécessaire et donc recompiler le firmware avec arduino (en suivant pas à pas la notice de montage) et je me retrouve avec une erreur :

Code : Tout sélectionner

draw.cpp:57:8: error: 'SdFat32' does not name a type
 extern SdFat32 sd;  // is created in ino file
exit status 1
'SdFat32' does not name a type
Arduino : 1.8.15 (Windows 7), Carte : "ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"
browser.cpp:21:8: error: 'SdFat32' does not name a type
extern SdFat32 sd;
^
browser.cpp:35:1: error: 'File32' does not name a type
File32 root ; // used for Directory
^
draw.cpp:57:8: error: 'SdFat32' does not name a type
extern SdFat32 sd; // is created in ino file
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: In function 'boolean checkWifiOnSD()':
browser.cpp:194:14: error: 'sd' was not declared in this scope
if ( ! sd.begin(SD_CHIPSELECT_PIN , SD_SCK_MHZ(5)) ) {
^
browser.cpp:199:14: error: 'sd' was not declared in this scope
if ( ! sd.exists( "/" ) ) { // check if root exist
^
browser.cpp:203:14: error: 'sd' was not declared in this scope
if ( ! sd.chdir( "/" ) ) {
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: In function 'boolean checkSd()':
browser.cpp:312:10: error: 'sd' was not declared in this scope
if ( ! sd.begin(SD_CHIPSELECT_PIN , SD_SCK_MHZ(5)) ) {
^
browser.cpp:316:10: error: 'sd' was not declared in this scope
if ( ! sd.exists( "/" ) ) { // check if root exist
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: In function 'void DownloadFile(String)':
browser.cpp:352:9: error: 'sd' was not declared in this scope
if (sd.exists( filename.c_str() ) ) {
^
browser.cpp:354:7: error: 'File32' was not declared in this scope
File32 download ;
^
browser.cpp:355:7: error: 'download' was not declared in this scope
download = sd.open( filename.c_str() );
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: At global scope:
browser.cpp:383:1: error: 'File32' does not name a type
File32 UploadFile;
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: In function 'void handleFileUpload()':
browser.cpp:393:9: error: 'sd' was not declared in this scope
sd.remove(filename.c_str()); // Remove a previous version, otherwise data is appended the file again
^
browser.cpp:394:9: error: 'UploadFile' was not declared in this scope
UploadFile.close() ;
^
browser.cpp:405:12: error: 'UploadFile' was not declared in this scope
if(UploadFile) {
^
browser.cpp:412:12: error: 'UploadFile' was not declared in this scope
if(UploadFile && ( errorWhileUploading == false) ) // If the file was successfully created
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: In function 'void sd_dir()':
browser.cpp:434:5: error: 'root' was not declared in this scope
root.close() ;
^
browser.cpp:435:12: error: 'sd' was not declared in this scope
root = sd.open("/");
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: In function 'void printDirectory(const char*, uint8_t)':
browser.cpp:459:3: error: 'File32' was not declared in this scope
File32 root1 = sd.open(dirname);
^
browser.cpp:462:7: error: 'root1' was not declared in this scope
if(!root1){
^
browser.cpp:466:7: error: 'root1' was not declared in this scope
if(!root1.isDir()){
^
browser.cpp:470:3: error: 'root1' was not declared in this scope
root1.rewind();
^
browser.cpp:472:10: error: expected ';' before 'file1'
File32 file1 ;
^
browser.cpp:473:9: error: 'file1' was not declared in this scope
while(file1.openNext(&root1)){
^
browser.cpp:499:3: error: 'file1' was not declared in this scope
file1.close();
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\browser.cpp: In function 'void SD_file_delete(String)':
browser.cpp:513:5: error: 'File32' was not declared in this scope
File32 dataFile = sd.open( filename.c_str() ); // 
browser.cpp:514:9: error: 'dataFile' was not declared in this scope
if (dataFile) {
^
browser.cpp:515:11: error: 'sd' was not declared in this scope
if (sd.remove( filename.c_str() )) {
^
E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32\draw.cpp: In function 'boolean checkCalibrateOnSD()':
draw.cpp:1719:14: error: 'sd' was not declared in this scope
if ( ! sd.begin(SD_CHIPSELECT_PIN , SD_SCK_MHZ(5)) ) {
^
draw.cpp:1724:14: error: 'sd' was not declared in this scope
if ( ! sd.exists( "/" ) ) { // check if root exist
^
draw.cpp:1728:14: error: 'sd' was not declared in this scope
if ( ! sd.chdir( "/" ) ) {
^
grbl_controller_esp32:132:1: error: 'SdFat32' does not name a type
SdFat32 sd;
^
Plusieurs bibliothèque trouvées pour "WiFi.h"
Utilisé : C:\Users\Xel\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Non utilisé : E:\Imp 3D\CNC RS-CNC32\Firmware\arduino-1.8.15-windows\arduino-1.8.15\libraries\WiFi
exit status 1
'SdFat32' does not name a type
Quelques screenshots de la config :
Image
Image
Image

J'ai pourtant bien installé la librairie SDFat et je ne me souviens pas avoir miséré tant que ça la première fois :x
Quelqu'un saurait-il me dépatouiller ?
Grand merci par avance :)
Avatar du membre
HTheatre
Messages : 5961
Enregistré le : 31 mars 2019 08:21
Localisation : Rivesaltes

Re: Soucis avec l'ESP32

Message par HTheatre »

Bonjour OzyXel,

Tout d'abord, désolé, car si tu n'es pas parvenu à reflasher le firmware de l'ESP-32 c'est ma faute. Je n'ai pas encore mis à jour la notice de montage et malheureusement, la procédure que j'y décris n'est plus compatible avec la dernière version du firmware du TFT.

Pour reflasher ton ESP-32, je t'invite à regarder la vidéo que j'ai réalisée à cet effet. Elle est ici.

Je ne pense pas toutefois pas que ton problème de reconnaissance de la SD vienne du firmware. Est-ce que tu retires et remets régulièrement la SD de/dans son slot ? Cela peut-être une cause, si cela fonctionnait avant. Ces slots sont fragiles. C'est pour cela qu'il vaut mieux déposer les fichiers sur la SD via le wifi.

Enfin, ton ESP-32 se comporte normalement quand tu le connectes à ton PC. La diode rouge clignote 3 fois, ce qui est parfaitement normal, lorsqu'un firmware est déjà présent à l'intérieur. Lorsqu'il est vide, en revanche, la même diode clignote indéfiniment. Par contre, à la connexion, tu dois entendre le ding-dong caractéristique de Windows lors de la connexion d'un appareil à un port USB du PC. Enfin, ton ESP-32 doit apparaître dans le gestionnaire de périphériques sous "Ports (COM et LPT)". Il me semble que je le montre dans la vidéo.

Enfin, je t'invite à également regarder cette autre vidéo pour réaliser tes propres icônes, au moins pour pouvoir affecter des icônes à tes boutons de commandes personnalisées, si tu le souhaites.

@+
OzyXel
Messages : 20
Enregistré le : 08 déc. 2019 20:13

Re: Soucis avec l'ESP32

Message par OzyXel »

HTheatre a écrit : 01 juin 2021 02:48 Bonjour OzyXel,

Tout d'abord, désolé, car si tu n'es pas parvenu à reflasher le firmware de l'ESP-32 c'est ma faute. Je n'ai pas encore mis à jour la notice de montage et malheureusement, la procédure que j'y décris n'est plus compatible avec la dernière version du firmware du TFT.
Bonjour, merci de ta réponse et franchement t'as pas d'excuses à faire vu la super notice que tu nous a proposé :o

HTheatre a écrit : 01 juin 2021 02:48
Je ne pense pas toutefois pas que ton problème de reconnaissance de la SD vienne du firmware. Est-ce que tu retires et remets régulièrement la SD de/dans son slot ? Cela peut-être une cause, si cela fonctionnait avant. Ces slots sont fragiles. C'est pour cela qu'il vaut mieux déposer les fichiers sur la SD via le wifi.
Le soucis c'est que ça n'a jamais fonctionné, c'était mon premier test de fraisage avec cette machine donc le slot SD du TFT était "vierge"...
Là où se trouve la machine il n'y a ni ordinateur ni internet donc le wifi c'est compliqué.

HTheatre a écrit : 01 juin 2021 02:48 Pour reflasher ton ESP-32, je t'invite à regarder la vidéo que j'ai réalisée à cet effet. Elle est ici.

Enfin, ton ESP-32 se comporte normalement quand tu le connectes à ton PC. La diode rouge clignote 3 fois, ce qui est parfaitement normal, lorsqu'un firmware est déjà présent à l'intérieur. Lorsqu'il est vide, en revanche, la même diode clignote indéfiniment. Par contre, à la connexion, tu dois entendre le ding-dong caractéristique de Windows lors de la connexion d'un appareil à un port USB du PC. Enfin, ton ESP-32 doit apparaître dans le gestionnaire de périphériques sous "Ports (COM et LPT)". Il me semble que je le montre dans la vidéo.
Je vais réessayer aujourd'hui, déjà voir si Windows veut bien de nouveau me le reconnaître (le fameux ding-dong)... et ensuite la procédure de flashage, en espérant que ça règle ce désagréable soucis. Merci beaucoup pour la vidéo ;)

Ps : j'ai vérifié les soudures et ça m'a l'air "ok".
OzyXel
Messages : 20
Enregistré le : 08 déc. 2019 20:13

Re: Soucis avec l'ESP32

Message par OzyXel »

Je viens de réessayer, bon la "bonne" nouvelle c'est que l'ESP est bien reconnu par mon ordi lorsque je le branche (soucis de câble usb).

En revanche, lorsque je veut vérifier le croquis dans Arduino, j'ai toujours le message d'erreur :

Code : Tout sélectionner

Arduino : 1.8.15 (Windows 7), Carte : "ESP32 Dev Module, Disabled, Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"





















browser.cpp:21:8: error: 'SdFat32' does not name a type

 extern SdFat32 sd;

        ^

browser.cpp:35:1: error: 'File32' does not name a type

 File32 root ; // used for Directory 

 ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: In function 'boolean checkWifiOnSD()':

browser.cpp:194:14: error: 'sd' was not declared in this scope

       if ( ! sd.begin(SD_CHIPSELECT_PIN , SD_SCK_MHZ(5)) ) {  

              ^

browser.cpp:199:14: error: 'sd' was not declared in this scope

       if ( ! sd.exists( "/" ) ) { // check if root exist   

              ^

browser.cpp:203:14: error: 'sd' was not declared in this scope

       if ( ! sd.chdir( "/" ) ) {

              ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: In function 'boolean checkSd()':

browser.cpp:312:10: error: 'sd' was not declared in this scope

   if ( ! sd.begin(SD_CHIPSELECT_PIN , SD_SCK_MHZ(5)) ) {  

          ^

browser.cpp:316:10: error: 'sd' was not declared in this scope

   if ( ! sd.exists( "/" ) ) { // check if root exist 

          ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: In function 'void DownloadFile(String)':

browser.cpp:352:9: error: 'sd' was not declared in this scope

     if (sd.exists( filename.c_str() ) ) {

         ^

browser.cpp:354:7: error: 'File32' was not declared in this scope

       File32 download ;

       ^

browser.cpp:355:7: error: 'download' was not declared in this scope

       download = sd.open( filename.c_str() );

       ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: At global scope:

browser.cpp:383:1: error: 'File32' does not name a type

 File32 UploadFile;

 ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: In function 'void handleFileUpload()':

browser.cpp:393:9: error: 'sd' was not declared in this scope

         sd.remove(filename.c_str());                  // Remove a previous version, otherwise data is appended the file again

         ^

browser.cpp:394:9: error: 'UploadFile' was not declared in this scope

         UploadFile.close() ;

         ^

browser.cpp:405:12: error: 'UploadFile' was not declared in this scope

         if(UploadFile) { 

            ^

browser.cpp:412:12: error: 'UploadFile' was not declared in this scope

         if(UploadFile && ( errorWhileUploading == false) )          // If the file was successfully created

            ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: In function 'void sd_dir()':

browser.cpp:434:5: error: 'root' was not declared in this scope

     root.close() ;

     ^

browser.cpp:435:12: error: 'sd' was not declared in this scope

     root = sd.open("/");

            ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: In function 'void printDirectory(const char*, uint8_t)':

browser.cpp:459:3: error: 'File32' was not declared in this scope

   File32 root1 = sd.open(dirname);

   ^

browser.cpp:462:7: error: 'root1' was not declared in this scope

   if(!root1){

       ^

browser.cpp:466:7: error: 'root1' was not declared in this scope

   if(!root1.isDir()){

       ^

browser.cpp:470:3: error: 'root1' was not declared in this scope

   root1.rewind();

   ^

browser.cpp:472:10: error: expected ';' before 'file1'

   File32 file1 ;

          ^

browser.cpp:473:9: error: 'file1' was not declared in this scope

   while(file1.openNext(&root1)){

         ^

browser.cpp:499:3: error: 'file1' was not declared in this scope

   file1.close();

   ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\browser.cpp: In function 'void SD_file_delete(String)':

browser.cpp:513:5: error: 'File32' was not declared in this scope

     File32 dataFile = sd.open( filename.c_str() ); //  

     ^

browser.cpp:514:9: error: 'dataFile' was not declared in this scope

     if (dataFile) {

         ^

browser.cpp:515:11: error: 'sd' was not declared in this scope

       if (sd.remove( filename.c_str() )) {

           ^

grbl_controller_esp32:132:1: error: 'SdFat32' does not name a type

 SdFat32 sd;

 ^

draw.cpp:57:8: error: 'SdFat32' does not name a type

 extern SdFat32 sd;  // is created in ino file

        ^

E:\Imp 3D\CNC RS-CNC32\Firmware\grbl_controller_esp32-master\grbl_controller_esp32-master\grbl_controller_esp32\draw.cpp: In function 'boolean checkCalibrateOnSD()':

draw.cpp:1719:14: error: 'sd' was not declared in this scope

       if ( ! sd.begin(SD_CHIPSELECT_PIN , SD_SCK_MHZ(5)) ) {  

              ^

draw.cpp:1724:14: error: 'sd' was not declared in this scope

       if ( ! sd.exists( "/" ) ) { // check if root exist   

              ^

draw.cpp:1728:14: error: 'sd' was not declared in this scope

       if ( ! sd.chdir( "/" ) ) {

              ^

Plusieurs bibliothèque trouvées pour "SdFat.h"

Utilisé : C:\Users\Xel\Documents\Arduino\libraries\SdFat

Non utilisé : C:\Users\Xel\Documents\Arduino\libraries\SdFat-2.0.6

Plusieurs bibliothèque trouvées pour "WiFi.h"

Utilisé : C:\Users\Xel\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi

Non utilisé : E:\Imp 3D\CNC RS-CNC32\Firmware\arduino-1.8.15-windows\arduino-1.8.15\libraries\WiFi

exit status 1

'SdFat32' does not name a type



Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.
Donc je ne sais pas trop quoi faire...
Je vais tenter de désinstaller complétement Arduino et le réinstaller mais je doute.
OzyXel
Messages : 20
Enregistré le : 08 déc. 2019 20:13

Re: Soucis avec l'ESP32

Message par OzyXel »

Je continue l'aventure.
J'ai finalement désinstallé complétement Arduino et repris depuis le début, tout s'est bien passé pour le flashage du firmware du tft.
Malheureusement j'ai toujours le message d'erreur de montage de la carte SD...
J'ai contrôlé les soudures avec l'ohmmètre et j'ai bien la continuité donc là je ne sais plus trop quoi faire mise à part racheter un ensemble.
Quelqu'un aurait une astuce de dernière minute :D ?
Avatar du membre
HTheatre
Messages : 5961
Enregistré le : 31 mars 2019 08:21
Localisation : Rivesaltes

Re: Soucis avec l'ESP32

Message par HTheatre »

OzyXel a écrit : 01 juin 2021 14:58 Je continue l'aventure.
J'ai finalement désinstallé complétement Arduino et repris depuis le début, tout s'est bien passé pour le flashage du firmware du tft.
Malheureusement j'ai toujours le message d'erreur de montage de la carte SD...
J'ai contrôlé les soudures avec l'ohmmètre et j'ai bien la continuité donc là je ne sais plus trop quoi faire mise à part racheter un ensemble.
Quelqu'un aurait une astuce de dernière minute :D ?
Malheureusement il y a de grandes chances que ce soit le slot qui se trouve derrière l'écran lui même qui ait un souci. Quelle version d'écran as-tu ? Elle est indiquée au dos de l'écran. C'est apparemment sur les v.2 qu'au moins 3 membres à ma connaissance ont rencontré le problème. Et pour couronner le tout, je n'en ai plus en stock pour te dépanner. Vu que leur prix a explosé, je n'en ai pas recommandé lorsque j'ai terminé d'écouler les derniers que j'avais. Au pire, je peux te dépanner d'un 4.0" avec les inconvénient que cela impliquera pour toi : le TFT_cover n'aura pas les bonnes dimensions pour recevoir l'écran 4.0", il faudra le relier à la carte adaptateur à l'aide de fils (la carte adaptateur n'étant pas non plus prévue pour accueillir un écran de cette taille), enfin, pour l'instant je n'ai pas encore terminé de dessiner toutes les icônes du 4.0" (il m'en manque 10 à dessiner), donc certains boutons s'afficheront sous la forme des boutons classiques à texte, que tu connaissais. A toi de me dire.

@+
OzyXel
Messages : 20
Enregistré le : 08 déc. 2019 20:13

Re: Soucis avec l'ESP32

Message par OzyXel »

Après une ultime tentative en piquant la carte sd de l'apn de madame ça a marché ! :shock: :o :roll:
4 cartes SD testées, bon en même temps tout le monde me dit que j'ai la poisse.

Donc j'ai pu réaliser mon premier test, le fameux carré-rond-diamant et malgré une petite erreur de ma part ça c'est bien passé :)
Il me reste à peaufiner l'installation de l'écran et de remplacer les câbles qui le relient avec des blindés et ce sera tout bon je pense. Je croise les doigts.
Avatar du membre
HTheatre
Messages : 5961
Enregistré le : 31 mars 2019 08:21
Localisation : Rivesaltes

Re: Soucis avec l'ESP32

Message par HTheatre »

Parfait !
OzyXel
Messages : 20
Enregistré le : 08 déc. 2019 20:13

Re: Soucis avec l'ESP32

Message par OzyXel »

Question bête mais il n'existe pas des câbles blindés avec connecteurs dupont "tout fait" ?
HTheatre a écrit : 01 juin 2021 18:48Parfait !
Encore un grand merci et un grand bravo pour ta notice ;)
Avatar du membre
HTheatre
Messages : 5961
Enregistré le : 31 mars 2019 08:21
Localisation : Rivesaltes

Re: Soucis avec l'ESP32

Message par HTheatre »

Bonjour OzyXel,
OzyXel a écrit : 03 juin 2021 11:07 Question bête mais il n'existe pas des câbles blindés avec connecteurs dupont "tout fait" ?
Ehhhhhh...non, car ces connecteurs ne sont pas prévu pour à la base. Déjà ce que nous faisons c'est du bidouillage : ce n'est pas un véritable blindage. Si tu fais quelques recherches sur internet, un véritable blindage entoure l'âme du câble depuis un bout à l'autre. Or le simple fait de torsader la tresse de blindage à quelques millimètre de la carte Grbl v.1.0 ou v.1.5 fait que l'on perd de l'efficacité du blindage du câble. En effet, dans notre cas, le blindage n'entoure pas l'âme du câble jusqu'à son raccordement à la carte Grbl v.1.0 ou v.1.5 sur les derniers millimètre.

Pour comparer, si tu as encore une bonne vieille antenne râteau ou une parabole sur le toit de la maison, tu remarqueras qu'il n'y a pas de tresse de blindage qui sort du câble qui arrive sur ta TV ou sur le démodulateur satellite: son blindage est en fait connecté à l'enveloppe métallique extérieure de la prise qui est branchée à ta TV ou au démodulateur.

D'ailleurs, sur les cartes Grbl v.2.0, la liaison entre les 2 cartes est également blindée au travers du câble RJ-45, et là encore, tu ne vois pas de tresse de blindage qui se ballade à l'extérieur du câble RJ-45: son blindage étant là encore connecté à l'enveloppe métallique extérieure des prises RJ-45.

@+
Répondre