Aller au contenu

Filament ABS

[TUTO] Bien installer son environnement de développement pour compiler son firmware (Marlin)


fran6p

Messages recommandés

Ce tutoriel s'adresse à ceux voulant faire leur propre firmware basé sur Marlin.

Afin de faire son propre firmware, il est essentiel d'installer correctement son environnement de développement  (chaine de compilation).

Pour un Marlin, version 1, il était recommandé d'utiliser le logiciel Arduino  pour faire les modifications des fichiers de configuration puis réaliser la compilation et éventuellement le flashage du firmware obtenu si l'imprimante était reliée à l'ordinateur via un câble USB.

Depuis la version 2 de Marlin, l'environnement de travail préconisé est différent, même s'il reste possible de compiler son propre firmware avec un Marlin 2.x pour des cartes 8 bits avec l'environnement Arduino IDE.

Ce que je décris par la suite est ma manière de travailler qui jusqu'à ce jour m'a permis de compiler de nombreux firmwares (pour mon propre usage ou pour celui d'autres membres de ce forum).

Passons donc à l'installation des différents logiciels.

Installer Git bash

  • Télécharger et installer la version actuelle de Git en fonction de votre OS (Windows, Linux, Mac)

download-git.jpg.64c433e1af77442474d18243b006a028.jpg

Installer Python

  • Télécharger et installer la version actuelle de Python en fonction de votre OS (Windows, Linux, Mac)

download-python.jpg.253c39fa85edec29d01cd3b37bcd8b38.jpg

Comment installer VSC et Auto Build Marlin + Platformio IDE pour compiler

  • Télécharger Visual Studio Code (VSC) à partir d'ici Le choix dépend du système d'exploitation (OS) de l'ordinateur (Windows (7, 8, 10) / Linux / Mac) et de l'architecture (32 / 64bits).

download-VSC.jpg.c0c7feade7c5bc0b7337b75ef911a70a.jpg

Après téléchargement, un double-clic pour lancer l'installation de VSC. Après installation, ouvrir VSCode.

  • Il faudra ensuite installer l'extension «Auto Build Marlin», clic sur le ① indiqué dans l'image ci-dessous, saisir Auto Build Marlin (ABM) dans ② puis cliquer ③ Installer pour finaliser l'installation.

VSC-ext-ABM.jpg.110880de50946880557ac0c6145c13d4.jpg

 

Normalement, l'installation de «ABM» devrait avoir également installé en dépendance Platformio IDE. Si ce n'était pas le cas :

  • Installer l'extension «Platformio IDE», comme pour ABM, clic sur le ① indiqué dans l'image ci-dessous, saisir Platformio IDE dans ② puis cliquer ③ Installer pour finaliser l'installation.

VSC-ext-Platformio.jpg.61d6dcf34b8a5118513237c9e929fdc6.jpg

Après installation de ces extensions, il faudra probablement effectuer un rechargement pour que ce soit pris en compte via Recharger

VSC-ext-reload.jpg.7659394448ceb356bd23c98c66bb9a8d.jpg

Une fois ces installations réussies, après un nouveau rechargement, Auto Build Marlin et PlatformIO sont installés et apparaissent dans la liste des extensions (plugins) dans la partie gauche de VSCode.

VSC-icone-extensions.jpg.7d262d1ddb5720bc5f89204e53f444ef.jpg

 

  • Un clic sur l'icône du plugin PlatformIO (①) (une tête de fourmi (certains y voient un «alien») pour le sélectionner, puis un dernier clic sur ② Ouvrir un projet (Open Project) pour ouvrir le projet et pouvoir commencer à travailler avec.

VSC-Platformio-ouvrir-projet.thumb.jpg.e3743be95ae714622220821da33beb64.jpg

  • Pour compiler un Marlin, il faut au préalable avoir récupéré les sources fournies sous forme d'une archive compressée

Marlin-code-zip.thumb.jpg.f1603493334f4b103071f4dd0754ef93.jpg

  • Décompresser l'archive récupérée à l'issue du téléchargement, un dossier Marlin-2.0.x doit avoir été créé. C'est ce dossier qu'il faut indiquer lors de l'ouverture du projet via Platformio (le fichier platformio.ini doit y être ainsi qu'un dossier Marlin contenant les fichiers sources qui serviront lors de la compilation)

951765332_Marlin-zip-dcompress.jpg.e019330f871236a625f7c7e65e35b81c.jpg

  • Il est recommandé de récupérer les exemples de configuration d'imprimantes proposés par l'équipe du Marlin.

Marlin-configurations-zip.thumb.jpg.0f137ef339df28ee0a130c5b522618e4.jpg

  • Une fois cette archive décompressée, le dossier config/examples contient de nombreux constructeurs et modèles d'imprimantes

marlin-configurations-exemples.thumb.jpg.f1f4b493847d865b1a2533773cd7d0e8.jpg

Exemples du fabricant Creality :

marlin-configurations-exemples-creality.jpg.98732ff4067ddcadb36815cff5529562.jpg

Pour une Creality Ender3, il n'y a que l'embarras du choix en fonction de la carte mère installée sur l'imprimante. Il suffira de recopier les fichiers configuration[_adv].h et éventuellement les [boot|status]screen.h dans le dossier nommé Marlin en remplacement de ceux originaux pour se faciliter les étapes liées au paramétrage avant de lancer la compilation

marlin-configurations-exemples-creality-ender3.jpg.cbbff1cba3cc297589d595fe21c41569.jpg

Maintenant que l’environnement de travail est prêt, à vous de jouer 😉

Bonne(s) compilation(s) et que le filament coule à flot

Ce tutoriel est également disponible sur mon dépôt Github

🙂

 

Modifié (le) par fran6p
modification dossiers dépôt Github
  • J'aime 5
  • Merci ! 3
Lien vers le commentaire
Partager sur d’autres sites

  • fran6p pinned this topic
  • 1 month later...

Compléments, astuces

A) Pour éviter des problèmes de compilation, le mieux est que le dossier Marlin soit au plus proche de la racine du disque :

  • Exemple: C:\Marlin plutôt que dans le dossier perso de l'utilisateur (éviter les signes diacritiques (caractères accentués) et/ou espaces dans le chemin d'accès à ce dossier)

B) J'ai une erreur du type : «VSC me demande de mettre à jour les includepath»

  • C'est fréquent avec VSC. La base de données (Intellisense) n'est pas toujours à jour, la plupart du temps ça n'empêche pas la compilation. Il suffit parfois d'attendre quelques minutes pour que cette erreur disparaisse sinon une fermeture de VSC puis une réouverture permet parfois de tout faire rentrer dans l'ordre.
  • Voir également le point D/3 plus bas

C) La compilation (rappel) :

  • Via Platformio IDE :

    1) Dans l'onglet «PIO Home», «Open Project» :

    platformio-ouvrir-projet.jpg.ef31524d2802aa24772667d0b836c1e3.jpg

    2) Via l'explorateur de fichiers, sélectionner le dossier contenant à la fois le fichier platformio.ini et le dossier Marlin, clic sur «Open "nom-du-dossier-sélectionné" puis confirmation en cliquant «OUI» :

    platformio-ouvrir-projet-selection-dossier.jpg.acd4eb62fa9087a564979c47b5574004.jpgplatformio-ouvrir-projet-selection-dossier-confiance.jpg.4bb2dd6732871f9e01afa9f34462b55d.jpg

    3) Lancer la compilation en cliquant sur le coche en bas de la fenêtre :

    platformio-compiler.jpg.6bd417134dc7b459ed8f5eb591c07fbd.jpg

    4) Si / quand la compilation est réussie ET que l'imprimante est reliée à l'ordinateur, on peut téléverser le firmware dans la carte (clic sur «flèche droite»)
    PS: ça ne fonctionne qu'avec les cartes 8 bits (Atmega1284, Atmega2560). Avec des cartes 32 bits à base de STM ou LPC, la procédure de flashage consiste à recopier le fichier en .bin du dossier .pio/build/STM??? (LPC???) sur une carte SD (moins de 32Go, formatée FAT32 secteurs de 4Ko) et allumer l'imprimante pour lancer le flash.

platformio-televerser.jpg.094a1b4ef0ed68b83fcc41c3b1d0337c.jpg

  • Via Auto Build Marlin (ABM) :
    1) Compiler le firmware en sélectionnant le greffon ABM. puis l'icone «Marteau» :

    ABM-compller.jpg.43127aed52ccea9ef26e61230dbf8620.jpg

    Pendant que la compilation se réalise :

    ABM-compilation-en-cours.jpg.6738e09a33f4e025aef571b8faccbe30.jpg

    2) Une fois la compilation terminée, si l'imprimante est connectée à l'ordinateur, téléverser le firmware (clic sur «Upload»). Attention, même remarque que pour Platformio (plus haut) :

    ABM-televerser-carte-mere.jpg.18eec8c52b3bbd0ce61964e8564252fb.jpg

 

D) Éventuellement, appliquer la suite de manipulations ci-dessous quand ça ne fonctionne pas comme attendu. Parfois cela résout le problème. Si le système d'exploitation est Windows, un redémarrage est souvent salutaire.

  • A effectuer étape par étape. Après chaque étape, retenter une compilation:

    1) Nettoyer le cache de Platformio (Pio pour les «intimes» 😄 ) :

    platformioclean-cleanall.jpg.027f9be1a85eac7735429fdcc06d89c6.jpg

    2) Si la compilation pose toujours problème, sortir l'artillerie lourde :
    supprimerdossier_pio.jpg.3f5666ce218845addd4d4bb9f29eace3.jpg

    3) Sans rapport mais utile pour les problèmes «Intellisense» :
    platformioIDE-intellisense-1.jpg.038187bf0e6d37e79b5d4118ab647cda.jpg

E) Problèmes spécifiques Windows / Platformio:

Parfois, Platformio rencontre des problèmes avec Python. C'est généralement Windows (10 / 11) qui en est la cause, particulièrement la gestion des alias d'applications :

  • Il suffit de désactiver les alias d'exécution d'application de W10.

    Zone recherche de «Windows» taper Alias puis sélectionner «Gérer les alias d'exécution d'application» (plus d'infos en anglais) :

    alias-recherche.jpg.23cef9718480ce7fd77ab60462172580.jpg

    Dans la fenêtre qui s'ouvre, désactiver les alias pour toutes les versions de Python qui seraient installées, relancer la procédure  d'installation de l'extension Platformio dans VSC.

    aliasexecutionapplication-pythondesactive.jpg.e62091556a35d179d59e4ea7711dcc94.jpg

     

🙂

Modifié (le) par fran6p
modification emplacement images
  • Merci ! 4
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...
il y a 4 minutes, M4dm4rtig4n a dit :

Je viens de mettre en place l'environnement mais j'ai un soucis lors du build

tu devrais éviter les nom de répertoire longs et/ou avec des espaces, parfois ça peut jouer des tours 🙂 

  • +1 1
Lien vers le commentaire
Partager sur d’autres sites

Dans la suite du premier post :

Citation

A) Pour éviter des problèmes de compilation, le mieux est que le dossier Marlin soit au plus proche de la racine du disque :

  • Exemple: C:\Marlin plutôt que dans le dossier perso de l'utilisateur (éviter les signes diacritiques (caractères accentués) et/ou espaces dans le chemin d'accès à ce dossier)

🙂

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...