Aller au contenu principal

Compilation du firmware CAN

Début de la compilation

  • Un ordinateur hôte avec le service « klipper » installé est nécessaire. Connexion SSH via le réseau
  • Et le périphérique doit être bien connecté à l'ordinateur hôte.
  • Remarque : Veuillez utiliser un ordinateur hôte ordinaire, tels que Raspberry Pi, FLY Pi, etc. Si c'est un ordinateur hôte modifié (par exemple, WiFi Stick, Redmi, etc.), ce type d'ordinateur hôte pose trop de problèmes et nous ne pouvons pas vous fournir de support technique.
Remarques importantes
  • Veuillez ne pas utiliser l'utilisateur « ROOT ».
  • Commande pour changer d'utilisateur
su fly
prompt
  • 请确保上位机可以正常联网
  • 固件编译前需要使用SSH通过网络登录上位机
  • 请不要使用串口工具登录上位机

Klipper固件编译和配置页面操作说明

prompt

请确保键盘输入法为半角模式,即英文模式

  1. 键盘上键,下键,用于上下移动光标来选中菜单项
  2. 确认键Enter 或 空格键Space,用于勾选菜单或进入子菜单
  3. 退出键ESC,用于返回上一级菜单
  4. Q键,用于退出Klipper固件配置页面
  5. Y键,在退出Klipper固件配置页面时,如果有提示,则点击Y键保存配置文件
note

如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options,用于显示部分隐藏选项

Voici comment compiler le firmware :

  • Connectez-vous via SSH et entrez les commandes suivantes :

    cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
  • Les commandes rm -rf ~/klipper/.config && rm -rf ~/klipper/out servent à supprimer les données de compilation précédentes et le firmware. make menuconfig compile le firmware, après l'exécution, l'interface ci-dessous devrait apparaître :

  • Sélectionnez Enable extra low-level configuration options et appuyez sur Entrée.

  • Entrez dans le menu Micro-controller Architecture puis sélectionnez Raspberry Pi RP2040 et appuyez sur Entrée.

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

  • Sélectionnez Communication interface, choisissez : CAN bus

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

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

  • Choisissez les broches GPIO à définir au démarrage du microcontrôleur, entrez : !gpio5 Veuillez noter que ! est en majuscule

  • Appuyez sur la touche Q, lorsque Save configuration apparaît, appuyez ensuite sur la touche Y

  • La configuration devrait maintenant être sauvegardée et vous devriez être retourné à l'interface de ligne de commande

  • Entrez make -j4 pour commencer la compilation, cela peut prendre un certain temps

  • Si la compilation est réussie, le résultat final affichera :

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

Recherche de l'appareil

  • Assurez-vous que l'ordinateur hôte peut se connecter à Internet.

  • Assurez-vous que le câble de données reliant l'ordinateur de bas niveau à l'ordinateur hôte possède une fonction de transfert de données.

  • Une fois connecté à l'ordinateur hôte via SSH, entrez lsusb et appuyez sur Entrée, trois situations peuvent se produire :

    • Les périphériques USB reconnus seront affichés.
    • Un message indique que la commande ls n'est pas reconnue, vous pouvez exécuter la commande suivante pour l'installer :
      sudo apt-get install usbutils
    • Pas d'erreur, pas d'autres informations (problème système nécessitant un changement de système)
  • Si l'entrée de lsusb ne produit aucune réaction, c'est un problème système que nous ne pouvons pas résoudre, vous devrez changer pour un système confirmé comme fonctionnant correctement.

  • Si vous voyez les informations encerclées dans l'image ci-dessous, vous pouvez passer à l'étape suivante.

  • 1d50:606f est l'appareil que vous utiliserez cette fois. Ne vous préoccupez pas des informations suivantes, car des problèmes systèmes peuvent entraîner une affichage incomplet ou inexistant.

  • Si vous avez deux 1d50:606f, vous devez déterminer pourquoi il y en a deux et éliminer l'un d'entre eux avant de redémarrer le système.

  • Deux 1d50:606f affecteront la connexion ultérieure avec le firmware, comme FLY MINI PAD, il est alors recommandé d'utiliser uniquement l'UTOC embarqué et non d'autres dispositifs de pont CAN.

  • Si vous n'avez pas de 1d50:606f, vérifiez par vous-même si le câble de données est bien connecté et si le firmware a été correctement flashé.

    Attention

    Vous ne pouvez passer à l'étape suivante que si vous avez un 1d50:606f.

Enregistrement du firmware

  • Avant d'enregistrer le firmware, connectez la carte outil à l'UTOC ou à la carte mère avec le firmware de pontage à l'aide d'un câble de données XT30, ci-dessous se trouve le schéma de câblage de référence
  • Veuillez vérifier que le commutateur DIP est bien positionné
  • Assurez-vous que la résistance entre CAN H et CAN L, mesurée avec un multimètre lorsque l'alimentation est coupée, est d'environ 60Ω. Si elle est de 120Ω, vous devez connecter un shunt de 120Ω. Si elle est d'environ 40Ω, vous devez retirer le shunt
prompt
  • Il est recommandé de ne pas rechercher l'ID ou mettre à jour le firmware pendant l'impression.
  • Les firmwares CAN de Katapult et Klipper pour la même carte mère ou carte d'outils ont des ID complètement identiques.
note
  • Assurez-vous que le réseau CAN de l'hôte est configuré.
  • La commande de recherche d'ID CAN peut être utilisée uniquement après que lsusb montre 1d50:606f.
  • La vitesse CAN de la carte d'outils doit correspondre à celle de l'hôte, sinon l'ID ne sera pas trouvé et le firmware ne pourra pas être flashé.
  • Exécutez la commande suivante pour interroger l'UUID de CANBus :

    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
    • Après avoir entré la commande, selon votre machine, vous pourriez voir les situations suivantes, ci-dessous des exemples :

      • Premier cas : Une carte mère avec un firmware de pontage, un ID apparaît et indique Application: Klipper
      • Deuxième cas : Une carte mère avec un firmware de pontage et une carte d'outils nécessitant un firmware, deux ID apparaissent
      • Troisième cas : Utilisation d'UTOC avec une carte d'outils nécessitant un firmware
      • Remarque : UTOC n'affiche aucun ID
      • Quatrième cas : Aucun ID n'est indiqué, généralement parce que l'ID est occupé par Klipper, la vitesse CAN0 de l'hôte est incorrecte, ou le câblage est anormal
    • Normalement, la carte d'outils qui nécessite le flashe du firmware doit être en mode CANBOOT et affichera Application: CanBoot et la LED du firmware clignotera. À ce moment-là, vous devez flasher le firmware Klipper, sinon la connexion ne sera pas possible !!!

    • Remarque : Si le firmware est Klipper et que l'ID a déjà été ajouté dans la configuration, l'ID ne sera pas affiché et sera occupé par Klipper. Vous devez masquer l'ID correspondant, puis redémarrer complètement la carte mère.

    note
    • Si aucun UUID n'est trouvé, consultez le document ci-dessous
    • Collection de problèmes CAN
  • Flashing du firmware

    • Remplacez 241696050c56 dans la commande ci-dessous par l'UUID trouvé, 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, le flashage est réussi

  • Si vous devez mettre à jour le firmware, il suffit de compiler le nouveau firmware et de réexécuter la commande de flashe pour mettre à jour, mais assurez-vous de pouvoir trouver l'ID 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