Compilation du firmware CAN
Commencer la compilation
Guide concis de compilation du firmware
Notes importantes
- Réseau : Assurez-vous que l'ordinateur maître (Raspberry Pi, etc.) est connecté au réseau.
- Méthode de connexion : Utilisez obligatoirement SSH via le réseau pour vous connecter, désactivez la liaison série.
- Méthode de saisie : Gardez le clavier en mode anglais demi-chasse.
Connexion SSH et changement d'utilisateur
Connectez-vous à l'ordinateur maître via SSH avec des outils comme MobaXterm, PuTTY, etc.
Changer d'utilisateur :
- Système standard (système officiel Raspberry Pi, etc.)
Interdiction d'utiliserroot, basculez vers un utilisateur standard :su <nom_utilisateur> - FLY ordinateur maître (système FlyOS-FAST)
Seul l'utilisateurrootest autorisé à se connecter (mot de passe :mellow).
Guide d'opération de compilation du firmware
Dans l'interface de configuration du firmware Klipper, seul le clavier est pris en charge, la souris est inutilisable.
| Touche | Fonction |
|---|---|
| ↑ / ↓ | Déplacer le curseur vers le haut/bas, sélectionner une option de menu |
| Entrée / Espace | Confirmer la sélection, cocher une option ou entrer dans un sous-menu |
| Échap | Revenir au menu précédent |
| Q | Quitter l'interface de configuration |
| Y | En quittant, appuyer sur Y pour sauvegarder la configuration si demandé |
Début de la compilation du firmware
Voici comment compiler le firmware :
-
Après vous être connecté via SSH, saisissez 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 menuconfigpermet de compiler 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... -
Entrez dans le menu Micro-controller Architecture puis sélectionnez Raspberry Pi RP2040/RP235x et appuyez sur Entrée
Loading... -
Sélectionnez Bootloader offset, puis choisissez : 16KiB bootloader
Loading... -
Sélectionnez Communication interface, puis choisissez : CAN bus
Loading... -
Sélectionnez
(4) CAN RX gpio number, supprimez4et saisissez1 -
Sélectionnez
(5) CAN TX gpio number, supprimez5et saisissez0Loading...
- Sélectionnez GPIO pins to set at micro-controller startup, entrez : !gpio5,!gpio19,!gpio24
Note
Veuillez saisir
!gpio5,!gpio19,!gpio24en mode de saisie en anglais.Loading...
- Appuyez sur la touche
Q, Save configuration apparaît, puis appuyez sur la toucheY
- La configuration est maintenant sauvegardée et vous êtes revenu à l'interface de ligne de commande.
- Saisissez la commande suivante pour commencer la compilation. Cela prend un peu de temps.
make -j4
- Si le résultat suivant s'affiche à la fin, la compilation a réussi.
- En raison de la version de Klipper, l'apparition de
out/klipper.binsuffit à indiquer la réussite.Linking out/klipper.elfCreating bin file out/klipper.bin
Connexion
-
Avant de flasher le firmware, utilisez un câble XT30 pour connecter la carte d'outil à l'UTOC ou à la carte mère ayant flashé le firmware de pontage. Ci-dessous se trouve un schéma de connexion de référence.
-
Assurez-vous que les commutateurs DIP sont dans la bonne position.
Loading... -
Assurez-vous que la résistance mesurée entre CAN H et CAN L à l'aide d'un multimètre, hors tension, est d'environ
60Ω. Si elle est de120Ω, activez le commutateur120Ω. Si elle est d'environ40Ω, désactivez le commutateur.Loading... -
Après avoir connecté la carte d'outil à l'UTOC ou à la carte mère ayant flashé le firmware de pontage via un câble XT30, la LED sur la carte mère clignote.
- Si la LED ne clignote pas, veuillez reflasher le firmware Katapult : Flasher le firmware Katapult
- Si la LED ne clignote pas, après avoir flashé le firmware Katapult, exécutez l'étape suivante.
Rechercher l'ID et flasher
Interroger l'UUID CANBus
- Il est recommandé d'effectuer la recherche d'ID et la mise à jour du firmware hors impression pour éviter de perturber le processus d'impression.
- Le firmware Katapult (CANBoot) et le firmware Klipper d'une même carte mère/carte outil utilisent le même ID CAN.
Assurez-vous que les conditions suivantes sont remplies, sinon la recherche d'ID CAN risque d'échouer :
- Le réseau CAN de l'ordinateur hôte est correctement configuré
- Le débit CAN de la carte outil est strictement identique à celui de l'ordinateur hôte (une différence de débit empêchera toute communication)
- L'exécution de la commande
lsusbaffiche le périphérique1d50:606f(adaptateur USB-CAN)
Commande de recherche (selon le système)
- Commande de recherche pour ordinateur hôte standard
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
- Commande de recherche pour ordinateur hôte FLY
python3 ~/klipper/scripts/canbus_query.py can0
Explication des résultats de recherche
Cas 1 : Carte mère/carte outil avec firmware Klipper déjà flashé
- Affichage : Un ID CAN est affiché, avec l'indication
Application: Klipper. - Explication : Le périphérique exécute déjà le firmware Klipper et peut être utilisé directement. Cet ID peut être celui de la carte mère ou celui de la carte outil.
- Méthode de distinction : Débranchez le câble de connexion CAN de la carte outil, puis relancez la recherche. Si l'ID disparaît, il appartient à la carte outil. Si l'ID est toujours présent, il appartient à 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 attend d'ê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 du bus CAN0 sur l'ordinateur hôte est mal configuré.
- Le câblage physique est anormal.
- Le périphérique n'est pas entré en mode CanBoot.
- État d'attente de flashage : Lorsque la carte outil est en mode CanBoot,
Application: CanBoots'affiche et le voyant du firmware clignote. Le flashage du firmware est alors possible. - Gestion de l'occupation de l'ID : Si le périphérique exécute déjà le firmware Klipper et que son ID a été renseigné dans le fichier de configuration, l'ID ne s'affichera pas (occupé par Klipper). Pour le réafficher, il faut masquer cet ID dans la configuration et redémarrer complètement après une coupure d'alimentation.
Si vous ne parvenez pas à trouver l'UUID, veuillez consulter : Guide de dépannage CAN
Flashage du firmware
Commande de flashage
- Remplacez
241696050c56dans la commande ci-dessous par l'UUID que vous avez trouvé. - Remarque : Un espace est requis après le paramètre
-u.
-
Pour FlyOS-FAST version 1.3.8 et ultérieure ou les systèmes ayant mis à jour Klipper après le 9 avril 2026, utilisez la nouvelle commande :
python3 ~/klipper/lib/katapult/flashtool.py -u 241696050c56 -
Pour les anciennes versions du système (FAST antérieur à 1.3.8 ou Klipper non mis à jour avant le 9 avril 2026), utilisez l'ancienne commande :
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
Confirmation de la réussite 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
Lorsque vous devez mettre à jour le firmware, il suffit de :
- Recompiler le firmware.
- S'assurer que l'ID CAN du périphérique est visible (ou que Klipper est connecté au périphérique).
- Exécuter la même commande de flashage.
-
Pour FlyOS-FAST version 1.3.8 et ultérieure ou les systèmes ayant mis à jour Klipper après le 9 avril 2026 :
python3 ~/klipper/lib/katapult/flashtool.py -u <ID DU MCU> -
Pour les anciennes versions du système (FAST antérieur à 1.3.8 ou Klipper non mis à jour avant le 9 avril 2026) :
python3 ~/klipper/lib/canboot/flash_can.py -u <ID DU MCU>
Exemple de mise à jour réussie
Vérifier si le firmware démarre
- Si le firmware démarre normalement, la LED s'allume.
Loading...