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.
- Veuillez ne pas utiliser l'utilisateur « ROOT ».
- Commande pour changer d'utilisateur
su fly
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面Y
键,在退出Klipper固件配置页面时,如果有提示,则点击Y
键保存配置文件
如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options
,用于显示部分隐藏选项
Voici comment compiler le firmware :
-
Après vous être connecté via SSH, entrez les commandes suivantes 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, etmake menuconfig
compile le firmware. Après exécution, vous devriez voir l'interface ci-dessous : -
Sélectionnez Activer les options de configuration de bas niveau supplémentaires et appuyez sur Entrée :
-
Entrez dans le menu Architecture du microcontrôleur puis sélectionnez Raspberry Pi RP2040 et appuyez sur Entrée :
-
Sélectionnez Décalage du chargeur d'amorçage, choisissez : Chargeur d'amorçage de 16KiB
-
Sélectionnez Interface de communication, choisissez : Bus CAN
-
Sélectionnez GPIO pins to set at micro-controller startup, entrez : !gpio20 Veuillez noter que ! est en majuscule
-
Appuyez sur la touche
Q
, puis sur Save configuration, et ensuite sur la toucheY
-
La configuration devrait maintenant être sauvegardée et vous devriez être revenu à 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, vous verrez la sortie suivante :
Linking out/klipper.elf
Creating hex file out/klipper.bin
Recherche de l'appareil
- Veuillez vous assurer que l'ordinateur hôte peut se connecter normalement à Internet et que le câble de données reliant l'ordinateur hôte à l'ordinateur esclave a une fonction de transmission de données.
- Après vous être connecté à l'ordinateur hôte via SSH, entrez
lsusb
et appuyez sur Entrée. Si les informations entourées sur l'image ci-dessous apparaissent, vous pouvez passer à l'étape suivante.- Si aucune information n'est renvoyée, c'est un problème du système de l'ordinateur hôte. Nous sommes impuissants. Vous devez changer le système pour s'assurer qu'il est normal ou changer l'ordinateur hôte.
- Si un message indique qu'il n'y a pas d'instruction
lsusb
, vous pouvez exécuter cette commande pour l'installersudo apt-get install usbutils
1d50:6177
appartient à l'équipement que vous devez utiliser cette fois. Le suffixeOpenMoko, Inc. stm32f407xx
a une certaine valeur de référence, mais n'est pas utilisé comme critère de jugement.- Certains ordinateurs hôtes peuvent, en raison de problèmes de système, ne pas afficher complètement ou ne pas afficher du tout.
- Si l'entrée de l'instruction
lsusb
peut afficher l'équipement, mais n'a pas1d50:6177
, veuillez essayer de changer le câble de données et d'essayer de connecter la carte mère à un autre port USB de l'ordinateur hôte.
- Si vous avez déjà effectué les étapes précédentes et avez réussi à graver le micrologiciel Klipper, et que la carte mère fonctionne normalement, mais que vous voulez simplement mettre à jour le micrologiciel Klipper, veuillez consulter directement le chapitre
Mise à jour du micrologiciel
dans le menu latéral droit de cette page.
Vous ne pouvez passer à l'étape suivante que si 1d50:6177
est présent.
Flashage du firmware
- Avant de flasher le firmware, connectez la carte d'outils à l'UTOC ou à la carte mère avec un câble de données XT30, ci-dessous un schéma de connexion de référence
- Veuillez vérifier si les cavaliers sont bien positionnés
- Assurez-vous que la résistance entre CAN H et CAN L est d'environ
60Ω
lorsque l'alimentation est coupée. Si elle est de120Ω
, vous devez connecter le cavalier de120Ω
. Si elle est d'environ40Ω
, vous devez retirer le cavalier.
- 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.
- 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
montre1d50: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
- Premier cas : Une carte mère avec un firmware de pontage, un ID apparaît et indique
-
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
