Configuration de l'ID MCU
Cette page sert à expliquer de manière centralisée les règles de saisie des ID pour les cartes mères, les cartes d'outillage, les appareils CAN et les MCU de l'hôte dans Klipper. Lors de la résolution de problèmes de connexion, veuillez d'abord confirmer le mode de communication, puis renseigner le champ serial: ou canbus_uuid: correspondant.
Si une vérification complète à partir d'une sauvegarde ou d'une configuration minimale est nécessaire : Guide de connexion du MCU principal
Recherche de l'ID MCU
Avant de remplir l'ID, vous devez vous connecter à l'hôte via SSH et exécuter les commandes correspondantes pour obtenir l'identifiant réel de l'appareil.
Périphérique USB
ls /dev/serial/by-id/*
Exemple de sortie (usb-Klipper_... est l'ID en mode firmware Klipper) :
/dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
- Exemple d'ID du firmware Klipper :
usb-Klipper_stm32h723xx_12345-if00 - Exemple d'ID du mode flashage :
usb-katapult_stm32h723xx_12345-if00(contientkatapult) - Exemple d'ID du mode flashage :
usb-STM32_Bootloader_xxxxxxxxxxxx(contientBootloader)
Le fichier de configuration doit utiliser l'ID du mode firmware Klipper. Si seul l'ID du mode flashage est visible, cela signifie que la carte d'outillage n'est pas en cours d'exécution avec le firmware Klipper.
Périphérique CAN
- Ligne de commande SSH
- FlyOS-FAST / hôte FLY
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Exemple de sortie :
Found canbus_uuid=688e89f0e402, Application: Klipper
Les hôtes FAST ou FLY utilisent directement python3 pour effectuer la recherche :
python3 ~/klipper/scripts/canbus_query.py can0
Le CAN0 du système FAST est préconfiguré à 1M de débit et 1024 de cache, aucune configuration manuelle n'est généralement nécessaire.
Les UUID dont l'Application affiche CANBOOT ou Katapult sont des ID en mode flashage et ne peuvent pas être utilisés directement dans printer.cfg. Pour une vérification détaillée, veuillez consulter Réseau CAN et recherche d'ID.
MCU de l'hôte
Si vous utilisez un processus Linux de l'hôte pour simuler un MCU ([mcu host]), son port série est fixé à :
[mcu host]
serial: /tmp/klipper_host_mcu
Périphérique RS232
ls -l /dev/serial/by-path/
Exemple de sortie :
/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0
Configuration de la carte d'outillage : Ajout du MCU de la carte d'outillage et configuration inter-cartes
Explication de la configuration de l'ID MCU
Dans Klipper, l'ID MCU fait référence aux informations d'identification utilisées pour se connecter à la carte de contrôle dans la section de configuration [mcu] ou [mcu xxx]. Les différentes méthodes de communication s'écrivent différemment :
| Méthode de connexion | Élément de configuration | Exemple |
|---|---|---|
| Firmware USB | serial: | serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx |
| Firmware CAN | canbus_uuid: | canbus_uuid: xxxxxxxxxxxx |
| Périphérique RS232 | serial: | serial: /dev/serial/by-path/xxxxxxxxxxxx |
| MCU de l'hôte | serial: | serial: /tmp/klipper_host_mcu |
Règles de remplissage :
- La carte mère utilise par défaut
[mcu], la carte d'outillage ou la carte d'extension utilise des noms personnalisés tels que[mcu tool],[mcu toolboard], etc. - Le firmware USB ne remplit que
serial:, le firmware CAN ne remplit quecanbus_uuid:, ne conservez pas les deux éléments dans le même[mcu]. - Dans une machine à plusieurs MCU, chaque
[mcu xxx]doit utiliser son propre ID réel, ne copiez pas le même ID USB ou UUID CAN. - Le nom de
[mcu xxx]affecte le préfixe des broches, par exemple les broches de[mcu tool]doivent être écrites commetool:gpio13; la casse du nom doit rester cohérente. - Le
xxxxxxxxdans les exemples de documentation ne peut pas être utilisé directement, il doit être remplacé par l'ID réellement trouvé. - Pour les périphériques RS232, en plus de
serial:, il est généralement nécessaire de remplirbaud: 250000etrestart_method: command; se référer à la documentation du produit correspondant.
Erreurs courantes :
- Utiliser l'ID du mode de flashage (comme un ID contenant
katapult,canboot) comme ID du firmware Klipper. - Le firmware USB est configuré avec
canbus_uuid:, ou le firmware CAN conserve encore l'ancienserial:. - Pour les périphériques RS232, seule la voie est remplie, en omettant les
baud:ourestart_method:requis. - La carte d'outillage est configurée comme
[mcu], ce qui écrase la configuration MCU de la carte mère. - Le préfixe des broches et le nom du MCU ne correspondent pas, par exemple la configuration est
[mcu toolboard], mais les broches sont écritestool:gpio13.
Recherche d'ID USB : Pour le firmware USB, exécutez
ls /dev/serial/by-id/*pour obtenir l'ID.
Recherche d'ID CAN : Réseau CAN et recherche d'ID
Recherche de voie RS232 : Exécutez
ls -l /dev/serial/by-path/pour obtenir la voie de périphérique stable.
Configuration de la carte d'outillage : Ajout de MCU pour carte d'outillage et configuration inter-cartes
Exemples de configuration multi-MCU
Carte mère USB + carte d'outillage CAN
La carte mère USB est connectée via serial:, la carte d'outillage CAN est connectée via canbus_uuid: :
[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
[mcu tool]
canbus_uuid: xxxxxxxxxxxx
[temperature_sensor ToolBoard]
sensor_type: temperature_mcu
sensor_mcu: tool
Carte mère USB + carte d'outillage USB
Les deux sont connectées via serial:, en les distinguant par des ID différents :
[mcu]
serial: /dev/serial/by-id/usb-Klipper_mainboard_xxxxxxxxxxxx
[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_toolboard_xxxxxxxxxxxx
Carte mère CAN + carte d'outillage CAN
Les deux utilisent canbus_uuid:, chaque UUID doit être différent :
[mcu]
canbus_uuid: aabbccddeeff
[mcu toolboard]
canbus_uuid: 112233445566
MCU de l'hôte + carte mère USB
L'hôte exécute un processus Linux comme MCU, la carte mère est connectée via USB :
[mcu host]
serial: /tmp/klipper_host_mcu
[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
Idées reçues courantes
| Erreur courante | Bonne pratique |
|---|---|
| Utiliser l'ID du mode flashage comme ID Klipper | S'assurer que l'appareil est en mode firmware Klipper avant de rechercher l'ID |
Remplir à la fois serial: et canbus_uuid: pour un firmware USB | Le firmware USB ne remplit que serial:, le firmware CAN ne remplit que canbus_uuid: |
Écrire la carte d'outillage comme [mcu] et écraser la configuration de la carte mère | La carte d'outillage utilise un nom personnalisé tel que [mcu toolboard] |
| Plusieurs MCU partagent le même ID | Chaque MCU doit utiliser son propre ID unique |
| Le préfixe des broches ne correspond pas au nom du MCU | Les broches de [mcu toolboard] s'écrivent toolboard:PA0, avec une casse identique au nom |
Copier directement les xxxxxxxx des documents | Ils doivent être remplacés par les ID réels trouvés |
Points d'entrée pour le dépannage
| Problème observé | Point d'entrée pour le dépannage |
|---|---|
ID USB introuvable ou [Errno 2] | Aperçu des erreurs courantes |
| UUID CAN invalide ou appareil hors ligne | Réseau CAN et recherche d'ID |
| Déconnexion multi-MCU, configuration impossible à mettre à jour | Erreurs système, de performance et de service |
| Ajout de la carte d'outillage, configuration des broches inter-cartes | Ajout du MCU de la carte d'outillage et configuration inter-cartes |
| Préfixe des broches, broches dupliquées ou erreur de nom de MCU | Erreurs de configuration |