Aller au contenu principal

Compilation du firmware CAN

À savoir avant le flashage

Confirmer le mode actuel et le chemin d'opération

  • Remarque importante : Si la carte outil est actuellement en mode Klipper-CAN, après avoir compilé le firmware, vous pouvez flasher directement via une commande. La commande la réinitialisera automatiquement en mode Katapult et terminera le flashage.
  • État d'usine : La carte est pré-flashée avec le firmware Katapult en mode CAN, à un débit de 1M.
  • Vérification de l'état (via la LED) : Si la LED intégrée clignote (comme ci-dessous), cela indique qu'elle est en mode Katapult et prête à être flashée.
    Loading...
  • Mode anormal : Si la LED ne clignote pas, le firmware n'est pas Katapult. Vous devez d'abord le reflasher en suivant le lien ci-dessous : Cliquez ici pour flasher le firmware Katapult

Configuration des switchs DIP et connexion physique

  1. Configuration des switchs DIP : Quel que soit l'état actuel, réglez d'abord les switchs DIP intégrés sur le mode CAN, puis activez le commutateur 120Ω (comme indiqué ci-dessous).

    Loading...
  2. Connexion de l'appareil : Utilisez un câble CAN pour connecter la carte outil à un UTOC ou à la carte mère ayant déjà flashé le firmware de pontage. Veuillez vous référer à l'image ci-dessous pour le câblage :

    Loading...
  3. Vérification essentielle (résistance de terminaison) : En coupant complètement l'alimentation, mesurez la résistance entre les broches CAN_H et CAN_L avec un multimètre.

    AppareilInstructions de fonctionnement
    Carte outilTrouvez et insérez un cavalier marqué 120Ω.
    Carte mèreSi connectée à la carte mère, insérez également son cavalier 120Ω.
    Module UTOCRésistance intégrée.

    Comment vérifier :

    1. Maintenez l'alimentation complètement coupée.
    2. Utilisez un multimètre pour mesurer la résistance entre CAN-H et CAN-L du port CAN de la carte outil.
    3. Interprétation des résultats :
      • Environ 60Ω : Normal, les résistances aux deux extrémités sont correctement connectées.
      • Environ 140Ω : Possible inversion des connexions CAN-H et CAN-L.
      • Environ 120Ω : Aucune résistance 120Ω installée ou rupture de câble.
      • Environ 40Ω : Résistance supplémentaire possible, vérifiez les nœuds intermédiaires.

Début de 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'utiliser root, basculez vers un utilisateur standard :
    su <nom_utilisateur>
  • FLY ordinateur maître (système FlyOS-FAST)
    Seul l'utilisateur root est 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.

ToucheFonction
↑ / ↓Déplacer le curseur vers le haut/bas, sélectionner une option de menu
Entrée / EspaceConfirmer la sélection, cocher une option ou entrer dans un sous-menu
ÉchapRevenir au menu précédent
QQuitter l'interface de configuration
YEn 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/out supprime les données de compilation et le firmware précédents.

  • make menuconfig permet 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, supprimez 4 et saisissez 1

  • Sélectionnez (5) CAN TX gpio number, supprimez 5 et saisissez 0

    Loading...
  • Sélectionnez les broches GPIO à définir au démarrage du microcontrôleur, saisissez :
    !gpio5
    Note

    Veuillez saisir en mode de saisie anglais

    !gpio5
    Loading...
    • Veuillez vérifier en comparant avec l'image ci-dessus, assurez-vous qu'elle est cohérente, puis passez à l'étape suivante
  • Appuyez sur la touche Q, Save configuration apparaît, puis appuyez sur la touche Y
Loading...
  • 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
Loading...
  • 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.bin suffit à indiquer la réussite.
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Recherche de l'ID et flashage

Interroger l'UUID CANBus

Avant l'opération
  • Il est recommandé d'effectuer la requête d'ID et la mise à jour du firmware en dehors de l'état d'impression pour éviter toute interférence avec 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.
Conditions préalables

Assurez-vous que les conditions suivantes sont remplies, sinon la recherche d'ID CAN pourrait échouer :

  1. Le réseau CAN de l'hôte est correctement configuré
  2. Le débit CAN de la carte outil est exactement le même que celui de l'hôte (des débits différents empêcheront la communication)
  3. L'exécution de la commande lsusb doit afficher le périphérique 1d50:606f (adaptateur USB-CAN)

Commande de recherche (selon le système)

  • Commande de recherche pour hôte standard
    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • Commande de recherche pour 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 installé

  • Affichage: Affiche un ID CAN, 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 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 cet ID disparaît, il appartient à la carte outil ; s'il persiste, il appartient à la carte mère.
Loading...

Cas 2 : Carte mère + carte outil à flasher

  • Affichage: Affiche deux ID CAN
  • Explication: La carte mère exécute le firmware Klipper, la carte outil exécute le firmware CanBoot, en attente de flash.
Loading...

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 sert uniquement de pont. Assurez-vous que la carte outil est en mode CanBoot.
Loading...

Cas 4 : Aucun ID affiché

  • Affichage: Aucun ID n'est affiché
  • Causes possibles :
    1. Le bus CAN est occupé par Klipper
    2. La configuration du débit CAN0 de l'hôte est incorrecte
    3. Anomalie de câblage physique
    4. Le périphérique n'est pas entré en mode CanBoot
Loading...

Remarque importante
  • État prêt à flasher : Lorsque la carte outil est en mode CanBoot, elle affiche Application: CanBoot et sa LED de firmware clignote. Le flash du firmware est alors possible.
  • Gestion d'occupation d'ID : Si le périphérique exécute déjà 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 en coupant l'alimentation.
Dépannage

Si vous ne parvenez pas à trouver l'UUID, veuillez consulter : Guide de dépannage CAN

Flash du firmware

Commande de flash

  1. Remplacez 241696050c56 dans la commande ci-dessous par l'UUID que vous avez récupéré
  2. Remarque : Un espace est requis après le paramètre -u
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56

Confirmation de la réussite du flash

L'apparition du message CAN Flash Success indique que le flash a réussi :

Loading...

Mise à jour du firmware

Méthode de mise à jour

Pour mettre à jour le firmware, il suffit de :

  1. Recompiler le firmware
  2. S'assurer que l'ID CAN du périphérique est visible (ou que Klipper est connecté au périphérique)
  3. Exécuter la même commande de flash
python3 ~/klipper/lib/canboot/flash_can.py -u <ID MCU>

Exemple de mise à jour réussie

Loading...

Confirmer le démarrage du firmware

  • Si le firmware démarre normalement, la LED s'allumera.
    Loading...
Loading...