URL: https://linuxfr.org/users/alberic89/journaux/tuto-compiler-marlin-sur-le-raspberry-pi-special-ender-3 Title: [Tuto] Compiler Marlin sur le Raspberry Pi (spécial Ender-3) Authors: alberic89 🐧 Date: 2023年02月14日T18:13:44+01:00 License: CC By-SA Tags: impression_3d Score: 6 Bonjour très cher Nal, Si je t'écris aujourd'hui, c'est pour te raconter comment j'ai réussi à compiler Marlin pour mon imprimante 3d, sur mon Raspberry Pi. (Pour info, Marlin est un firmware très utilisé pour les imprimantes 3d, sous licence GPL.) Puisse ce journal servir aux générations futures. Ce tuto/journal prend comme exemple une Ender-3 v4.2.2 de Creality, avec un CR Touch. Adaptez bien la configuration à votre imprimante. Votre imprimante doit supporter les mises à jour de firmware par carte SD, câble USB, Wi-Fi, ... et disposer d'une carte mère 32 bit. Certaines imprimantes comme l'Ender-3 1.1.4 nécessitent une carte Arduino et des tas de choses spécifiques. On émet l'hypothèse que vous allez lire **tout** le tuto avant d'essayer de le reproduire. Nécessaire =========== - Le nom du fabricant de votre imprimante (Creality) - Le modèle de votre imprimante (Ender-3) - La révision de la carte mère (v4.2.2) - Le chipset de la carte mère (STM32F103RET6) - Visual Studio Code (pleurez mes enfants, mais je n'ai pas pu faire sans), installable avec `sudo apt install code` - L'extension PlatformIO, installable depuis VSCode, dans l'onglet extension, un logo avec une tête de fourmis orange - L'extension Marlin Auto Build, un logo bleu-vert avec un narval - Le code source Marlin, téléchargeable [ici](https://marlinfw.org/meta/download/) - Les fichiers de configuration qui vont avec. Vous aurez besoin de plusieurs Go de libre, genre 2 ou 3, pour l'installation et la compilation. Téléchargement des sources =========== Vous avez le choix entre plusieurs versions de Marlin : - Release - LTS - Nightly - Bugfixe Personnellement, je recommande la Release, sauf si vous rencontrez des erreurs, alors essayez la Bugfixe. Une fois votre version choisie, allez à la [page de téléchargement de Marlin](https://marlinfw.org/meta/download/), cliquez sur le lien dans la colonne `Download`, puis dans celui de la colonne `Configurations`. Vous vous retrouvez sur un repos GitHub, cliquez sur le bouton vert ` Code` → `Download ZIP`. Extrayez les deux archives : - Pour le code source, renommez le dossier Marlin-x.x.x dans lequel vous avez tous les dossiers et fichiers en `MARLINFIRMWARE`, tout en majuscules attachées. C'est votre dossier de travail. - Pour la configuration, récupérez les fichiers adaptés à votre imprimante dans le dossier `config/examples////`, soit pour moi `config/examples/Creality/Ender-3/CrealityV422/`. Copiez les fichiers dans le dossier `MARLINFIRMWARE/Marlin`, en remplaçant les fichiers existants. Mise en route de VSCode =========== Installez Visual Studio Code avec la commande `sudo apt install code`. Ouvrez VSCode et cliquez sur l'icône à gauche montrant quatres blocs empilés pour ouvrir le volet des extensions, et recherchez `PlatformIO` dans la barre de recherche. Son logo est une tête de fourmi orange sur fond blanc. Quand vous l'avez trouvé, cliquez sur le bouton installer. Faites de même pour `Marlin Auto Build`, un logo avec un narval noir sur fond bleu-vert. Attendez quelques instants que les extensions s'installent, un petit message en bas à gauche doit vous demander de redémarrer VSCode. Fermez VSCode, et rouvrez-le. Cliquez sur l'onglet `Fichier` → `Ouvrir un dossier`→ Votre dossier MARLINFIRMWARE → `Ouvrir le dossier`. Attendez un moment que les extensions démarrent et se mettent en route et c'est partit pour la partie amusante ! Configuration de votre Marlin =========== C'est maintenant que vous pouvez laisser libre cours à votre créativité et à vos envies ! ~~Nous allons~~ Vous allez modifier les fichiers `Configuration.h` et `Configuration_adv.h` du dossier Marlin. Voici quelques petites règles d'or : **- En cas de doute, lire les commentaires dans le code, - En cas de doute, voir [la documentation](https://marlinfw.org/docs/configuration/configuration.html), - En cas de doute, laisser le choix par défaut.** Bien. Je vous recommande de commencer par lire la documentation, voir peut-être [d'autres tutos](https://www.lesimprimantes3d.fr/forum/topic/22135-tuto-marlin-comprendre-et-all%C3%A9ger-son-firmware/#elShareItem_720517104_menu) ... car je ne compte pas détailler trop ici le processus de configuration. Néanmoins, sachez que les lignes commençant par `//` sont des commentaires, celles qui commencent par `#define` sont des déclarations. Pensez à décommenter les fonctions liées à vos accessoires supplémentaires comme le BL Touch. Une [petite aide en anglais](https://3dprintscape.com/marlin-firmware-on-creality-board-complete-guide/) pour la configuration basique. Vous pouvez activer de nouvelles fonctionnalités, comme mettre les menus en français, customiser le bootscreen (dans `_Bootscreen.h`) ou le supprimer, etc. Une option intéressante est la désactivation du beeper. En effet, par défaut, il produit sans cesse un son perçant et très désagréable, totalement inutile. _« Du coup, si j'ai bien compris, il suffit de commenter la déclaration `#define SPEAKER` ? »_ NON ! C'est l'exception qui confirme la règle, car alors ton beeper sonnera tout le temps. À chaque rotation de molette. Infernal. Il faut activer `SOUND_MENU_ITEM` dans la configuration avancée, ce qui permet la création d'un menu pour désactiver le son. On notera aussi la présence de quatre petites déclarations introduites par le commentaire « Frivolous Game Options », dans la configuration avancée. Après, j'dis ça, je n'dis rien. Platformio.ini ----------- Les plus observateurs aurons remarqué un petit fichier nommé `platformio.ini` dans leur dossier MARLINFIRMWARE. Commençez par aller à l'onglet Auto Build Marlin dans VSCode. Dans la rubrique `Environnements`, vous avez sur plusieurs ligne un truc qui ressemble vaguement à STM32F103RE_creality. C'est le chipset de votre carte mère, dont je vous parlais plus haut. Dans le cas présent, il reprend le chipset tranqué de ses deux derniers caractères, avec le nom du fabricant. CES ENVIRONNEMENTS SONT PROPRES À CHAQUE IMPRIMANTE 3D, IL EST NORMAL QUE VOUS N'AYEZ PAS LE MÊME SI VOUS N'AVEZ PAS LA MÊME IMPRIMANTE. Je vous conseil de vous renseigner pour connaitre quel est l'environnement correspondant à votre imprimante, sachant qu'il doit être dans la liste. Une fois que vous avez trouvé, copiez son nom et collez-le après `default_envs =` dans le fichier platformio.ini, en remplacement de la valeur initale. Compilation (si vous êtes bénis le Gnou) =========== Si la grâce du Gnou est sur vous, vous n'avez qu'à cliquer sur la petite coche blanche de votre barre d'outils, en bas de l'écran dans VSCode. La compilation se lance et vous récupérez votre firmware dans le dossier MARLINFIRMWARE/.pio/build/include_tree/ sous le nom `firmware-YYYYMMDD-HHMMSS.bin`. Erreurs de compilations faciles ----------- Si le compilateur vous pointe une ligne commençant par #erreur blabla en vous disant que foo n'est pas compatible avec bar, ou que bob est nécessaire pour utiliser alice, c'est que votre configuration est mauvaise. Modifiez-la en suivant ses instructions, et tout se passera bien. Corrections =========== C'est là que ça devient compliqué et hasardeux, il vaut mieux que vous le sachiez. ~~(et pas que dans la colle)~~ 1. Si la compilation a échoué avec un message du style « impossible d'installer toolchain/gccarmnoneeabi pour votre architecture aarch64, vous êtes au bon endroit. Ouvrez le fichier platformio.ini, descendez à la fin, et ajoutez `platform_packages = toolchain-gccarmnoneeabi@~1.90301.0` dans la section [env]. Recompilez. 2. Si après vous avez un message d'erreur du style File Not Found en vous balançant du code python où il est est question de mkdir, et de dossier variants, c'est qu'il n'arrive pas à créer le dossier dans lequel il veut mettre ses fichiers. Créez le dossier `variants` pour lui, et recompilez. 3. Si le compilateur vous insulte une troisième fois en se plaignant de l'absence de fichier variants.h, copiez le contenu du dossier variants créé précédemment, et collez-le là où il vous dit qu'il manque. 4. Si ça ne marche toujours pas, envisagez d'utiliser un ordinateur doté d'une architecture classique pour compiler votre firmware. Conclusion =========== On arrive à la fin de ce tutoriel, si vous avez des questions, mettez un commentaire ou allez voir sur des forums ~~si j'y suis~~ si vous n'y trouvez pas la solution. ~~N'oubliez pas de mettre un petit cœur et de vous abonner.~~ Voici quelques liens utiles pour conclure : https://www.lesimprimantes3d.fr/forum/topic/22135-tuto-marlin-comprendre-et-all%C3%A9ger-son-firmware/#elShareItem_720517104_menu https://3dprintscape.com/marlin-firmware-on-creality-board-complete-guide/ https://www.lesimprimantes3d.fr/forum/topic/43956-tuto-bien-installer-son-environnement-de-d%C3%A9veloppement-pour-compiler-son-firmware-marlin/ https://c.xkcd.com/random/mobile_comic/ J'espère pouvoir bientôt faire pareil sans VSCode, juste avec Docker ou PlatformIO.

AltStyle によって変換されたページ (->オリジナル) /