Mise en page du firmware CAN via USB
Commencer la compilation
- Il faut utiliser un ordinateur hôte ayant installé le service
klipper
Se connecter en SSH via le réseau - Et connecter l'appareil à l'ordinateur hôte
- Remarque : veuillez utiliser un ordinateur hôte normal, comme Raspberry Pi FLY, etc. Si c'est un ordinateur hôte modifié (comme une baguette WiFi, Xiaomi Mi, etc.), cet ordinateur hôte présente trop de problèmes et ne pourra pas être soutenu.
- Remarques sur le système FlyOS-Armbian et les systèmes normaux
- Remarques sur le système FlyOS-FAST
- Remarques sur le système FlyOS-Armbian et les systèmes normaux
- Les systèmes d'ordinateurs hôtes normaux tels que Raspberry Pi, FLY, etc., appartiennent à cette catégorie
- Ces ordinateurs hôtes ne doivent pas utiliser l'utilisateur
ROOT
pour effectuer tout type d'opération - Veuillez utiliser un utilisateur normal
- Méthode de changement d'utilisateur : pour le système FlyOS-Armbian, utilisez la commande
su fly
pour basculer vers l'utilisateur normal - Pour les autres systèmes, utilisez la commande
su <votre nom d'utilisateur de l'ordinateur hôte>
pour basculer vers l'utilisateur normal
su <votre nom d'utilisateur de l'ordinateur hôte>
- Remarques sur le système FlyOS-FAST
- Le nom d'utilisateur par défaut du système FAST est
root
, le mot de passe estmellow
- La compilation des microprogrammes ne peut être effectuée qu'avec l'utilisateur
root
- De plus, le système FAST n'a qu'un seul utilisateur
ROOT
, vous n'avez pas besoin de changer d'utilisateur !!!
- Le nom d'utilisateur par défaut du système FAST est
- 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
Assurez-vous que le mode de saisie du clavier est en mode demi-largeur, c'est-à-dire en mode anglais
- 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 - La touche
Entrée
ou la toucheEspace
est utilisée pour cocher une option de menu ou entrer dans un sous-menu - La touche
Échap
est utilisée pour revenir au menu précédent - La touche
Q
permet de quitter la page de configuration du firmware Klipper - La touche
Y
, lorsqu'on quitte la page de configuration du firmware Klipper et qu'une invite apparaît, appuyez surY
pour enregistrer le fichier de configuration
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 :
-
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, après quoi l'interface suivante devrait apparaître -
Sélectionnez Activer les options de configuration de bas niveau supplémentaires et appuyez sur Entrée
-
Allez dans le menu Architecture du microcontrôleur puis sélectionnez STMicroelectronics STM32 et appuyez sur Entrée
-
Allez dans le menu Modèle de processeur, sélectionnez STM32F407 et appuyez sur Entrée
-
Sélectionnez Décalage du bootloader, choisissez : 32KiB bootloader
-
Sélectionnez Interface de communication, choisissez : Pont USB vers bus CAN (USB sur PA11/PA12)
- Appuyez sur la touche
Q
, Enregistrer la configuration apparaît, puis appuyez surY
- La configuration doit être sauvegardée et le terminal doit être affiché
- Entrez la commande ci-dessous pour commencer la compilation, cela prendra un certain temps
make -j4

-
Lorsque le message suivant s'affiche, la compilation est réussie
Linking out/klipper.elf
Creating hex file out/klipper.bin
Vérifier si le mode de mise en page est activé
- Après avoir connecté la carte mère à l'ordinateur hôte avec un câble TypeC, appuyez deux fois sur le bouton reset, la LED sur la carte mère clignote.
- Si aucune LED ne clignote, réessayez de mettre en page le firmware katapult : Mettre en page le firmware katapult
- Si aucune LED ne clignote, exécutez la suite après avoir mis en page le firmware katapult
- Assurez-vous que la machine supérieure peut se connecter normalement à Internet et que le câble de données du périphérique inférieur connecté à la machine supérieure a une fonction de transmission de données.
- Après avoir établi une connexion SSH avec la machine supérieure, entrez la commande
lsusb
et appuyez sur Entrée. Si l'information entourée dans l'image ci-dessous est affichée, vous pouvez passer à l'étape suivante.- Si aucune information n'est retournée, il s'agit d'un problème système de la machine supérieure, nous ne pouvons rien faire. Vous devez remplacer un système confirmé comme fonctionnel ou changer la machine supérieure.
- Si la commande
lsusb
ne fonctionne pas, vous pouvez exécuter la commande suivante pour l'installer :sudo apt-get install usbutils
1d50:6177
appartient à l'appareil que vous utiliserez cette fois.- Certaines machines supérieures peuvent ne pas afficher correctement ou ne pas afficher du tout en raison de problèmes système.
- Si vous pouvez voir l'appareil après avoir entré la commande
lsusb
, mais que1d50:6177
n'est pas affiché, essayez de changer de câble de données et connectez le contrôleur mère à un autre port USB de la machine supérieure.
- Si vous avez effectué les étapes mentionnées précédemment et que la mise à jour du firmware Klipper a réussi, et que le contrôleur mère fonctionne normalement, mais que vous souhaitez uniquement mettre à jour le firmware Klipper, veuillez consulter la section
Mise à jour du firmware
du menu latéral droit de cette page.
Il est obligatoire de trouver le périphérique 1d50:6177
avant de poursuivre.
Mise en page du firmware
- Il est déconseillé de rechercher l'ID ou de刷固件 pendant l'impression
- Les ID des firmware CAN de Katapult et des firmware CAN de Klipper sont exactement les mêmes pour la même carte mère ou carte d'outil
- Veuillez vous assurer que le réseau CAN de l'ordinateur hôte est correctement configuré
- Seulement lorsque
1d50:606f
apparaît après la commande lsusb, vous pouvez utiliser les commandes ci-dessous pour rechercher l'ID CAN
- Le taux de communication CAN de la carte d'outil doit être identique à celui de l'ordinateur hôte, sinon l'
ID
ne pourra pas être trouvé et la programmation ne pourra pas non plus être effectuée
-
Exécutez la commande suivante pour rechercher l'UUID du CANBus :
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Pour les systèmes
fast
, utilisez cette commande pour rechercher l'ID_CAN
python ~/klipper/scripts/canbus_query.py can0
-
Après l'exécution, plusieurs cas peuvent apparaître selon votre machine, voici des exemples de référence
- Premier cas : carte mère avec firmware de pontage, un ID apparaît et affiche
Application : Klipper
- Deuxième cas : carte mère avec firmware de pontage et carte d'outil nécessitant un firmware à programmer, deux ID apparaissent
- Troisième cas : utilisation de
UTOC
avec une carte d'outil à programmer - Remarque :
UTOC
n'affiche aucun ID - Quatrième cas : aucun ID n'est affiché, généralement cela signifie que Klipper l'a déjà occupé, le taux de communication CAN0 de l'hôte est incorrect ou il y a un problème de câblage
- Premier cas : carte mère avec firmware de pontage, un ID apparaît et affiche
-
Normalement, si la carte d'outil à programmer est en mode CANBOOT, le message
Application : CanBoot
s'affiche et la LED du firmware clignote. À ce moment-là, vous devez programmer le firmware Klipper, sinon la connexion ne sera pas possible !!! -
Remarque : Si le firmware est Klipper et que l'ID a déjà été entré dans la configuration, l'ID ne s'affichera plus et sera occupé par Klipper. Vous devez masquer l'ID correspondant et couper complètement l'alimentation de la carte mère avant de redémarrer.
-
- Si l'UUID n'est pas trouvé, veuillez consulter le document ci-dessous
- Problèmes courants liés au CAN
Programmation du firmware
-
Remplacez
241696050c56
dans la commande suivante par l'UUID trouvé précédemment, faites attention à bien laisser un espace après-u
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
-
Comme indiqué sur l'image ci-dessous, si
CAN Flash Success
s'affiche, la programmation a réussi
Mise à jour du firmware
- Si vous souhaitez mettre à jour le firmware, il suffit de recompiler le firmware puis de réexécuter la commande de programmation pour mettre à jour le firmware
- Mais veuillez vous assurer de pouvoir trouver l'ID correspondant ou que Klipper soit déjà connecté
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>