Aller au contenu principal

Compilation du firmware CAN 072

Démarrer 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
  • 请确保上位机可以正常联网
  • 固件编译前需要使用SSH通过网络登录上位机
  • 请不要使用串口工具登录上位机

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

prompt

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

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

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

Voici la procédure pour compiler le firmware :

  • Connectez-vous à SSH puis 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 suppriment les données de compilation et le firmware précédents. make menuconfig compile le firmware, ce qui devrait afficher l'interface ci-dessous

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

  • Accédez au menu Microcontrôleur Architecture puis sélectionnez STMicroelectronics STM32 et appuyez sur Entrée

  • Accédez au menu Modèle de processeur, sélectionnez STM32F072 et appuyez sur Entrée

  • Sélectionnez Offset du bootloader, choisissez : 8KiB bootloader

  • Sélectionnez Interface de communication, choisissez : Bus CAN (sur PB8/PB9)

  • Sélectionnez GPIO pins to set at micro-controller startup, entrez : !PC13, veuillez noter que c'est en majuscules

  • Appuyez sur la touche Q, une fenêtre Save configuration apparaît, appuyez ensuite sur Y

  • Vous devriez maintenant avoir sauvegardé la configuration et être revenu à l'interface de ligne de commande

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

  • Si le message suivant s'affiche, la compilation a réussi

    Linking out/klipper.elf
    Création du fichier hex out/klipper.bin

Recherche d'appareils

  • Assurez-vous que l'hôte est connecté à Internet et que le câble de données du périphérique inférieur est capable de transférer des données.
  • Connectez-vous via SSH à l'hôte et entrez lsusb puis appuyez sur Entrée. Si vous voyez les informations entourées dans l'image ci-dessous, vous pouvez passer à l'étape suivante.
    • Si aucune information n'est renvoyée, c'est un problème avec le système de l'hôte, nous ne pouvons rien y faire. Vous devez remplacer le système ou changer l'hôte par un autre qui fonctionne correctement.
    • Si la commande lsusb ne donne pas de résultats, vous pouvez exécuter cette commande pour l'installer :
      sudo apt-get install usbutils
  • 1d50:606f fait référence au périphérique que vous allez utiliser. La mention OpenMoko, Inc. Geschwister Schneider CAN adapter peut être utile mais n'est pas une condition nécessaire.
    • Certains hôtes peuvent afficher le périphérique de manière incomplète ou ne pas le montrer du tout en raison de problèmes de système.
    • Si vous entrez la commande lsusb et que le périphérique s'affiche, mais sans 1d50:606f, essayez de changer le câble de données et de connecter la carte mère à d'autres ports USB de l'hôte.
  • Si vous avez déjà effectué les étapes ci-dessus et que vous avez réussi à flasher le firmware Klipper, et que la carte mère fonctionne normalement, mais que vous voulez simplement mettre à jour le firmware Klipper, consultez le chapitre Mise à jour du firmware dans le menu de droite de cette page.
Remarques

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

Flashage du firmware

  • Avant de flasher le firmware, connectez la carte de l'outil à UTOC ou à une carte mère avec le firmware de pont utilisant un câble XT30. Voici un schéma de raccordement de référence
  • Vérifiez si les dip-switches sont positionnés correctement
  • Assurez-vous que la résistance entre CAN H et CAN L est d'environ 60Ω lorsqu'il n'y a pas d'alimentation électrique. Si elle est de 120Ω, vous devez connecter une jumelle de 120Ω. Si elle est d'environ 40Ω, vous devez retirer la jumelle.
prompt
  • Il est suggéré de ne pas effectuer la recherche d'ID ou le flash du firmware pendant le processus d'impression.
  • Le même ID est partagé entre le firmware CAN du contrôleur mère ou de la carte d'outil Katapult et le firmware CAN de Kliper.
prompt
  • Assurez-vous que le réseau CAN de l'ordinateur supérieur est configuré.
  • Vous pouvez utiliser les commandes ci-dessous pour rechercher l'ID CAN uniquement si lsusb affiche 1d50:606f.
  • Le taux de transmission CAN de la carte d'outil doit être identique à celui de l'ordinateur supérieur, sinon l'ID ne sera pas trouvé et la mise à jour ne pourra pas être effectuée.

Exécutez la commande suivante pour rechercher l'UUID du CANBus :

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
  • Après l'exécution, vous rencontrerez l'une des situations suivantes, voici des références :

    • Première situation : Si la carte mère a été flashée avec un firmware de pont, un ID sera affiché avec un message indiquant Application: Klipper
    • Deuxième situation : Si la carte mère a été flashée avec un firmware de pont et qu'elle est associée à une carte d'outil nécessitant un flash, deux IDs seront affichés
    • Troisième situation : Utilisation de UTOC en association avec une carte d'outil nécessitant un flash
    • Remarque : UTOC n'affiche pas d'ID
    • Quatrième situation : Pas d'ID affiché, généralement c'est parce que Klipper est occupé, le taux de transmission CAN de l'ordinateur supérieur est incorrect, ou il y a une anomalie dans la connexion
  • Normalement, si la carte d'outil à flasher est en mode CANBOOT, elle affichera Application: CanBoot et la LED correspondante clignotera. Dans ce cas, vous devez flasher le firmware Kliper, sinon la connexion ne sera pas possible !!!

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

prompt
  • Si l'UUID n'a pas été trouvé, consultez le document ci-dessous
  • Références sur les problèmes CAN
  • Flashage du firmware

  • Remplacez 241696050c56 dans la commande suivante par l'UUID trouvé lors de la recherche. Veuillez noter 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 le flash a réussi

  • Si vous avez besoin de mettre à jour le firmware, exécutez simplement la commande de flashage après avoir compilé le nouveau firmware, mais assurez-vous de pouvoir trouver l'ID ou que Kliper soit connecté

Vérification du démarrage du firmware

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