Compilation du firmware CAN version 072
Début de la compilation
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 -
rm -rf ~/klipper/.config && rm -rf ~/klipper/outsupprime les données de compilation et le firmware précédents. -
make menuconfigcompile le firmware. Après exécution, l'interface suivante devrait apparaître :Loading... -
Sélectionnez Enable extra low-level configuration options et appuyez sur Entrée.
Loading... -
Accédez au menu Micro-controller Architecture, puis sélectionnez STMicroelectronics STM32 et appuyez sur Entrée.
Loading... -
Accédez au menu Processor model, sélectionnez STM32F072 et appuyez sur Entrée.
Loading... -
Sélectionnez Bootloader offset, puis choisissez : 8KiB bootloader.
Loading... -
Sélectionnez Communication interface, puis choisissez : CAN bus (on PB8/PB9).
Loading...
- Appuyez sur la touche
Q, l'option Save configuration apparaît. Appuyez ensuite sur la toucheY.Loading... - 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
- La compilation est réussie si la sortie finale correspond au contenu ci-dessous.
- En raison des versions de Klipper, l'apparition de
out/klipper.binindique le succès.Linking out/klipper.elf
Creating bin file out/klipper.bin
Câblage
- Avant de programmer le firmware, connectez la carte outil à l'UTOC ou à une carte mère avec un firmware de pontage à l'aide d'un câble de données XT30. Voici un schéma de câblage de référence :
Loading...
- Assurez-vous que la résistance entre CAN H et CAN L, mesurée avec un multimètre hors tension, est d'environ
60Ω. Si elle est de120Ω, ajoutez un cavalier120Ω. Si elle est d'environ40Ω, retirez le cavalier.Loading...
Recherche de l'ID et programmation
Interroger l'UUID du CANBus
- Il est recommandé d'effectuer les opérations de recherche d'ID et de flashage du firmware en dehors de l'impression, pour éviter d'interférer avec le processus d'impression.
- La carte mère et la carte outil utilisent le même ID CAN pour le firmware Katapult (CANBoot) et le firmware Klipper.
Assurez-vous que les conditions suivantes sont remplies, sinon l'ID CAN risque de ne pas être détecté normalement :
- Le réseau CAN de l'hôte est correctement configuré
- Le débit CAN de la carte outil est strictement identique à celui de l'hôte (un débit différent empêchera la communication)
- L'exécution de la commande
lsusbaffiche le périphérique1d50:606f(adaptateur USB-CAN)
Commandes de recherche (selon le système)
- Commande de recherche pour un hôte standard
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 - Commande de recherche pour un hôte FLY
python3 ~/klipper/scripts/canbus_query.py can0
Explication des résultats de recherche
Cas 1 : Carte mère / Carte outil déjà flashée avec le firmware Klipper
- Affichage : Un ID CAN est affiché, avec la mention
Application: Klipper - Explication : L'appareil exécute déjà le firmware Klipper et peut être utilisé directement. Cet ID peut être celui de la carte mère ou de la carte outil.
- Méthode de distinction : Débranchez le câble CAN de la carte outil et relancez la recherche. Si l'ID disparaît, il s'agit de la carte outil ; s'il reste, il s'agit de la carte mère.
Cas 2 : Carte mère + Carte outil à flasher
- Affichage : Deux ID CAN sont affichés
- Explication : La carte mère exécute le firmware Klipper, la carte outil exécute le firmware CanBoot et est prête à être flashée.
Cas 3 : UTOC + Carte outil à flasher
- Affichage : L'UTOC lui-même n'affiche pas d'ID, seul l'ID de la carte outil est affiché
- Explication : L'UTOC agit uniquement comme un pont. Assurez-vous que la carte outil est en mode CanBoot.
Cas 4 : Aucun ID affiché
- Affichage : Aucun ID n'est affiché
- Causes possibles :
- Le bus CAN est occupé par Klipper
- Le débit CAN0 de l'hôte est mal configuré
- Problème de câblage physique
- L'appareil n'est pas en mode CanBoot
- État prêt au flashage : Lorsque la carte outil est en mode CanBoot, elle affiche
Application: CanBootet la LED du firmware clignote. Elle est alors prête pour le flashage. - Gestion des ID occupés : Si un appareil exécute déjà le firmware Klipper et que son ID est renseigné dans le fichier de configuration, l'ID ne sera pas affiché (occupé par Klipper). Pour le réafficher, il faut masquer cet ID dans la configuration et redémarrer complètement après une coupure de l'alimentation.
Si vous ne parvenez pas à interroger l'UUID, consultez : Guide de dépannage CAN
Flashage du firmware
Commande de flashage
- Remplacez
241696050c56dans la commande ci-dessous par l'UUID que vous avez réellement interrogé - Remarque : Un espace est requis après le paramètre
-u
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
Confirmation de flashage réussi
L'apparition du message CAN Flash Success indique que le flashage a réussi :
Mise à jour du firmware
Méthode de mise à jour
Lorsqu'une mise à jour du firmware est nécessaire, il suffit de :
- Recompiler le firmware
- S'assurer que l'ID CAN de l'appareil est interrogable (ou que Klipper est connecté à l'appareil)
- Exécuter la même commande de flashage
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>
Exemple de mise à jour réussie