Programmation du firmware USB vers CAN
Connexion à l'ordinateur hôte
La carte mère Fly-D8 ne peut communiquer avec Klipper sur l'ordinateur hôte que via le port USB Type-C.
Guide concis de compilation du firmware
Points d'attention
- Réseau : Assurez-vous que l'ordinateur hôte (Raspberry Pi, etc.) est connecté à Internet.
- Méthode de connexion : Vous devez vous connecter via SSH sur le réseau, désactivez le port série.
- Méthode de saisie : Gardez le clavier en mode anglais demi-chasse.
Connexion SSH et changement d'utilisateur
Utilisez des outils comme MobaXterm, PuTTY, etc. pour vous connecter en SSH à l'ordinateur hôte.
Changer d'utilisateur :
- Système standard (système officiel Raspberry Pi, etc.)
L'utilisation derootest interdite, il faut passer à un utilisateur standard :su <nom_utilisateur> - Ordinateur hôte FLY (système FlyOS-FAST)
Seul l'utilisateurrootest pris en charge pour la connexion (mot de passe :mellow)
Guide opérationnel de compilation du firmware
Dans l'interface de configuration du firmware Klipper, seule l'utilisation du clavier est prise en charge, la souris ne peut pas être utilisée.
| Touche | Fonction |
|---|---|
| ↑ / ↓ | Déplacer le curseur vers le haut/le bas, sélectionner un élément de menu |
| Entrée / Espace | Confirmer la sélection, cocher une option ou entrer dans un sous-menu |
| Échap | Retourner au menu précédent |
| Q | Quitter l'interface de configuration |
| Y | Lors de la sortie, appuyez sur Y si une invite demande de sauvegarder la configuration |
Commencer la compilation du firmware
Voici comment compiler le firmware :
-
Après la connexion SSH, entrez la commande suivante et appuyez sur Entrée :
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig -
Ici,
rm -rf ~/klipper/.config && rm -rf ~/klipper/outsupprime les données de compilation précédentes et le firmware -
make menuconfigcompile le firmware. Après exécution, l'interface suivante devrait apparaître -
Ici,
rm -rf ~/klipper/.config && rm -rf ~/klipper/outsupprime les données de compilation précédentes et le firmware,make menuconfigcompile le firmware. Après exécution, l'interface suivante devrait apparaîtreLoading... -
Sélectionnez
Enable extra low-level configuration options, appuyez sur la toucheEntréeLoading... -
Accédez au menu
Micro-controller Architecture, puis sélectionnezSTMicroelectronics STM32, appuyez sur la toucheEntréeLoading... -
Accédez au menu
Processor model, sélectionnezSTM32H723, appuyez sur la toucheEntréeLoading... -
Sélectionnez
Bootloader offset, choisissez :128KiB bootloaderLoading... -
Sélectionnez
Clock Reference (8 MHz crystal), choisissez :25 MHz crystalLoading... -
Sélectionnez
Communication interface, choisissez :USB to CAN bus bridge (USB on PA11/PA12)Loading...
- Appuyez sur la touche
Q, Save configuration apparaît, puis appuyez sur la toucheYLoading... - La configuration devrait maintenant être enregistrée et vous devriez être revenu à l'interface de ligne de commande
- Entrez la commande ci-dessous pour commencer la compilation, cela prendra un certain temps
make -j4
- Si la sortie finale est la suivante, la compilation a réussi
- En raison des versions de Klipper, l'apparition de
out/klipper.binindique le succèsLinking out/klipper.elf
Creating bin file out/klipper.bin
Entrer en mode programmation
- Après avoir connecté la carte mère à l'ordinateur hôte avec un câble de données Type-C, double-cliquez sur le bouton RST. À ce moment, une LED clignotera sur la carte mère.
- Si aucune LED ne clignote, veuillez reprogrammer le firmware katapult : Programmer le firmware katapult
- Si aucune LED ne clignote, après avoir programmé le firmware katapult, passez à l'étape suivante.
- Assurez-vous que la machine supérieure peut se connecter normalement à Internet et que le câble de données du périphérique inférieur connecté à la machine supérieure a une fonction de transmission de données.
- Après avoir établi une connexion SSH avec la machine supérieure, entrez la commande
lsusbet appuyez sur Entrée. Si l'information entourée dans l'image ci-dessous est affichée, vous pouvez passer à l'étape suivante.- Si aucune information n'est retournée, il s'agit d'un problème système de la machine supérieure, nous ne pouvons rien faire. Vous devez remplacer un système confirmé comme fonctionnel ou changer la machine supérieure.
- Si la commande
lsusbne fonctionne pas, vous pouvez exécuter la commande suivante pour l'installer :sudo apt-get install usbutilsLoading...
1d50:6177appartient à l'appareil que vous utiliserez cette fois.- Certaines machines supérieures peuvent ne pas afficher correctement ou ne pas afficher du tout en raison de problèmes système.
- Si vous pouvez voir l'appareil après avoir entré la commande
lsusb, mais que1d50:6177n'est pas affiché, essayez de changer de câble de données et connectez le contrôleur mère à un autre port USB de la machine supérieure.
- Si vous avez effectué les étapes mentionnées précédemment et que la mise à jour du firmware Klipper a réussi, et que le contrôleur mère fonctionne normalement, mais que vous souhaitez uniquement mettre à jour le firmware Klipper, veuillez consulter la section
Mise à jour du firmwaredu menu latéral droit de cette page.
Il est obligatoire de trouver le périphérique 1d50:6177 avant de poursuivre.
Programmer le firmware
Début du flashage
- Les logiciels hôtes non officiels de Fly nécessitent l'installation de Katapult
- Installer Katapult
Obtenir l'ID de la carte mère
Exécutez la commande suivante pour rechercher l'ID du périphérique. Normalement, un ID similaire à celui de l'image ci-dessous devrait s'afficher (Remarque : Chaque carte mère a un ID différent) :
ls /dev/serial/by-id/*
Si l'ID trouvé contient
usb-katapult_stm32xxxxxxxx, cela signifie que vous pouvez passer à l'étape suivante.
Flasher le firmware
- Assurez-vous que le fichier du firmware est déjà compilé.
- Remplacez
<Votre ID de carte mère>dans la commande ci-dessous par l'ID réel obtenu à l'étape précédente.
- Pour les logiciels hôtes standard, utilisez le code ci-dessous :
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d <Votre ID de carte mère> - Pour le logiciel hôte FLY, utilisez le code ci-dessous :
python3 ~/katapult/scripts/flashtool.py -d <Votre ID de carte mère>
Référence du processus de flashage :
Référence de flashage réussi :
Mise à jour du firmware
- Mise à jour du firmware via USB
- Mise à jour du firmware via CAN bridge
Étapes de mise à jour du firmware via USB
- Rechercher l'ID de la carte mère
ls /dev/serial/by-id/*
Dans l'image ci-dessous, /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 est l'ID de la carte mère.
- Mettre à jour le firmware
cd ~/klipper/ && make flash FLASH_DEVICE=<Votre ID de carte mère>
- Remplacez
<Votre ID de carte mère>par l'ID réellement obtenu.
Étapes de mise à jour du firmware via CAN bridge
- Réinitialiser pour entrer en mode flashage
<Votre ID de carte mère> correspond à l'UUID CANBUS de la carte mère dans le fichier de configuration printer.cfg.
- Pour les logiciels hôtes standard, utilisez le code ci-dessous :
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <Votre ID de carte mère> - Pour le logiciel hôte FLY, utilisez le code ci-dessous :
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <Votre ID de carte mère>
Dans l'image ci-dessous, f95cee90e1f9 est l'UUID CANBUS de la carte mère (exemple uniquement).
- Rechercher le nouvel ID du périphérique
ls /dev/serial/by-id/*
- Ceci est juste une référence !
- Dans l'image ci-dessous,
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00est le nouvel ID de carte mère détecté.
- Flasher le nouveau firmware
cd ~/klipper/ && make flash FLASH_DEVICE=<Votre ID de carte mère>
Solution en cas de flashage incorrect du firmware
Méthode 1 : Entrer rapidement en mode flashage
- Coupez l'alimentation de la carte mère.
- Après la remise sous tension, double-cliquez rapidement sur le bouton RESET.
- Réentrez en mode flashage.