Bonjour,
OS :Linux mint Arduino IDE 2.32 : sketch utilisant ILI9134 et différents capteurs : qualité de l'air, température etc... sortie sur l'écran et moniteur série.
Ce projet sur Raspberry Pi Pico ( original) fonctionne parfaitement sur usb, mais écran blanc et moniteur série vide, avec alimentation sur batterie. (pas de boot)
Le même sketch sur RP2040 Purple (même chipset) fonctionne parfaitement sur USB ET sur batterie le transfert (.uf2) s'opère correctement. (boot ok)
Il semblerait donc que le problème provienne du transfert sur la mémoire flash du pico qui
ne s'opère pas.
Malgré des heures de recherche sur le net et de multiples bidouilles, je n'ai rien trouvé.
Quelqu'un a une solution ?
Avec le Raspberry PI Pico :
Certes, quand la prise USB est branchée sur le PC, le code y est, et tout fonctionne comme prévus, mais ne persiste pas si je déconnecte la prise USB reliée au PC.
Si je connecte le powerbank 5V toujours avec le même câble, j'ai juste la rétro-led de l'afficheur allumée et rien sur moniteur série...
Par contre avec un RP2040 Purple 16 Mo, le même sketch, les mêmes capteurs, le même afficheur, le même câble USB (de données...), après compilation fonctionne sur connexion
au PC via câble USB; si je débranche du PC pour connexion au "powerbank" 5 V, là il y a reboot et fonctionne parfaitement sur batterie...
Pour être plus clair ( je l'espère...), on va dire que le fichier UF2 créé et transféré ne "persiste pas" si je débranche du PC le Raspberry PI Pico
PAR CONTRE tout est normal (PC ou batterie) avec un RP2040 Purple...
Concernant le code, il fonctionne parfaitement dans les deux cas (exactement le même code)
En effet, le code blink exemple "persiste" et fonctionne toujours sur batterie... (avec le Pico, puisqu'avec le rp2040 Purple tout a toujours été OK ...)
J'avais tenté de charger depuis le répertoire /temp le fichier .uf2 compilé de mon code sur le Pico. Taille de ce .UF2 : 192.2 Ko.
Et là j'ai dû effacer quelque chose d'essentiel car plus de boot possible. Mauvaise idée...
flash_nuke.uf2 a remis de l'ordre !
Je ne connais pas les propriétés du système de fichiers de la mémoire flash du Pico. je vais me documenter.
J'ai aussi regardé si des options dans "outils" permettaient de régler mon problème, sans succès
Re bonjour hbachetti.
Ce que tu dis est logique. Sauf que sur un RP2040 Purple 16Mo avec les mêmes composants, le même code fonctionne parfaitement et "persiste" dans la mémoire flash du purple et boot sur batterie, ce que je souhaite... (c'est légitime de l’espérer ).
Je ne vais pas m'acharner sur le sujet, Je ne fais pas de différence entre les deux MCU puisque le purple utilise le même chipset avec plus de mémoire flash et ça fonctionne...
Pico dans un tiroir... mais avant, un peu de MicroPython, histoire de voir si c'est mon environnement Arduino IDE qui pose problème avec Pico.
Je vais passer progressivement à l'ESP32 pour la communication...
Qu'en sais tu ? J'estime qu'il n'y a aucune chance qu'un codé flashé dans un quelconque µcontrôleur ne persiste pas, comme tu dis.
Il y a 100000 plus de chances que ce soit ton propre code qui soit en cause.
Code que tu ne publies pas ...
Ce n'est pas moi qui pourrais donner la solution, mais j'en profite pour faire, encore une fois, remarquer le refus de certains de se remettre en cause et de toujours chercher une explication dans le matériel défaillant.
Ca marche sur un et pas sur l'autre !
Cela ne veut pas dire que c'est obligatoirement un problème matériel.
Le matériel est garanti entre certaines limites.
Bien évidement le fabricant se prend des marges de sécurité.
Les marges réelles dépendent du lot de fabrication, si, volontairement ou non, tu as pris des libertés avec les spécifications techniques, il y aura des lots de fabrication qui "tomberont en marche par chance" et d'autres qui ne fonctionneront pas.
Nous savons que ce sujet est difficile. Ce n'est pas pour rien que dans le message d'accueil, nous demandons une liste complète du matériel, un lien vers les sites marchand et le code dans son intégralité.
D'abord message à hbachett : Merci pour ton attention. Merci pour tout.
Ensuite, message à 68tjs :
Je n'ai pas parlé de matériel défaillant, mais plutôt de paramétrage de mon environnement.
d'où tester le MCU "rétif" dans un autre environnement : MicroPython. Je ne l'ai pas encore fait.
Je n'ai pas envoyé mon code, d'abord parce qu'il fonctionne parfaitement sur la version MCU chinoise et que dans les deux cas, je n'ai ni d'erreur de code, ni de compilation.
Ceci dit, l'objet de ce message est une remarque sur la mise en forme de ton texte : les caractères en gras correspondent à un coup de gueule, voire même à des"aboiements"; Je n'imaginais pas être dans un chenil.
Si juste incriminer la source d'alimentation, ce n'est pas parler de matériel défaillant, je ne sais pas ce que c'est.
Pour le reste, tu fais comme tu veux et tu penses ce que tu veux. Je n'entre pas dans ce genre de discussion.
Par contre, je constate que demander de l'aide et ne pas fournir les informations demandées (le code par @hbachetti) est une méthode particulière.
Je précise bien : je ne juge pas, je constate.
PS : nous n'avons pas les mêmes références sur la netiquette : j'ai toujours lu que ce sont les lettres majuscules qui signifient une gueulante, pas les caractères gras.
Il faut quand même des formes graphiques pour mettre en évidence ce qui parait important à l'auteur. Parler d'une voix monocorde sans intonnation est pénible à entendre.
Les boots sont-ils identiques? Il y a peu de chance que le contenu de la flash soit disparu par contre rien ne dit si le boot démarre bien sur la flash
Donc il est probable que le problème ne soit pas du coté de la mémoire qui ne persisterais pas ?
C'est à dire, tu aurais le schéma des deux cartes pour que les experts puisse comparer ?
Tu peux effectivement faire ce test en plus, mais ne t'apportera pas plus d'information que le programme blink.
Je pense que tu te trompes, comme l'indique @68tjs il s'agit d'augmenter l'intonation, pour appuyer sur les informations importantes, voir un agacement, tout au plus.
Edit: si tu publié ton code, peut-être que cela donnerais des idées à certain