Bugs et comportements particuliers de l'IDE Arduino

Répondre
Avatar du membre
France ramasoft
Chef es bogies
Chef es bogies
Messages : 5864
Enregistré le : 29 juil. 2024, 19:06
Prénom : Patrick
LOCALISATION : Indre - Levroux
Centres d'intérêts : Modélisme ferroviaire
Programmation C++, VB6 et assembleur
Électronique
Echelle pratiquée : H0
Âge : 68
Pays :
France
France
sept. 2026 03 14:09

Bugs et comportements particuliers de l'IDE Arduino

Message par France ramasoft

:hellod:

J’ai ouvert ce fil car ce matin j’ai passé un bon moment à comprendre ce qui se passait. :gratte: :gratte:

Dans le code de mon panneau d’affichage publicitaire (que je présenterai plus tard) j’ai testé plusieurs écrans dont je dispose.
J'utilise la bibliothèque TFT_eSPI qui fonctionne avec un paramétrage externe dans un fichier User_Setup.h : j’avais expliqué ça dans la vidéo du panneau d’affichage en gare et aussi dans le sujet dédié sur le forum.

Donc ce matin, je passe sur les détails, je me suis aperçu que l'IDE Arduino (version 2.30.10) mémorisait, pour chaque sketch, la dernière configuration de carte utilisée (FQBN + options), indexée par le chemin/nom du dossier du sketch. Ce n'est pas un fichier visible dans le dossier du sketch lui-même : c'est stocké dans le cache interne de l'IDE
C:\Users\Administrateur\AppData\Local\arduino\sketches\<HASH>, où <HASH> est calculé à partir du chemin complet du sketch (dossier + nom de fichier) mais pas de son contenu. (l'emplacement sur le disque peut varier selon votre configuration mais c'est la situation lors d'une installation par défaut avec le compte Administrateur)

Chaque nom de dossier de sketch a donc « son historique de réglages » : type de carte, mais aussi et surtout un certain nombre de fichiers compilés sont réutilisés à chaque nouvelle compilation.
On s’en rend compte car la toute première compilation d’un nouveau code est plus longue que les suivantes.

Et donc si on crée ou renomme un sketch avec un nom déjà connu de l'IDE, elle réapplique les réglages associés à ce nom, et qui peuvent être différents des réglages qu’on pense avoir actifs. :siffle:


Je m’en suis aperçu car la compilation du même code mais l’un avec un nouveau nom (Panneau_Publicitaire_135x240_V1.30.ino) indiquait « Le croquis utilise 369417 octets » et ça fonctionnait, alors que le même code (identique à la virgule près, obtenu par copier/collé) mais avec un ancien nom compilé avec un mauvais User_Setup (Panneau_Publicitaire_135x240_V1.20.ino) indiquait « Le croquis utilise 369589 octets » et ça ne fonctionnait plus :gratte:

Donc j’ai demandé une sortie détaillée (« verbeuse » dans les préférences ») pour trouver les différences et j’ai trouvé ces lignes qui indiquent clairement que le compilateur réutilise des parties anciennement compilées pour aller plus vite.

Utilisation du fichier déjà compilé: C:\Users\Administrateur\AppData\Local\arduino\sketches\B9ECFD2294AADECFD74B568B31D56789\sketch\Panneau_Publicitaire_135x240_V1.20.ino.cpp.o


Normalement l’IDE détecte les changements de configuration des cartes à condition que ça se fasse dans l’IDE, mais comme là on passe par un fichier externe User_Setup.h, ce n’est pas détecté.


La parade c’est de forcer un rebuild complet en vidant le cache :ouf
Il faut d’abord fermer l’IDE

Puis pour trouver le hash, il faut demander la sortie « verbeuse » et rechercher le hash qui revient à chaque ligne.
Capture d'écran 2026-09-03 134802.png
Ici le hash était B9ECFD2294AADECFD74B568B31D56789
Et on trouve un sous-dossier de ce nom dans C:\Users\Administrateur\AppData\Local\arduino\sketches\
Il faut supprimer le sous-dossier correspondant au hash affiché dans le log de compilation B9ECFD2294AADECFD74B568B31D56789).
Capture d'écran 2026-09-03 135031.png


Là on relance l’IDE et on peut recompiler proprement.

Pour trouver le hash on peut aussi reclasser la liste des sous-dossiers par date : ce sera le plus récent. Et en ouvrant le dossier \Sketch on voit tout de suite si le nom correspond bien et on efface tout.

Capture d'écran 2026-09-03 135039.png
Capture d'écran 2026-09-03 141334.png

Et voilà ... le résultat d'une matinée perdue :pompom:
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par France ramasoft le 03 sept. 2026, 14:29, modifié 3 fois.
Avatar du membre
France ramasoft
Chef es bogies
Chef es bogies
Messages : 5864
Enregistré le : 29 juil. 2024, 19:06
Prénom : Patrick
LOCALISATION : Indre - Levroux
Centres d'intérêts : Modélisme ferroviaire
Programmation C++, VB6 et assembleur
Électronique
Echelle pratiquée : H0
Âge : 68
Pays :
France
France
sept. 2026 03 14:20

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France ramasoft

La deuxième trouvaille concerne l'accès aux paramètres cachés de l'IDE.
En effet, au delà de la petite fenêtre des préférences, on peut modifier plein d'autres paramètres.

Attention: ne pas faire n'importe quoi car il n'y a pas de retour en arrière simple de prévu ...

Donc c'est comme dans l'aérien, la première règle qu'on apprend c'est "Bouton inconnu, touche à ton cul !" 😜
Ici c'est pareil, ne modifiez que ce que vous maîtrisez et ne modifiez qu'un seul paramètre à la fois en testant le comportement sur plusieurs jours.

Donc on accède à cette fenêtre par la combinaison de touches Ctrl + Shift + P

On peut rechercher des paramètres en tapant un nom dans la barre de recherche et tout ce qui contient le terme sera listé.
Capture d'écran 2026-09-03 120201.png
Capture d'écran 2026-09-03 120225.png
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Avatar du membre
France likiki
Site Admin
Site Admin
Messages : 17068
Enregistré le : 27 févr. 2021, 16:11
Prénom : Christian
LOCALISATION : Ile de France
Centres d'intérêts : Le train miniature (H0 3R), l'impression 3D
Echelle pratiquée : H0
Âge : 59
Pays :
France
France
sept. 2026 03 14:32

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France likiki

Haaaaaa ! :gratte: :gratte: :gratte: :gratte: :gratte:

Voilà pourquoi j'ai eu des merd..

Par contre, si tu fait un "enregistré sous" ? Un nouveau HASH sera créé a la première compile, non ?
Si le Goëland se gratte le gland, il fera mauvais temps,
Si il se gratte le cul, il ne fera pas beau non plus.

Proverbe de là bas.

ImageImageImage

:tirechap:

.
Si vous souhaitez faire un don pour le forum , c'est ici.
Avatar du membre
France C2Vues-BricoTrain
2000 posts et +
2000 posts et +
Messages : 9604
Enregistré le : 08 mars 2024, 11:45
Prénom : Fernando
LOCALISATION : Clamart
Centres d'intérêts : Modélisme Ferroviaire - Échelles N et HO
Images IA
Echelle pratiquée : N
Âge : 74
Pays :
France
France
sept. 2026 03 14:37

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France C2Vues-BricoTrain

ramasoft a écrit : 03 sept. 2026, 14:20 La deuxième trouvaille concerne l'accès aux paramètres cachés de l'IDE.

Donc c'est comme dans l'aérien, la première règle qu'on apprend c'est "Bouton inconnu, touche à ton cul !" 😜
:hhhaaaa: :hhhaaaa: :hhhaaaa: :hhhaaaa: :hhhaaaa: :mdr:

Je ne connaissais pas cette expression.
C'est vrai que j'étais dans l'armée de terre dans les transmissions...

Nous, c'était plutôt la phrase suivante (affichée en dehors du fort :mdr3: ) :

"Civils, ne jetez plus vos vieux vélos, l'armée à besoin de cadres !" :mdr1:

:tire langue

...
Pour me retrouver sur ma chaîne :
https://youtube.com/@c2vues-bricotrain? ... VpM6qhmP2u

Quand trop gentil, tu seras,
Dans le côté sombre, tu l'auras !

Yoda
Maître Jedi dans Star Wars
Avatar du membre
France ramasoft
Chef es bogies
Chef es bogies
Messages : 5864
Enregistré le : 29 juil. 2024, 19:06
Prénom : Patrick
LOCALISATION : Indre - Levroux
Centres d'intérêts : Modélisme ferroviaire
Programmation C++, VB6 et assembleur
Électronique
Echelle pratiquée : H0
Âge : 68
Pays :
France
France
sept. 2026 03 14:39

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France ramasoft

Dans les version 1.x les préférences étaient dans un fichier texte préférences.txt et il y avait la variable: compiler.cache.enabled qu'on pouvait mettre à false pour obliger le compilateur à tout recompiler à chaque fois. C'était plus long mais aussi plus sûr.
Mais dans la version 2.x ça semble avoir disparu.
Avatar du membre
France ramasoft
Chef es bogies
Chef es bogies
Messages : 5864
Enregistré le : 29 juil. 2024, 19:06
Prénom : Patrick
LOCALISATION : Indre - Levroux
Centres d'intérêts : Modélisme ferroviaire
Programmation C++, VB6 et assembleur
Électronique
Echelle pratiquée : H0
Âge : 68
Pays :
France
France
sept. 2026 03 14:49

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France ramasoft

likiki a écrit : 03 sept. 2026, 14:32 Haaaaaa ! :gratte: :gratte: :gratte: :gratte: :gratte:

Voilà pourquoi j'ai eu des merd..

Par contre, si tu fait un "enregistré sous" ? Un nouveau HASH sera créé a la première compile, non ?
Oui, à condition que le nom n'ai jamais été utilisé et dont qu'il n'y ait pas de hash de ce nom.

C'est ça qui m'a fait tourner en bourrique un moment car j’effaçais le dossier de la version 1.20 et je faisais "sauvegarder sous" avec le nom qui avait déjà servi ... et ça ne marchait pas, le lecteur de carte SD ne s'initialisait plus.
C'est alors que j'ai eu l"idée de faire un nom avec version 1.30 et là le même code à la virgule près fonctionnait. D'où les investigations menées ensuite...
Modifié en dernier par France ramasoft le 03 sept. 2026, 14:50, modifié 1 fois.
Avatar du membre
France bunny94
2000 posts et +
2000 posts et +
Messages : 15503
Enregistré le : 22 sept. 2021, 08:35
Prénom : Alain
LOCALISATION : Noiseau
Centres d'intérêts : Photo-Vidéo-Modélisme ferroviaire-Trains réels-Impression 3D-Miniature automobile 1/43ème
Echelle pratiquée : H0
Âge : 75
Pays :
France
France
sept. 2026 03 14:50

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France bunny94

Une autre expression militaire:
Dans la marine tu salues tout ce qui bouge et tu peints tout le reste. :mdr1: :mdr3:
Pour me retrouver sur ma chaîne YT: https://www.youtube.com/@abunny94/videos
Avatar du membre
France ramasoft
Chef es bogies
Chef es bogies
Messages : 5864
Enregistré le : 29 juil. 2024, 19:06
Prénom : Patrick
LOCALISATION : Indre - Levroux
Centres d'intérêts : Modélisme ferroviaire
Programmation C++, VB6 et assembleur
Électronique
Echelle pratiquée : H0
Âge : 68
Pays :
France
France
sept. 2026 03 14:51

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France ramasoft

Là, c'est ce qu'on apprend à la toute première leçon de pilotage.
La 2eme chose qu'on apprend s'est à s'asseoir correctement et à bien se sangler et j'y pense à chaque fois que je monte en voiture car j'ai l'habitude de tester la retenue de la ceinture de sécurité pour voir si elle bloque bien.
Avatar du membre
France Amigorl
Posteur irrécupérable
Posteur irrécupérable
Messages : 990
Enregistré le : 02 févr. 2025, 20:15
Prénom : Rémy
LOCALISATION : Pau
Centres d'intérêts : Digitalisation matériel ancien, construction d'un réseau HO. Arduino, Dccex-Conmmand-Station, Rocrail, Digitalisation pont tournant Jouef, Decodeur accessoires DIY. 3D PLA et débutant SLA.
Echelle pratiquée : H0
Âge : 64
Pays :
France
France
sept. 2026 04 18:10

Re: Bugs et comportements particuliers de l'IDE Arduino

Message par France Amigorl

:merciiii: pour toutes ces informations utiles pour les IDE Arduino. :PetitPoucejpg:
Répondre

Retourner vers « Arduino et le train miniature »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité