Aller au contenu principal

Compilation du firmware CAN

Informations avant le flashage

Vérifier le mode actuel et le chemin d'opération

  • Note importante : Si la carte outil est déjà en mode Klipper-CAN, vous pouvez directement flasher le firmware après compilation via une commande. La commande la réinitialisera automatiquement en Katapult et effectuera 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 clignote (comme ci-dessous), cela indique qu'elle est en mode Katapult et prête pour le flashage.
    Loading...
  • Mode anormal : Si la LED ne clignote pas, cela signifie que le firmware n'est pas Katapult. Vous devez d'abord le re-flasher en suivant les instructions du lien ci-dessous : Cliquez ici pour flasher le firmware Katapult

Configurer les commutateurs DIP et la connexion physique

  1. Configuration des commutateurs DIP : Quel que soit l'état actuel, veuillez d'abord régler le commutateur DIP de la carte en mode CAN, et activer le commutateur 120Ω (comme illustré ci-dessous).

    Loading...
  2. Connexion de l'appareil : Utilisez un câble CAN pour connecter la carte outil à un UTOC ou à une carte mère déjà flashée avec un firmware de pont. Reportez-vous au schéma de câblage ci-dessous :

    Loading...
  3. Vérification cruciale (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
    Carte outilTrouvez et insérez le cavalier marqué 120Ω.
    Carte mèreSi connecté à une carte mère, insérez également son cavalier 120Ω.
    Module UTOCRésistance intégrée.

    Comment vérifier :

    1. Assurez-vous que l'alimentation est 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 des deux extrémités sont correctement connectées.
      • Environ 140Ω : CAN-H et CAN-L sont peut-être inversés.
      • Environ 120Ω : Le cavalier 120Ω n'est pas installé ou il y a un câble cassé.
      • Environ 40Ω : Il y a peut-être une résistance supplémentaire, vérifiez les nœuds intermédiaires.

Démarrer 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 de root est interdite, il faut passer à un utilisateur standard :
    su <nom_utilisateur>
  • Ordinateur hôte FLY (système FlyOS-FAST)
    Seul l'utilisateur root est 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.

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

  • make menuconfig compile 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 et sélectionnez Raspberry Pi RP2040/RP235x, puis appuyez sur Entrée.

    Loading...
  • Sélectionnez Bootloader offset, choisissez : 16KiB bootloader.

    Loading...
  • Sélectionnez Communication interface, choisissez : CAN bus.

    Loading...
  • Sélectionnez (4) CAN RX gpio number, supprimez 4 et entrez 1.

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

    Loading...
  • Sélectionnez GPIO pins to set at micro-controller startup, entrez :
    !gpio5
    note

    Veuillez saisir en mode de saisie anglais

    !gpio5
    Loading...
    • Veuillez vérifier en comparant avec l'image ci-dessus, assurez-vous que cela correspond, puis passez à l'étape suivante
  • Appuyez sur la touche Q, Save configuration apparaît, puis appuyez sur la touche Y.
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
Loading...
  • Si la sortie finale est la suivante, la compilation a réussi.
  • En raison des versions de Klipper, il suffit que out/klipper.bin apparaisse pour indiquer le succès.
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Rechercher l'ID et flasher

Recherche de l'UUID CANBus

À savoir avant l'opération
  • 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 / la carte outil utilise le même ID CAN pour le firmware Katapult (CANBoot) et le firmware Klipper.
Conditions préalables

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

  1. Le réseau CAN de l'ordinateur hôte est correctement configuré
  2. Le débit CAN de la carte outil est strictement identique à celui de l'ordinateur hôte (une différence empêcherait la communication)
  3. La commande lsusb affiche le périphérique 1d50:606f (adaptateur USB-CAN)

Commandes de recherche (selon le système)

~/klippy-env/bin/python ~/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 : L'appareil 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 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, c'est celui de la carte mère.
Loading...

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

  • Affichage : Deux ID CAN sont affichés
  • Explication : La carte mère exécute Klipper, la carte outil exécute CanBoot et attend le flashage.
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 agit uniquement comme un 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. Le débit CAN0 de l'ordinateur hôte est mal configuré
    3. Problème de câblage physique
    4. L'appareil n'est pas en mode CanBoot
Loading...

Note importante
  • État prêt au flashage : Lorsque la carte outil est en mode CanBoot, elle affiche Application: CanBoot et 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à Klipper et que son ID est renseigné dans le fichier de configuration, l'ID ne s'affichera pas (il est 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.
Dépannage

Si l'UUID ne peut pas être trouvé, consultez : Guide de dépannage CAN

Flashage du firmware

Commande de flashage

  1. Remplacez 241696050c56 dans la commande ci-dessous par l'UUID que vous avez réellement trouvé
  2. 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

Le message CAN Flash Success indique que le flashage 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 de l'appareil est détectable (ou que Klipper est connecté à l'appareil)
  3. Exécuter la même commande de flashage
python3 ~/klipper/lib/canboot/flash_can.py -u <ID MCU>

Exemple de mise à jour réussie

Loading...

Vérifier si le firmware démarre

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