samedi 10 août 2019

Retirer des cartes inutiles dans les menus de l'IDE Arduino

C'était devenu ridicule: après avoir installé, par l'entremise du gestionnaire de carte, les fichiers nécessaires à la programmation du STM32, de l'ESP8266 et de l'ESP32, le menu "Type de carte" de mon IDE Arduino comportait un grand total de 131 items. Chaque fois que je désirais modifier le type de carte, je perdais un temps fou à localiser la bonne option parmi toutes celles qui m'étaient proposées.

Arduino Esplora? Adafruit Circuit Playground? Dongsen Tech Pocket 32? Je ne sais même pas ce que c'est! Dans les faits, je ne possède qu'environ une dizaine de modèles de cartes différents. La goutte qui a fait déborder le vase, c'est l'installation de l'ESP32, qui a ajouté un impressionnant choix de 57 nouvelles cartes au menu, alors que je n'en possède qu'une seule...

Heureusement, il est possible de faire en sorte que les cartes que je n'utilise jamais n'apparaissent pas dans le menu: la propriété "hide" dans les fichier "boards.txt".

La capture d'écran ci-dessous montre ce que j'ai obtenu en faisant une recherche de tous les fichiers "boards.txt" situés sur mon ordinateur. Un de ces fichiers a été généré lors de l'installation de l'IDE Arduino: il comporte la liste des cartes Arduino officielles. Un autre a été installé lorsque j'ai ajouté l'ESP32 par l'entremise du gestionnaire de cartes, puis un autre pour l'ESP8266, etc. Dans mon cas, certains de ces fichiers concernent plutôt Energia, qui est aussi installé sur cet ordinateur.


Ouvrons un de ces fichiers... Voici celui qui apparaît toujours en haut du menu, et qui contient la liste des cartes Arduino officielles, en commençant par l'Arduino Yún.



Le fichier fait la liste de différents paramètres concernant l'Arduino Yún : yun.name, yun.upload.via_ssh, yun.upload.tool, yun.upload.speed, etc.

Supposons que je ne possède pas de carte Yún (ce qui n'est vraiment pas difficile à supposer puisqu' effectivement je ne possède pas de carte Yún) et que je souhaite qu'elle n'apparaisse plus dans le menu, je peux ajouter l'expression suivante, sur sa propre ligne: "yun.hide=" (sans les guillemets).



Le résultat, après avoir enregistré ce fichier "boards.txt" et redémarré l'IDE Arduino, c'est un menu "Type de carte" qui ne comporte plus l'Arduino Yún.


Un aspect intéressant de cette méthode, c'est que je n'ai effacé aucune information des fichiers. Si un jour je me procure une carte Yún, il s'agit de commenter ou d'effacer l'instruction "yun.hide=" pour que la carte réapparaisse dans le menu.

J'ai donc ajouté un "hide" à toutes les cartes de ce fichier que je ne désirais plus voir dans le menu. Je les ai placées toutes ensemble, à la fin du fichier, ce sera plus facile de faire des modifications en cas de besoin. J'ai aussi gardé la liste dans un autre fichier, au cas où ce serait à recommencer suite à une mise à jour de carte.



J'ai fait la même chose dans le fichier "boards.txt" réservé aux cartes ESP32, celui réservé aux cartes ESP8266, etc.

Voici finalement mon nouveau menu "Type de cartes" personnalisé, visible au complet:



Yves Pelletier   (TwitterFacebook)

3 commentaires:

  1. Génial !
    On gagne en rapidité également.

    RépondreSupprimer
  2. Une réserve toutefois, dès qu'une mise à jour est faites, les cartes réapparaissent.

    RépondreSupprimer