J'ai reçu des ESP32-C3 Lolin-mini.
Ce sont des V1.0.0
antenne pcb intégrée
simple del (led) .
La dernière version est la V2.01 avec :
connecteur pour antenne, pas d'antenne PCB
WS2812B en remplacement de la del simple.
Bien regarder la photo avant de commander.
La programmation fonctionne parfaitement.
A la première programmation, pour faire entrer le micro en mode programmation il faut appuyer sur le bouton EN (RAZ) avec GPIO9 appuyé, les fois suivantes ce n'est plus la peine : ça se débrouille tout seul.
Le problème : je n'ai pas trouver le moyen pour envoyer des données directement sur l'USB.
Essais avec platformIO et aduino 2.01.
Arduino 2.0.1
Après avoir programmé le micro,L'IDE me dit de sélectionner un port pour le moniteur.
Je n'ai pas vu de moyen de donner cette information au moniteur.
PlatformIO :
Le seul renseignement que j'ai trouvé, c'est qu'à l'aide de l'utilitaire "menuconfig" il faut ajouter le paramètre suivant :
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG
Petit souci : ne trouvant pas de menuconfig j'ai fait des recherches sur ce menuconfig de pio et j'ai trouvé qu'il n'est pas disponible avec le framework arduino mais seulement avec ESP32-idf.
Je n'ai pas vraiment envie de bouffer deux IO pour connecter un adaptateur externe UART/USB, même si à priori, je n'en aurais besoin que pour la mise au point.
Quelqu'un aurait-il déjà été confronté à ce problème ?
Du peu que j'en ai vu la carte a l'air bien avec une documentation en net progrès.
Avec l'option "USB CDC On Boot' activée, j'utilise Serial.print() sans difficulté comme d'habitude.
(testé avec succès avec IDE 1.8.19 et IDE2.01, pas encore avec PlatformIO , je ne sais donc pas comment on y active l'USB série au démarrage. J'évite PIO pour les composants récents, il faut laisser le temps pour la prise en charge de leurs particularités)
La plupart du temps ma carte est sur /dev/ttyACM0.... parfois elle déménage sur /dev/ttyACM1 suité à uje manipulation superfleu de BP
Pas besoin de manipuler de BP pour flasher , le déclenchement automatique du bootloader est pris en charge par la liaison série sur USB natif
@ZX80 j'ai l'impression, avec les quelques codes testés (scan, envoi de données vers ThingSpeak...) que les problèmes mentionnés en février 2021 sont maintenant résolus
(la version 1 de cette carte avec une simple DEL sur GPIO 7, est bradée en ce moment)
@ZX80
Je n'en suis pas encore à utiliser le WiFI.
J'en suis à afficher les infos de la puce ESP : méfiance j'aime bien vérifier que quand on dit qu'il y a un ESP32-C3 FH4 que c'est bien un ESP32-C3 FH4.
-> Je refais un essai suite à ta réponse, j'avais bien l'option activée et honte à moi ou IDE facétieuse , cela fonctionne, aujourd'hui.
Par contre en sélectionant LOLIN C3 Mini
Quand je regarde le menu Outils->port
je lis : /dev/ttyACM0(DFRobot Beetle ESP32-C3)
Bon, c'est une lolin/Wemos mais si cela fonctionne ....
Je n'ai pas la solution avec platformIO, les capacités de l'autocompletion de platformIO/vscode sont quand même laaaaargement au dessus de celle d'arduino V2.
La plupart du temps quand cela m'arrive, c'est quand je déconnecte et reconnecte trop rapidement.
Le système Linux n'a pas le temps de libérer ACM0 et donc attribue le suivant ACM1.
Si j'attends quelques secondes de plus avant de reconnecter, je retrouve ACM0.
Rectification :
Avec l'IDE arduino V2 (ou l'ESP32-C3, ou les deux) c'est le bordel.
maintenant pour le port cela m'indique :
/dev/ttyACM0 (ESP32 S3 CAM LCD)
Si je fais une RAz (reset) pour relancer le programme l'IDE perds le port : il faut le resélectioner manuellement.
Suite des tests :
aucun problèmes (rencontrés à ce jour) pour faire des sorties à partir de loop()
dans setup() il faut (sur l'exemplaire que j'ai) placer un délai de 40 ms entre la ligne Serial.begin et le premier ordre Serial.print.
Le délai placé avant Serial.begin n'a aucune action, c'est bien entre Serial.begin et le premier Serial.print qu'il doit être.
Cela me rappelle le RP2040 pico que j'ai testé cet été.
Il y a probablement une explication technique (comme le temps nécessaire à la libération ou au retournement de la liaison USB/UART).
Placer un délai dans le setup n'est pas pénalisant, mais il faut le savoir.
Les info de la puce que j'ai obtenu :
ESP32 modèle puce = ESP32-C3 Rev 3
Nombre de cœurs 1 cœur(s)
Identification puce ID: 2299768
J'ai deux cartes info de la deuxième.
Identification puce ID: 2299768
Même identificateur, signification ?
Je me suis inscrit sur le forum https://community.platformio.org.
J'ai obtenu une réponse claire et rapide.
C'est du au choix fait par Wemos-Lolin pour la configuration de la carte.
Ajouter dans platformio.ini la ligne : board_flags = ARDUINO_USB_CDC_ON_BOOT=1
Inutile chez moi , j'ai été surpris de voir que ça fonctionne 'out of the box' sans cette ligne de configuration ajoutée dans platformio.ini, effet d'une mise à jour ?
mon fichier platformio.ini est actuellement minimal !
Peut-être une explication.
Je n'ai pas tout saisi mais dans un échange sur https://community.platformio.org j'ai cru comprendre qu'un interlocuteur a demandé le retrait d'une configuration par defaut qui l'empêchait de faire ce qu'il voulait.
Si c'est la raison ç'eu été mieux si cela avait été répercuté dans la documentation