Перейти к основному содержанию

Ошибки класса конфигурации

На этой странице собраны вопросы, связанные с конфликтами разделов конфигурации, опечатками в параметрах, файлами include и SAVE_CONFIG. После изменения конфигурации сначала посмотрите первую ошибку конфигурации в klippy.log, а затем обрабатывайте каждый пункт по порядку.

homing override method always homes X and Y before homing Z

Сообщение об ошибке: Конфликт конфигурации безопасного возврата по Z и переопределения возврата в исходное положение.

Loading...

Причина ошибки: Одновременно настроены [safe_z_home] и [homing_override], в результате чего Klipper не может определить, какую логику возврата использовать.

Метод решения:

  1. Найдите [safe_z_home] и [homing_override] в файле конфигурации.
  2. Оставьте только один из них в соответствии с фактической логикой возврата станка.
  3. Сохраните и перезапустите Klipper.

Связанные конфигурации: Руководство по возврату и калибровке направления, Справочная конфигурация переопределения возврата.

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

Сообщение об ошибке: Option 'xxx' is not valid in section 'yyy', в указанном разделе конфигурации присутствует нераспознанное имя опции.

Распространенные причины:

  • Опечатка в имени опции, например, sensor_pin написано как sensor_ping.
  • Ошибочное копирование опции из другого раздела конфигурации в текущий, например, запись опции из [probe] в [stepper_z].
  • После обновления версии Klipper опция, поддерживаемая в старой версии, была удалена или переименована.
  • Использование содержимого комментария, не являющегося фактическим параметром, например, default_parameter_z.

Метод решения:

  1. Внимательно проверьте раздел конфигурации и имя опции, указанные в ошибке, подтвердите написание.
  2. Обратитесь к Справочной документации по конфигурации Klipper, чтобы подтвердить, к какому разделу конфигурации должна относиться эта опция.
  3. Если вы недавно обновляли Klipper, просмотрите Журнал изменений конфигурации, чтобы проверить, не изменилась ли опция.
  4. Удалите или переместите недействительную опцию в правильный раздел конфигурации.

Связанные конфигурации: Инструкция по изменению конфигурации.

Section 'xxx' is not a valid config section

Сообщение об ошибке: Section 'xxx' is not a valid config section, Unknown config object или какой-либо раздел конфигурации не может быть распознан Klipper.

Распространенные причины:

  • Опечатка в имени раздела конфигурации, например, [bed_mesh] написано как [bedmesh].
  • Текущая версия Klipper не поддерживает этот раздел конфигурации, или формат конфигурации несовместим после обновления/понижения версии.
  • Скопирована конфигурация стороннего плагина, но соответствующий плагин, модуль расширения или ветка Klipper не установлены.
  • В файлах include сохранены разделы конфигурации для другого станка или другой платы.

Метод решения:

  1. В соответствии с именем раздела конфигурации из ошибки найдите соответствующий абзац в printer.cfg и всех файлах include.
  2. Убедитесь, что написание соответствует справочнику по конфигурации Klipper, не используйте китайские скобки или полноширинные символы в именах разделов конфигурации.
  3. Если конфигурация взята из стороннего плагина или пользовательского пакета макросов, убедитесь, что соответствующий плагин установлен и совместим с текущей версией Klipper.
  4. Если вы не уверены в назначении этого абзаца, сначала закомментируйте этот раздел конфигурации и перезапустите для тестирования, затем восстанавливайте по порядку.

Связанные конфигурации: Инструкция по изменению конфигурации.

Unable to open config file / Include file does not exist

Сообщение об ошибке: Unable to open config file /home/xxx/printer_data/config/printer.cfg или Include file 'xxx.cfg' does not exist.

Распространенные причины:

  • Неверный путь к файлу printer.cfg или файл был случайно удален.
  • Подчиненный файл конфигурации, на который ссылается [include], не существует или имя файла не совпадает.
  • Инструменты установки, такие как KIAUH, автоматически создают ссылку [include], но соответствующий файл cfg не установлен.
  • Проблемы с правами доступа, из-за которых Klipper не может прочитать файл конфигурации.

Метод решения:

  1. Убедитесь, что printer.cfg существует в каталоге конфигурации Klipper, обычно ~/printer_data/config/printer.cfg.
  2. Проверьте все строки [include xxx.cfg], убедитесь, что указанные файлы действительно существуют.
  3. Если отсутствует fluidd.cfg или mainsail.cfg, обратитесь к документации по установке соответствующего веб-интерфейса, чтобы дополнить конфигурацию.
  4. Убедитесь, что права доступа к файлам конфигурации установлены правильно: ls -la ~/printer_data/config/.

Unable to parse option / option must be specified

Сообщение об ошибке: Unable to parse option 'xxx' in section 'yyy', Option 'xxx' in section 'yyy' must be specified или must have minimum/maximum, must be above/below.

Распространенные причины:

  • Отсутствуют обязательные параметры, например, в [extruder] отсутствует step_pin, dir_pin, heater_pin или sensor_type.
  • Неверный формат параметра, например, требуется число, но введен текст, требуется список координат, но отсутствует запятая.
  • Значение параметра выходит за пределы, допустимые Klipper, например, необоснованная настройка run_current, max_temp, position_max.
  • При копировании конфигурации сохранены китайские знаки препинания, полноширинные символы или невидимые символы.

Метод решения:

  1. В соответствии с разделом конфигурации и именем параметра из ошибки вернитесь к соответствующему файлу .cfg и проверьте каждый пункт.
  2. Для числовых параметров, координат и списков убедитесь, что формат соответствует примеру, например, mesh_min: 20, 20.
  3. Для must be above/below или minimum/maximum сначала восстановите значения, рекомендованные официальным примером или руководством по плате.
  4. После сохранения выполните RESTART, если ошибка все еще возникает, снова просмотрите первую ошибку конфигурации в klippy.log.

Связанные конфигурации: Инструкция по изменению конфигурации.

Unknown pin chip name / pin used multiple times

Сообщение об ошибке: Unknown pin chip name 'xxx', Invalid pin description 'xxx', pin xxx used multiple times in config.

Распространенные причины:

  • Неверно написан префикс вывода в многоконтроллерной конфигурации, например, следует написать EBBCan:PB0, но написано имя несуществующего MCU.
  • Опечатка в имени вывода или прямое копирование вывода из руководства по одной плате в другую.
  • Один и тот же физический вывод занят несколькими функциями, например, вентилятор, нагреватель и концевик одновременно используют один и тот же вывод.
  • Инвертирование вывода !, подтяжка вверх ^, подтяжка вниз ~ написаны в неправильном месте.

Метод решения:

  1. Проверьте, полностью ли совпадает имя [mcu xxx] с префиксом вывода, включая регистр.
  2. Сверьтесь с распиновкой платы, убедитесь, что каждый pin:, step_pin:, dir_pin:, heater_pin: относится к текущей плате.
  3. Найдите во всех файлах include вывод, указанный в ошибке, удалите или замените повторяющиеся записи.
  4. Модификаторы вывода должны быть указаны перед именем вывода, например, ^PB7, !PC13, mcu2:^PB7.

Связанные конфигурации: Инструкция по изменению конфигурации, Справочная конфигурация вентилятора.

gcode command XXX already registered

Сообщение об ошибке: Error: gcode command XXX already registered.

Причина ошибки: Два разных макроса или системных модуля зарегистрировали одно и то же имя G-кода, например, оба макроса определяют [gcode_macro NEXT].

Распространенные сценарии:

  • Конфликт пользовательского макроса с системным модулем Klipper или сторонней конфигурацией.
  • Несколько определений [gcode_macro M600].

Метод решения:

  1. Найдите повторяющиеся определения в printer.cfg и всех файлах [include].
  2. Удалите или переименуйте конфликтующий [gcode_macro].
  3. Проверьте часто используемые макросы, такие как [homing_override], [gcode_macro PAUSE], [gcode_macro RESUME], [gcode_macro CANCEL_PRINT].

Связанные конфигурации: Введение в макросы.

Unknown command:"XXX"

Сообщение об ошибке: В консоли или klippy.log появляется 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", и т.д.

Распространенные причины:

  • В начальном или конечном G-коде слайсера вызывается макрос, не существующий в Klipper, например, слайсер отправляет PRINT_START, но в конфигурации определен только [gcode_macro START_PRINT].
  • Используются команды, перенесенные из Marlin, которые Klipper по умолчанию не поддерживает или для совместимости требуется макрос.
  • Включена функция исключения объектов, но конфигурация слайсера, Moonraker или Klipper неполна, из-за чего EXCLUDE_OBJECT_START / EXCLUDE_OBJECT_END не распознаются.
  • Для вентилятора используется [fan_generic] или [output_pin], но слайсер все еще отправляет стандартные M106 / M107.
  • При использовании стороннего пакета макросов отсутствуют файлы include, или имя макроса не соответствует имени, указанному в слайсере.

Метод решения:

  1. Найдите в printer.cfg и всех файлах include имя команды из ошибки, подтвердите наличие соответствующего [gcode_macro XXX].
  2. Приведите имена команд начала, конца, смены материала, вентилятора и исключения объектов в слайсере в соответствие с именами макросов Klipper.
  3. Если это команды Marlin, сначала удалите ненужные команды; если совместимость действительно необходима, добавьте явный макрос Klipper.
  4. При ошибках, связанных с исключением объектов, одновременно проверьте, выводит ли слайсер метки объектов, включена ли обработка объектов в Moonraker и есть ли [exclude_object] в Klipper.
  5. При ошибках команд вентилятора проверьте, следует ли использовать [fan], или добавьте соответствующий управляющий макрос для [fan_generic] / [output_pin].

Связанные конфигурации: Введение в макросы, Инструкция по изменению конфигурации.

Error evaluating 'gcode_macro XXX:gcode'

Сообщение об ошибке: 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.

Распространенные причины:

  • Слайсер не передал параметры, необходимые макросу, например, макрос читает params.HOTEND, но слайсер не передал HOTEND=.
  • Несоответствие имен параметров, например, макросу нужны BED / HOTEND, а слайсер фактически передает BED_TEMP / EXTRUDER_TEMP.
  • Макрос ссылается на несуществующий объект, например, в конфигурации нет [heater_bed], но макрос читает printer.heater_bed.
  • В макросе используется синтаксис Jinja2, но допущена ошибка в скобках, кавычках, фильтрах или значениях по умолчанию.
  • Команда, выполняемая внутри макроса, сначала выдает ошибку, а внешний слой отображает только Error evaluating.

Метод решения:

  1. Просмотрите полную трассировку под Error evaluating в klippy.log, чтобы определить, какая переменная или команда вызывает ошибку.
  2. Сверьтесь с начальным G-кодом слайсера, убедитесь, что имена передаваемых параметров полностью совпадают с params.xxx в макросе, включая регистр.
  3. Установите значения по умолчанию для необязательных параметров, например, params.BED|default(60)|float, чтобы избежать ошибок при пустом параметре.
  4. Найдите объекты printer.xxx, используемые в макросе, убедитесь, что в конфигурации существуют соответствующие модули.
  5. Если макрос взят из стороннего конфигурационного пакета, убедитесь, что все зависимые файлы include и базовые макросы загружены.

Связанные конфигурации: Введение в макросы.

Сбой SAVE_CONFIG или конфликт конфигурации

Сообщение об ошибке: После выполнения SAVE_CONFIG появляется Unable to write config, Option conflict, Cannot save config, или после сохранения принтер не может запуститься.

Распространенные причины:

  • Недостаточно прав доступа к файлу printer.cfg, процесс Klipper не может выполнить запись, часто встречается после редактирования файла конфигурации с помощью sudo.
  • Конфликт параметров в области автоматического сохранения (блок #*#) с теми же опциями в ручном файле [include].
  • MCU находится в состоянии shutdown, SAVE_CONFIG не может нормально отправить новую конфигурацию.
  • В конце файла printer.cfg присутствует синтаксическая ошибка или он обрезан, что приводит к сбою записи области автоматического сохранения.
  • В нескольких файлах include повторно определены параметры, которые не должны автоматически сохраняться с помощью SAVE_CONFIG, такие как PID, Z offset.

Метод решения:

  1. Проверьте права доступа к файлу конфигурации:

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

    Если владелец не текущий пользователь, выполните: sudo chown $USER:$USER ~/printer_data/config/printer.cfg

  2. Если после SAVE_CONFIG принтер не запускается, откройте printer.cfg и просмотрите область автоматического сохранения #*# внизу.

  3. Если та же опция существует и в файле include, удалите дубликат из области автоматического сохранения или переведите управление в файл include.

  4. Если MCU находится в состоянии shutdown, сначала выполните FIRMWARE_RESTART, затем снова выполните SAVE_CONFIG.

  5. Если права доступа в норме, но запись все равно не выполняется, проверьте дисковое пространство: df -h ~/printer_data/.

Связанные конфигурации: Инструкция по изменению конфигурации.

Loading...