Aller au contenu principal

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 de root est interdite, passez à un utilisateur standard :
    su <nom d'utilisateur>
  • Ordinateur hôte FLY (système FlyOS-FAST)
    Seul l'utilisateur root est 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.

ToucheFonction
↑ / ↓Déplacer le curseur vers le haut/le bas, sélectionner un élément du 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 confirmation est demandée pour sauvegarder la configuration

Démarrage de la compilation du firmware

Voici comment compiler le firmware :

  • Après la connexion SSH, saisissez 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 de compilation et le firmware précédents.

  • make menuconfig lance 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 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 GPIO pins to set at micro-controller startup, entrez : !gpio5,!gpio19,!gpio24
    Note

    Veuillez saisir !gpio5,!gpio19,!gpio24 en mode de saisie en anglais.

    Loading...
  • Appuyez sur la touche Q. Lorsque Save configuration apparaît, appuyez sur la touche Y.
Loading...
  • La configuration devrait maintenant être enregistrée et vous devriez être revenu à l'interface de ligne de commande.
  • Saisissez la commande ci-dessous pour démarrer la compilation. Cela peut prendre un certain temps.
make -j4
Loading...
  • Si la sortie finale correspond au contenu ci-dessous, la compilation a réussi.
  • En raison des différences de versions de Klipper, l'apparition de out/klipper.bin suffit à indiquer le succès.
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Câblage

  • Avant de flasher le firmware, connectez la carte outil à un UTOC ou à une carte mère avec le firmware de pontage flashé, en utilisant 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 positionnés correctement.

    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 de 120Ω, activez le commutateur 120Ω. Si elle est d'environ 40Ω, désactivez le commutateur.

    Loading...
  • Après avoir connecté la carte outil à un UTOC ou à une carte mère avec le firmware de pontage flashé, en utilisant un câble de données XT30, une LED sur la carte mère clignotera.

Avertissement
  • Si aucune LED ne clignote, reflashez le firmware Katapult : Flasher le firmware Katapult
  • Si aucune LED ne clignote, après avoir flashé le firmware Katapult, passez à l'étape suivante.

Rechercher l'ID et flasher

Recherche de l'UUID du CANBus

À savoir avant l'opération
  • 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.
Prérequis

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

  1. Le réseau CAN de l'hôte est correctement configuré
  2. 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)
  3. L'exécution de la commande lsusb affiche le périphérique 1d50: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.
Loading...

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.
Loading...

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.
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 (rate) CAN0 de l'hôte est mal configuré
    3. Problème de câblage physique
    4. Le périphérique n'est pas en mode CanBoot
Loading...

Note importante
  • État prêt au flashage : Lorsqu'une carte d'outil est en mode CanBoot, elle affiche Application: CanBoot et 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.
Dépannage

Si vous ne parvenez pas à interroger l'UUID, 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 succès du flashage

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

Loading...

Mise à jour du firmware

Méthode de mise à jour

Lorsqu'une mise à jour du firmware est nécessaire, il suffit de :

  1. Recompiler le firmware
  2. S'assurer que l'ID CAN du périphérique est détectable (ou que Klipper est connecté au périphérique)
  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 le démarrage du firmware

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