Compilation du firmware CAN
Démarrer la compilation
Guide concis de compilation du firmware
Points à noter
- Réseau : Assurez-vous que l'ordinateur hôte (Raspberry Pi, etc.) est connecté à Internet.
- Méthode de connexion : Utilisez obligatoirement SSH pour vous connecter via le réseau, désactivez le port série.
- Méthode de saisie : Gardez le clavier en mode demi-chasse anglais.
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, passez à un utilisateur standard :su <nom d'utilisateur> - Ordinateur hôte FLY (système FlyOS-FAST)
Seul l'utilisateurrootest autorisé à se connecter (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 du 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 confirmation est demandée pour sauvegarder la configuration |
Démarrer 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 et le firmware précédemment compilés -
make menuconfiglance la compilation du 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 STM32H723 et appuyez sur Entrée
Loading... -
Sélectionnez Bootloader offset, choisissez : 128KiB bootloader
Loading... -
Sélectionnez Clock Reference (8 MHz crystal), choisissez : 25 MHz crystal
Loading... -
Pour Communication interface, sélectionnez : CAN bus (on PB8/PB9)
Loading...
- Sélectionnez les broches GPIO à configurer au démarrage du micro-contrôleur, saisissez :
!PA15Veuillez noter que le ! est en majusculeLoading...
- Appuyez sur la touche
Q, l’option Save configuration apparaît. Appuyez ensuite surYLoading... - La configuration devrait maintenant être enregistrée et vous revenez à l’interface en ligne de commande
- Entrez la commande suivante pour démarrer la compilation, cela peut prendre un certain temps :
make -j4
- La compilation est réussie si le contenu suivant apparaît en sortie
- En raison des versions de Klipper, la présence de
out/klipper.binsuffit à indiquer la réussiteLinking out/klipper.elf
Creating bin file out/klipper.bin
Câblage
- Avant de programmer le firmware, connectez la carte d'outils à l'UTOC ou à la carte mère avec un firmware de pont à l'aide d'un câble de données XT30. Le schéma de câblage de référence est ci-dessous.
- Veuillez vérifier que les commutateurs DIP sont réglés sur la position appropriée.
Loading...
- Référence de connexion à l'UTOC
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... - Après avoir connecté la carte d'outils à l'UTOC ou à la carte mère avec un firmware de pont à l'aide d'un câble de données XT30, les LED de la carte mère clignoteront.
- Si aucune LED ne clignote, reprogrammez le firmware Katapult : Programmer le firmware Katapult
- Si aucune LED ne clignote, après avoir programmé le firmware Katapult, passez à l'étape suivante.
Rechercher l'ID et programmer
Recherche de l'UUID du CANBus
- Il est recommandé d'exécuter les opérations de recherche d'ID et de flashage du firmware en dehors d'une impression, pour éviter toute interférence avec le processus d'impression.
- Le firmware Katapult (CANBoot) et le firmware Klipper utilisent le même ID CAN pour la même carte mère / carte d'outil.
Assurez-vous que les conditions suivantes sont remplies, sinon la recherche de l'ID CAN peut échouer :
- Le réseau CAN de l'hôte est correctement configuré
- Le débit CAN de la carte d'outil est strictement identique à celui de l'hôte (un débit différent empêche 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 d'outil avec le firmware Klipper déjà flashé
- Affichage : Un ID CAN est affiché, avec l'indication
Application: Klipper - Explication : Le périphérique exécute le firmware Klipper et est prêt à l'emploi. Cet ID peut être celui de la carte mère ou de la carte d'outil.
- Méthode de distinction : Débranchez le câble CAN de la carte d'outil et relancez la recherche. Si l'ID disparaît, il s'agit de la carte d'outil ; s'il reste, il s'agit de la carte mère.
Cas 2 : Carte mère + carte d'outil à flasher
- Affichage : Deux ID CAN sont affichés
- Explication : La carte mère exécute le firmware Klipper, la carte d'outil exécute le firmware CanBoot et est prête pour le flashage.
Cas 3 : UTOC + carte d'outil à flasher
- Affichage : L'UTOC lui-même n'affiche pas d'ID, seul l'ID de la carte d'outil est affiché
- Explication : L'UTOC agit uniquement comme un pont. Assurez-vous que la carte d'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 (rate) CAN0 de l'hôte est mal configuré
- Problème de câblage physique
- Le périphérique n'est pas en mode CanBoot
- État prêt au flashage : Lorsqu'une carte d'outil est en mode CanBoot, elle affiche
Application: CanBootet la LED du firmware clignote, indiquant qu'elle est prête pour le flashage. - Gestion des ID occupés : Si un périphérique exécute le firmware Klipper et que son ID est déjà renseigné dans le fichier de configuration, l'ID ne sera pas affiché (car 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 trouvé - Remarque : Un espace est requis après le paramètre
-u
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
Confirmation de succès du flashage
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 du périphérique est détectable (ou que Klipper est connecté au périphérique)
- Exécuter la même commande de flashage
python3 ~/klipper/lib/canboot/flash_can.py -u <ID MCU>
Exemple de mise à jour réussie
Vérifier si le firmware démarre
- Si le firmware démarre correctement, la LED s'allumera.
Loading...