Aller au contenu

GO Print

Chercher dans la communauté

Résultats des étiquettes.

  • Recherche par étiquettes

    Saisir les étiquettes en les séparant par une virgule. Merci de privilégier l'auto-complétion plutôt que de créer des tonnes de tags inutiles.
  • Recherche par auteur

Type du contenu


Forums

  • La vie du forum
    • Présentations
    • On vous écoute
    • Actualité et nouveautés du forum
  • Sur le site
    • Les news du blog
  • Les imprimantes 3D
    • Discussion sur les imprimantes 3D
    • Bien choisir son imprimante 3D
    • Les constructeurs
    • Les RepRap et autres modèles DIY
    • Les imprimantes 3D SLA
    • Consommables (filaments, résines...)
    • Électronique
    • Entraide : Questions/Réponses sur l'impression 3D
    • Tutoriels
  • Les scanners 3D
    • Discussion sur les scanners 3D
    • Kinect
  • Logiciels 3D
    • Discussion sur les logiciels 3D
    • Dessiner / modéliser en 3D
    • Paramétrer et contrôler son imprimante 3D
    • Tutoriels
  • Le coin des makers
    • Projets et impressions 3D
    • La post-production
    • Les cavernes des makers
    • Evénements et rassemblements
    • Arduino
    • Domotique
    • Modélisme
    • Airsoft
    • Vapotage
  • Usinages
    • Discussion sur l'usinage
    • CNC / Graveur laser
    • Entraide : Questions/Réponses sur les CNC et Lasers
    • Machines-outils conventionnelles
  • Petites annonces
    • Achats
    • Ventes
    • Dons
    • Bons plans et crowdfunding
    • Commandes groupées
    • Emplois et services
  • Divers
    • Blabla

Chercher dans...

Résultats qui...


Date de création

  • Début

    End


Dernière mise à jour

  • Début

    End


Filtrer par nombre de...

Inscrit

  • Début

    End


Groupe


Website URL


Skype


Twitter


Facebook


Youtube


Instagram


Lieu


Intérêts


Imprimantes

1 résultat trouvé

  1. Bonjour, J'utilise mon PC personnel pour la programmation de logiciels embarqués, cela occupe beaucoup de place, et j'ai besoin d'un maximum de ressources. Alors installer une pléthore de logiciels qui sont gourmands en RAM et en CPU, ce n'est pas mon fun. De là vous aurez aussi compris que je n'utilise pas VScode et encore moins Windows. Je suis sous Linux (ubuntu je l'avoue) et un de mes éditeurs préférés se nomme "vi". J'ai donc chercher une solution pour recompiler Marlin sans utiliser VScode. Analyse de processus de construction de Marlin: Marlin est une application construite à partir du framework Arduino. Arduino offre un IDE mais la base principale est un SDK (je ne parlerais pas dans ce cas de RTOS) avec des librairies d'utilisation du matériel sur des microcontrôleur (MCU). Il a été développé dans un premier temps pour les MCU AVR de Atmel, mais depuis il est possible de trouver des versions pour d'autres MCU comme les STM32. Les supports des platformes par Arduino ce fait par couches successives avec le support du MCU puis des version de ce MCU puis les cartes qui utilisent ces MCU. Chaque couche forme un variant qui dérive d'un autre variant. STMicroelctronic fournit donc le SDK Arduino pour STM32 dans lequel il est possible de trouver les variants pour certaines cartes d'imprimantes 3D. Cela aurait pu être une solution pour moi. Une belle solution quoique un peu complexe et difficile à contribuer. J'ai donc continué en regardant les sources de Marlin. Nous y trouvons le fichier platformio.ini. Vous le connaissez bien mais savez vous qu'il n'a rien à voir avec VScode. En fait pour être exact, platformio est un outil de construction basé SCons qui est écrit en python, ensuite l'équipe de platformio fournit et maintient son intégration dans VScode. Il donc possible d'utiliser platformio sans VScode et ne nécessite pour cela que de python et de quelques librairies. Mais voilà j'ai travaillé pendant plusieurs années avec SCons de manière professionnel, et maintenant le seul fait de lire ces 5 lettres me donne des boutons. A coté de platformio.ini il y a un autre fichier du nom de "Makefile" et là je retrouve la banane. Enfin pas longtemps, quand je l'ouvre, je comprend vite que je retombe dans la première problématique avec l'intégration des outils de ARDUINO_STM32. Ne reste plus qu'un dernier fichier "docker-compose.yml". Docker je connais, j'aime bien car cela cache tout ce que je ne veux pas voir (SCons) sans trop salir mon PC. L'équipe de Marlin utilise Docker comme beaucoup de monde pour l'intégration continue et le passage de tests. Pourquoi ne pas utiliser le même procédé pour faire l'image à ma convenance ? Mais je suis faignant. Oui enfin d'une certaine manière, avant de faire je regarde si quelqu'un ne l'a pas déjà fait et si ce qui a été fait me convient. Et je trouve un poste sur la compilation de Marlin avec Docker. Eric Draken utilise un script Bash qui fonctionne très bien sous Linux. Je l'ai mis à jour pour mon usage personnel sur mon github. J'ai pu fabriquer le firmware de ma SKR E3 min v3.0. Mais dans un premier temps je vais décortiquer un peu les choses pour permettre à d'autres de le refaire sur un autre OS que Linux. Installation de Docker: Dans un premier temps il faut installer Docker. Vous trouverez de nombreuse informations sur le sujet, mais sous ubuntu il faut faire: C'est simple et si vous avez un problème je vous conseille l'installation du package docker-clean. De quoi a t'on besoin de plus ? Et bien rien d'autre il me semble. En effet pour l'intégration de Marlin tout les besoins sont décrit dans le fichier "docker-compose.yml" et docker se charge du téléchargement au premier démarrage. Sauf les sources de Marlin. Préparation des sources de Marlin: Nous allons donc commencer comme toute compilation de Marlin en téléchargeant les sources depuis le dépôt de github et les fichiers de configurations qui sont sur un autre dépôt. Nous installons les fichiers de configurations qui conviennent dans le répertoire "Marlin". Et nous finissons par ouvrir un shell dans le répertoire principale des sources où se trouve le fichier "docker-compose.yml". Compilation de Marlin: La première étape est de créer l'image de la "machine virtuelle" (les puristes ne m'en voudront pas j'espère de cette simplification). La commande suivante crée un "container" avec tous les outils. La suivante est la compilation où seul le nom de votre platforme est nécessaire:. Ici pour moi j'utilise "STM32G0B1RE_btt" qui correspond à la carte SKR min E3 v3.0 de bigTreeTech. Si vous ne voulez plus voir tous ces hiéroglyphes qui défilent à la Matrix, je vous conseille d'ajouter l'option "--silent". Dans tous les cas vous devriez trouver le fichier de tous vos espoirs dans le répertoire ".pio/build/STM32G0B1RE_btt/". Si vous devez nettoyer les sources il suffit de lancer la même commande avec l'option --target "clean". Ma version de MarlinBuilder: Au début de ce post je vous ai parler du script de Eric Draken et que j'en avais fait une nouvelle version. Celle-ci permet de prendre un compte une autre version de carte sans avoir à modifier le script. Pour cela il suffit de télécharger le dépôt et de créer dans le répertoire un fichier "local.conf". Dans celui-ci vous mettrez à jour les variables qui vous concernent. Elles peuvent être: PLATFORM qui définit le nom de la carte cible. Pour moi c'est PLATFORM="STM32G0B1RE_btt" REMOTE_CONFIG_FOLDER qui définit le répertoire des fichiers de configuration à récupérer sur github. Il faut faire attention que le chemin doit être URL ¨compliant". Toujours dans mon cas j'utilise "Creality/Ender-3%20Pro/BigTreeTech%20SKR%20Mini%20E3%203.0" GITREPO qui définit l'URL du dépôt que vous voulez utiliser pour les sources de Marlin. Par défaut ce sera le dépôt de MarlinFirmware. MARLIN_BRANCH qui définit la branche à utiliser dans le dépôt de Marlin mais aussi dans le dépôt de configuration. Par défaut c'est la branche "bugfix-2.1.x". Cette variable devrait changer car elle est utiliser dans 2 dépôts différents et ne permet pas de mélanger tout cela. Une fois le ficher créé il suffit de lancer la commande: Vous trouverez le résultat dans le répertoire "firmware/bugfix-2.1.x-STM32G0B1RE_btt/" (dans mon cas) avec les fichiers de configuration utilisés. Si vous modifiez ceux-ci, il seront utiliser lors des prochaines compilations. il n'est plus nécessaire de les télécharger depuis le dépôt. Mais attention Marlin évolue et vos fichiers peuvent vite ne plus être compatibles. SI vous cherchez les sources de Marlin qui ont été utilisés, vous les trouverez dans le répertoire ".tmp/". Conclusion: J'espère que cela vous sera utile et je vous souhaite une bonne année...
×
×
  • Créer...