Aller au contenu principal

Compilation du firmware CAN

Démarrage de la compilation

  • Vous devez utiliser une station supérieure avec le service klipper installé Connexion via SSH par réseau
  • Assurez-vous que l'appareil est bien connecté à la station supérieure
  • Attention : Veuillez utiliser une station supérieure ordinaire, comme un Raspberry Pi ou un FLY Pi. Si vous utilisez une station supérieure modifiée (par exemple, une clé WiFi, Redmi, etc.), ces stations présentent trop de problèmes et nous ne pouvons pas vous fournir de support technique
note
  • Pour passer de l'utilisateur ROOT à un utilisateur normal, vous pouvez entrer la commande ci-dessous
  • N'utilisez pas l'utilisateur ROOT
  • L'utilisateur fly peut simplement entrer : su fly, si vous n'êtes pas l'utilisateur fly, veuillez remplacer <Votre nom d'utilisateur sur la station supérieure> par votre nom d'utilisateur sur la station supérieure !
su <Votre nom d'utilisateur sur la station supérieure>
prompt
  • Assurez-vous que l'hôte peut se connecter normalement à Internet
  • Avant de compiler le firmware, vous devez utiliser SSH pour vous connecter à distance via le réseau à l'hôte
  • Veuillez ne pas utiliser d'outil de terminal série pour vous connecter à l'hôte

Instructions d'utilisation pour la compilation et la configuration du firmware Klipper

prompt

Assurez-vous que le mode de saisie du clavier est en mode demi-largeur, c'est-à-dire en mode anglais

  1. La touche (haut) et la touche (bas) du clavier sont utilisées pour déplacer le curseur verticalement afin de sélectionner les éléments du menu
  2. La touche Entrée ou la touche Espace est utilisée pour cocher une option de menu ou entrer dans un sous-menu
  3. La touche Échap est utilisée pour revenir au menu précédent
  4. La touche Q permet de quitter la page de configuration du firmware Klipper
  5. La touche Y, lorsqu'on quitte la page de configuration du firmware Klipper et qu'une invite apparaît, appuyez sur Y pour enregistrer le fichier de configuration
note

Si le nombre d'options de la page de configuration est limité, activez d'abord [ ] Activer les options de configuration de niveau inférieur supplémentaires pour afficher certaines options masquées

Voici comment compiler le firmware :

  • Après avoir établi une connexion SSH, entrez la commande suivante et appuyez sur Entrée :

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • Parmi les commandes, rm -rf ~/klipper/.config && rm -rf ~/klipper/out supprime les données de compilation précédentes et le firmware, tandis que make menuconfig est utilisé pour compiler le firmware. Une fois exécuté, l'interface ci-dessous devrait apparaître :

  • Sélectionnez Activer les options de configuration de bas niveau supplémentaires puis appuyez sur Entrée

  • Allez dans le menu Microcontrôleur Architecture puis sélectionnez Raspberry Pi RP2040/RP235x et appuyez sur Entrée

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

  • Sélectionnez Interface de communication, puis choisissez : BUS CAN

  • Sélectionnez les broches GPIO à définir au démarrage du microcontrôleur, entrez : gpio24
  • Appuyez sur la touche Q, Enregistrer la configuration apparaît, puis appuyez sur Y
  • Vous devriez maintenant avoir enregistré la configuration et être retourné à l'interface de ligne de commande
  • Entrez la commande ci-dessous pour commencer la compilation, cela prend un peu de temps
make -j4
  • Si le message suivant s'affiche, la compilation est réussie

    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Recherche d'appareil

  • Utilisez le câble XT30 pour connecter la carte d'outils à UTOC ou à une carte mère avec le firmware de pont, à ce moment-là, la carte mère aura des LED qui clignotent.
Avertissement
  • Si aucune LED ne clignote, réprogrammez le firmware katapult : Programmer le firmware katapult
  • Si aucune LED ne clignote, exécutez la suite après avoir programmé le firmware katapult

Recherche d'appareils

  • Assurez-vous que l'hôte est correctement connecté à Internet et que le périphérique inférieur est connecté à l'hôte avec un câble de données capable de transférer des données.
  • Après avoir établi une connexion SSH avec l'hôte, entrez la commande lsusb et appuyez sur Entrée. Si les informations entourées dans l'image ci-dessous apparaissent, vous pouvez passer à l'étape suivante.
    • Si aucune information n'est retournée, il s'agit d'un problème du système de l'hôte, et nous ne pouvons rien faire. Vous devez changer pour un système fonctionnel ou remplacer l'hôte.
    • Si la commande affiche « instruction introuvable », vous pouvez exécuter la commande suivante pour l'installer :
      sudo apt-get install usbutils
  • 1d50:606f appartient au périphérique que vous utiliserez cette fois-ci.
  • Certains hôtes peuvent ne pas afficher complètement ou ne pas afficher du tout en raison de problèmes de système.
  • Si la commande lsusb affiche le périphérique mais que 1d50:606f n'est pas visible, essayez de changer de câble de données et reliez la carte mère à un autre port USB de l'hôte.
Remarque

Vous ne pouvez passer à l'étape suivante qu'en présence de 1d50:606f.

Programmation du firmware

  • Avant de programmer le firmware, connectez la carte d'outils à UTOC ou à une carte mère ayant le firmware de pont à l'aide du câble XT30, voici le schéma de câblage de référence
  • Vérifiez que la résistance entre CAN H et CAN L est d'environ 60Ω lorsqu'elle est débranchée, si elle est de 120Ω, connectez le jumper de 120Ω, si elle est d'environ 40Ω, retirez le jumper
prompt
  • Il est recommandé de ne pas effectuer la recherche d'ID ou la mise à jour du firmware pendant le processus d'impression.
  • Le CAN firmware du même carte mère ou de la carte d'outil Katapult et le CAN firmware de Klipper ont complètement les mêmes IDs.
note
  • Veuillez vous assurer que le réseau CAN de l'ordinateur principal a été configuré.
  • Lorsque 1d50:606f apparaît après la commande lsusb, vous pouvez utiliser la commande ci-dessous pour rechercher l'ID CAN.
  • Le taux de transmission CAN de la carte d'outil doit être identique à celui de l'ordinateur principal, sinon il sera impossible de trouver l'ID et de procéder à la programmation.
  • Exécutez la commande suivante pour rechercher l'UUID du CANBus :

    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

    Pour le système fast, utilisez cette commande pour la programmation, remplacez <votre ID de carte mère> par l'ID trouvé à l'étape précédente.

    python ~/klipper/scripts/canbus_query.py can0
    • Après avoir entré la commande, plusieurs situations peuvent se produire en fonction de votre machine, voici des références :

      • Première situation : Si la carte mère a un firmware bridge, un ID apparaîtra avec le message Application: Klipper.
      • Deuxième situation : Si la carte mère a un firmware bridge et qu'elle est associée à une carte d'outil nécessitant une programmation, deux IDs apparaîtront.
      • Troisième situation : Utilisation de UTOC avec une carte d'outil nécessitant une programmation.
      • Indication : UTOC n'affiche pas d'ID.
      • Quatrième situation : Pas d'ID affiché, généralement c'est parce que Klipper occupe l'ID, le taux de transmission CAN de l'ordinateur principal est incorrect ou il y a une anomalie dans la connexion.
    • En général, si la carte d'outil à programmer est en mode CANBOOT, elle affichera Application: CanBoot avec un clignotement correspondant de la LED du firmware. À ce moment-là, vous devez programmer le firmware Klipper, sinon il sera impossible de se connecter !!!

    • Indication : Si c'est un firmware Klipper et que l'ID a été rempli dans la configuration, l'ID ne s'affichera pas et sera occupé par Klipper. Vous devez désactiver l'ID correspondant et redémarrer complètement la carte mère.

    note
    • Si aucune UUID n'a été trouvée, consultez le document ci-dessous.
    • Résumé des problèmes CAN

Programmation du firmware

  • Remplacez <241696050c56> par l'UUID trouvée lors de la recherche dans la commande ci-dessous, notez qu'il y a un espace après -u

    python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
  • Comme illustré ci-dessous, si CAN Flash Success apparaît, cela signifie que la programmation a réussi.

Mise à jour du firmware

  • Si vous souhaitez mettre à jour le firmware, il suffit de recompiler le firmware puis d'exécuter à nouveau la commande de programmation pour mettre à jour le firmware.
  • Mais assurez-vous de pouvoir trouver l'ID correspondant ou que Klipper est déjà connecté.
    python3 ~/klipper/lib/canboot/flash_can.py -u  <MCU ID>

Vérification du démarrage du firmware

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