Aller au contenu principal

Erreur de classe de configuration

Cette page rassemble les problèmes liés aux conflits de sections de configuration, aux fautes d'orthographe des paramètres, aux fichiers include et aux questions relatives à SAVE_CONFIG. Après avoir modifié la configuration, veuillez d'abord consulter la première erreur de configuration dans klippy.log, puis traiter chaque élément un par un.

homing override method always homes X and Y before homing Z

Message d'erreur : Conflit entre le retour à la position d'origine sécurisé Z et la configuration de remplacement du retour à la position d'origine.

Loading...

Cause de l'erreur : [safe_z_home] et [homing_override] sont configurés en même temps, ce qui empêche Klipper de déterminer quelle logique de retour à la position d'origine utiliser.

Solution :

  1. Recherchez [safe_z_home] et [homing_override] dans le fichier de configuration.
  2. Ne conservez qu'un seul élément en fonction de la logique de retour à la position d'origine réelle de la machine.
  3. Enregistrez et redémarrez Klipper.

Références de configuration associées : Guide de retour à la position d'origine et d'étalonnage de la direction, Configuration de référence pour le remplacement du retour à la position d'origine.

Option 'xxx' is not valid in section 'yyy'

Message d'erreur : Option 'xxx' is not valid in section 'yyy', un nom d'option non reconnu existe dans la section de configuration spécifiée.

Causes courantes :

  • Faute d'orthographe dans le nom de l'option, par exemple sensor_pin écrit comme sensor_ping.
  • Coller accidentellement une option d'une autre section de configuration sous la section actuelle, par exemple écrire une option de [probe] dans [stepper_z].
  • Après une mise à niveau de Klipper, les options prises en charge par l'ancienne version ont été supprimées ou renommées.
  • Utilisation d'un contenu de commentaire qui n'est pas un paramètre réel, par exemple default_parameter_z.

Solution :

  1. Vérifiez attentivement la section de configuration et le nom de l'option indiqués dans l'erreur pour confirmer l'orthographe.
  2. Référez-vous au document de référence de configuration Klipper pour confirmer à quelle section de configuration cette option appartient.
  3. Si vous avez récemment mis à niveau Klipper, consultez le journal des modifications de configuration pour voir si l'option a changé.
  4. Supprimez ou déplacez l'option invalide vers la section de configuration correcte.

Références de configuration associées : Instructions de modification de configuration.

Section 'xxx' is not a valid config section

Message d'erreur : Section 'xxx' is not a valid config section, Unknown config object ou une certaine section de configuration ne peut pas être reconnue par Klipper.

Causes courantes :

  • Faute d'orthographe dans le nom de la section de configuration, par exemple [bed_mesh] écrit comme [bedmesh].
  • La version actuelle de Klipper ne prend pas en charge cette section de configuration, ou le format de configuration n'est pas compatible après une mise à jour ou une rétrogradation.
  • Copie de la configuration d'un plugin tiers, mais le plugin correspondant, le module d'extension ou la branche Klipper n'est pas installé.
  • Le fichier include conserve les sections de configuration d'une autre machine ou d'une autre carte mère.

Solution :

  1. En fonction du nom de la section de configuration dans l'erreur, localisez le paragraphe correspondant dans printer.cfg et tous les fichiers include.
  2. Confirmez que l'orthographe correspond à la référence de configuration Klipper. N'utilisez pas de parenthèses chinoises ou de symboles pleine largeur pour les noms de section de configuration.
  3. Si la configuration provient d'un plugin tiers ou d'un package de macros personnalisé, confirmez que le plugin correspondant est installé et compatible avec la version actuelle de Klipper.
  4. Si vous n'êtes pas sûr de l'utilisation du paragraphe, commentez d'abord cette section de configuration et redémarrez pour tester, puis restaurez élément par élément.

Références de configuration associées : Instructions de modification de configuration.

Unable to open config file / Include file does not exist

Message d'erreur : Unable to open config file /home/xxx/printer_data/config/printer.cfg ou Include file 'xxx.cfg' does not exist.

Causes courantes :

  • Le chemin du fichier printer.cfg est incorrect ou le fichier a été accidentellement supprimé.
  • Le fichier de sous-configuration référencé par [include] n'existe pas ou le nom du fichier ne correspond pas.
  • Les outils d'installation comme KIAUH génèrent automatiquement une référence [include] mais le fichier cfg correspondant n'est pas installé.
  • Problème de droits empêchant Klipper de lire le fichier de configuration.

Solution :

  1. Confirmez que printer.cfg existe dans le répertoire de configuration Klipper, généralement ~/printer_data/config/printer.cfg.
  2. Vérifiez toutes les lignes [include xxx.cfg] pour confirmer que le fichier référencé existe réellement.
  3. Si fluidd.cfg ou mainsail.cfg manquent, reportez-vous à la documentation d'installation de l'interface Web correspondante pour compléter la configuration.
  4. Assurez-vous que les droits du fichier de configuration sont corrects : ls -la ~/printer_data/config/.

Unable to parse option / option must be specified

Message d'erreur : Unable to parse option 'xxx' in section 'yyy', Option 'xxx' in section 'yyy' must be specified, ou must have minimum/maximum, must be above/below.

Causes courantes :

  • Paramètre obligatoire manquant, par exemple [extruder] manque step_pin, dir_pin, heater_pin ou sensor_type.
  • Format de paramètre incorrect, par exemple un nombre attendu mais un texte saisi, une liste de coordonnées attendue mais une virgule manquante.
  • Valeur de paramètre en dehors de la plage autorisée par Klipper, par exemple run_current, max_temp, position_max définis de manière irraisonnable.
  • Conservation de la ponctuation chinoise, des symboles pleine largeur ou des caractères invisibles lors de la copie de la configuration.

Solution :

  1. En fonction de la section de configuration et du nom de paramètre dans l'erreur, revenez au fichier .cfg correspondant et vérifiez élément par élément.
  2. Pour les paramètres numériques, de coordonnées et de liste, confirmez que le format est cohérent avec l'exemple, par exemple mesh_min: 20, 20.
  3. Pour must be above/below ou minimum/maximum, rétablissez d'abord les valeurs recommandées par l'exemple officiel ou le tutoriel de la carte mère.
  4. Après avoir enregistré, exécutez RESTART. Si cela échoue encore, consultez la première erreur de configuration dans klippy.log.

Références de configuration associées : Instructions de modification de configuration.

Unknown pin chip name / pin used multiple times

Message d'erreur : Unknown pin chip name 'xxx', Invalid pin description 'xxx', pin xxx used multiple times in config.

Causes courantes :

  • Dans une configuration multi-MCU, le préfixe de broche est mal écrit, par exemple EBBCan:PB0 devrait être écrit mais un nom de MCU inexistant est saisi.
  • Faute d'orthographe dans le nom de la broche, ou copie directe de la broche du tutoriel de la carte mère vers une autre carte mère.
  • La même broche physique est occupée par plusieurs fonctions en double, par exemple ventilateur, chauffage, butée utilisant la même broche.
  • L'inversion de broche !, le pull-up ^, le pull-down ~ sont écrits au mauvais endroit.

Solution :

  1. Vérifiez que le nom de [mcu xxx] correspond exactement au préfixe de broche, y compris la casse.
  2. Comparez avec le plan des broches de la carte mère pour confirmer que chaque pin:, step_pin:, dir_pin:, heater_pin: appartient à la carte mère actuelle.
  3. Recherchez la broche signalée dans tous les fichiers include, supprimez ou remplacez les éléments en double.
  4. Les modificateurs de broche doivent être écrits avant le nom de la broche, par exemple ^PB7, !PC13, mcu2:^PB7.

Références de configuration associées : Instructions de modification de configuration, Configuration de référence du ventilateur.

gcode command XXX already registered

Message d'erreur : Error: gcode command XXX already registered.

Cause de l'erreur : Deux macros ou modules système différents enregistrent le même nom de commande G-code, par exemple deux macros définissent toutes deux [gcode_macro NEXT].

Scénarios courants :

  • Conflit entre une macro personnalisée de l'utilisateur et un module système Klipper ou une configuration tierce.
  • Définitions multiples de [gcode_macro M600].

Solution :

  1. Recherchez les définitions en double dans printer.cfg et tous les fichiers [include].
  2. Supprimez ou renommez le [gcode_macro] en conflit.
  3. Vérifiez les macros courantes comme [homing_override], [gcode_macro PAUSE], [gcode_macro RESUME], [gcode_macro CANCEL_PRINT].

Références de configuration associées : Introduction aux macros.

Unknown command:"XXX"

Message d'erreur : Unknown command:"PRINT_START", Unknown command:"START_PRINT", Unknown command:"M600", Unknown command:"EXCLUDE_OBJECT_START", Unknown command:"EXCLUDE_OBJECT_END", Unknown command:"M106", Unknown command:"M201", Unknown command:"M203", Unknown command:"M205", etc. apparaissent dans la console ou klippy.log.

Causes courantes :

  • Le G-code de début ou de fin du slicer appelle une macro qui n'existe pas dans Klipper. Par exemple, le slicer envoie PRINT_START, mais la configuration ne définit que [gcode_macro START_PRINT].
  • Utilisation de commandes migrées depuis Marlin, que Klipper ne prend pas en charge par défaut ou nécessite une macro pour être compatible.
  • Activation de la fonction d'exclusion d'objet, mais la configuration du slicer, de Moonraker ou de Klipper est incomplète, ce qui empêche la reconnaissance de EXCLUDE_OBJECT_START / EXCLUDE_OBJECT_END.
  • Le ventilateur utilise [fan_generic] ou [output_pin], mais le slicer envoie toujours les commandes par défaut M106 / M107.
  • Utilisation d'un package de macros tiers avec un fichier include manquant, ou le nom de la macro ne correspond pas au nom saisi dans le slicer.

Solution :

  1. Recherchez le nom de la commande signalée dans printer.cfg et tous les fichiers include pour confirmer s'il existe un [gcode_macro XXX] correspondant.
  2. Assurez-vous que les noms des commandes de début, de fin, de changement de filament, de ventilateur et d'exclusion d'objet dans le slicer correspondent aux macros Klipper.
  3. S'il s'agit de commandes Marlin, privilégiez la suppression des commandes inutiles ; si une compatibilité est réellement nécessaire, ajoutez une macro Klipper explicite.
  4. Pour les erreurs liées à l'exclusion d'objet, vérifiez simultanément si le slicer génère l'étiquette d'objet, si Moonraker active le traitement des objets, et si Klipper dispose de [exclude_object].
  5. En cas d'erreur de commande de ventilateur, confirmez si [fan] doit être utilisé, ou ajoutez une macro de contrôle correspondante pour [fan_generic] / [output_pin].

Références de configuration associées : Introduction aux macros, Instructions de modification de configuration.

Error evaluating 'gcode_macro XXX:gcode'

Message d'erreur : Error evaluating 'gcode_macro PRINT_START:gcode', jinja2.exceptions.UndefinedError, 'dict object' has no attribute 'BED', 'dict object' has no attribute 'HOTEND', 'dict object' has no attribute 'extrude', 'dict object' has no attribute 'heater_bed', gcode.CommandError.

Causes courantes :

  • Le slicer ne transmet pas le paramètre requis par la macro, par exemple la macro lit params.HOTEND mais le slicer ne transmet pas HOTEND=.
  • Incohérence du nom du paramètre, par exemple la macro nécessite BED / HOTEND, mais le slicer transmet réellement BED_TEMP / EXTRUDER_TEMP.
  • La macro fait référence à un objet inexistant, par exemple la configuration n'a pas [heater_bed], mais la macro lit printer.heater_bed.
  • La macro utilise la syntaxe Jinja2, mais les parenthèses, guillemets, filtres ou valeurs par défaut sont mal écrits.
  • La commande exécutée à l'intérieur de la macro génère d'abord une erreur, et la couche externe n'affiche que Error evaluating.

Solution :

  1. Consultez la trace complète sous Error evaluating dans klippy.log pour confirmer quelle variable ou commande est en erreur.
  2. Comparez avec le G-code de début du slicer pour confirmer que le nom du paramètre transmis correspond exactement à params.xxx dans la macro, y compris la casse.
  3. Définissez une valeur par défaut pour les paramètres optionnels, par exemple params.BED|default(60)|float, pour éviter une erreur lorsque le paramètre est vide.
  4. Recherchez l'objet printer.xxx utilisé dans la macro pour confirmer que le module correspondant existe dans la configuration.
  5. Si la macro provient d'un package de configuration tiers, confirmez que tous les fichiers include et les macros de base dépendants sont chargés.

Références de configuration associées : Introduction aux macros.

Échec de SAVE_CONFIG ou conflit de configuration

Messages d'erreur : Après l'exécution de SAVE_CONFIG, Unable to write config, Option conflict, Cannot save config s'affichent, ou l'imprimante ne peut pas démarrer après l'enregistrement.

Causes courantes :

  • Droits insuffisants sur le fichier printer.cfg, le processus Klipper ne peut pas écrire, courant après avoir édité le fichier de configuration avec sudo.
  • Conflit entre les éléments de configuration dans la zone d'enregistrement automatique (bloc de marquage #*#) et les mêmes options dans le fichier manuel [include].
  • Le MCU est déjà en état d'arrêt, SAVE_CONFIG ne peut pas transmettre correctement la nouvelle configuration.
  • Erreur de syntaxe ou troncature à la fin du fichier printer.cfg, empêchant l'écriture de la zone d'enregistrement automatique.
  • Plusieurs fichiers include définissent en double des paramètres qui ne devraient pas être automatiquement enregistrés par SAVE_CONFIG, comme PID, Z offset.

Solution :

  1. Confirmez les droits du fichier de configuration :

    ls -la ~/printer_data/config/printer.cfg

    Si le propriétaire n'est pas l'utilisateur actuel, exécutez : sudo chown $USER:$USER ~/printer_data/config/printer.cfg

  2. Si l'imprimante ne peut pas démarrer après SAVE_CONFIG, ouvrez le bas de printer.cfg pour consulter la zone d'enregistrement automatique #*#.

  3. Si la même option existe également dans le fichier include, supprimez les doublons dans la zone d'enregistrement automatique, ou gérez-les de manière centralisée dans le fichier include.

  4. Si le MCU est en état d'arrêt, exécutez d'abord FIRMWARE_RESTART, puis réexécutez SAVE_CONFIG.

  5. Si les droits sont normaux mais que l'écriture est toujours impossible, vérifiez l'espace disque : df -h ~/printer_data/.

Références de configuration associées : Instructions de modification de configuration.

Loading...