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

Конфигурация ID MCU

Эта страница предназначена для централизованного описания правил заполнения ID для материнских плат, инструментальных плат, CAN-устройств и хост-МКУ в Klipper. При возникновении проблем с подключением сначала определите способ связи, затем укажите соответствующий serial: или canbus_uuid:.

Поиск ID MCU

Перед заполнением ID необходимо войти в хост-систему через SSH и выполнить соответствующие команды для получения реального идентификатора устройства.

USB-устройства

ls /dev/serial/by-id/*

Пример вывода (usb-Klipper_... — это ID в режиме прошивки Klipper):

/dev/serial/by-id/usb-Klipper_stm32h723xx_12345-if00
Различие между ID прошивки и ID для записи
  • Пример ID прошивки Klipper: usb-Klipper_stm32h723xx_12345-if00
  • Пример ID режима записи: usb-katapult_stm32h723xx_12345-if00 (содержит katapult)
  • Пример ID режима записи: usb-STM32_Bootloader_xxxxxxxxxxxx (содержит Bootloader)

В конфигурационном файле необходимо использовать ID в режиме прошивки Klipper. Если виден только ID режима записи, это означает, что инструментальная плата не перешла в рабочий режим прошивки Klipper.

CAN-устройства

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

Пример вывода:

Found canbus_uuid=688e89f0e402, Application: Klipper
Несколько UUID CAN

UUID, в которых Application отображается как CANBOOT или Katapult, являются ID режима записи и не могут использоваться напрямую в printer.cfg. Подробнее см. CAN-сеть и поиск ID.

Хост-МКУ

Если для эмуляции МКУ используется процесс Linux на хосте ([mcu host]), его последовательный порт фиксирован:

[mcu host]
serial: /tmp/klipper_host_mcu

RS232-устройства

ls -l /dev/serial/by-path/

Пример вывода:

/dev/serial/by-path/platform-3f980000.usb-usb-0:1.2:1.0-port0

Конфигурация инструментальной платы: Добавление MCU инструментальной платы и межплатная конфигурация

Пояснение к конфигурации MCU ID

В Klipper MCU ID относится к идентификационной информации, используемой для подключения к плате управления в разделе конфигурации [mcu] или [mcu xxx]. В зависимости от способа связи синтаксис различается:

Способ подключенияПараметр конфигурацииПример
USB-прошивкаserial:serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx
CAN-прошивкаcanbus_uuid:canbus_uuid: xxxxxxxxxxxx
MCU верхнего уровняserial:serial: /tmp/klipper_host_mcu

Правила заполнения:

  1. Основная плата по умолчанию использует [mcu], а для инструментальных или расширительных плат используются пользовательские имена, такие как [mcu tool] или [mcu toolboard].
  2. Для USB-прошивки указывается только serial:, для CAN-прошивки — только canbus_uuid:, не оставляйте оба параметра в одном [mcu].
  3. В машинах с несколькими MCU каждый [mcu xxx] должен использовать свой собственный реальный ID, не копируйте один и тот же USB-ID или CAN UUID.
  4. Имя [mcu xxx] влияет на префикс пинов: например, для [mcu tool] пины должны записываться как tool:gpio13; регистр имени должен быть согласованным.
  5. xxxxxxxx в примерах документации нельзя использовать напрямую, его необходимо заменить на фактический найденный ID.

Распространенные ошибки:

  • Использование ID режима прошивки (например, ID, содержащий katapult или canboot) в качестве ID прошивки Klipper.
  • Настройка canbus_uuid: в USB-прошивке или сохранение старого serial: в CAN-прошивке.
  • Настройка инструментальной платы как [mcu], перекрывая конфигурацию MCU основной платы.
  • Несоответствие префикса пинов и имени MCU: например, конфигурация [mcu toolboard], а пины записаны как tool:gpio13.

Запрос USB ID: Для USB-прошивки выполните ls /dev/serial/by-id/*, чтобы получить ID.

Запрос CAN ID: CAN-сеть и поиск ID

Конфигурация инструментальной платы: Добавление MCU инструментальной платы и межплатная конфигурация

Примеры конфигурации нескольких MCU

USB-материнская плата + CAN-инструментальная плата

USB-материнская плата подключается через serial:, CAN-инструментальная плата через 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

USB-материнская плата + USB-инструментальная плата

Обе используют serial:, различаясь по ID:

[mcu]
serial: /dev/serial/by-id/usb-Klipper_mainboard_xxxxxxxxxxxx

[mcu toolboard]
serial: /dev/serial/by-id/usb-Klipper_toolboard_xxxxxxxxxxxx

CAN-материнская плата + CAN-инструментальная плата

Обе используют canbus_uuid:, каждый UUID должен быть уникальным:

[mcu]
canbus_uuid: aabbccddeeff

[mcu toolboard]
canbus_uuid: 112233445566

Хост-МКУ + USB-материнская плата

Хост запускает процесс MCU Linux, материнская плата подключается по USB:

[mcu host]
serial: /tmp/klipper_host_mcu

[mcu]
serial: /dev/serial/by-id/usb-Klipper_xxxxxxxxxxxx

Частые ошибки

Неправильное действиеПравильное действие
Использование ID режима записи как ID KlipperУбедиться, что устройство перешло в прошивку Klipper, затем запросить ID
Одновременное заполнение serial: и canbus_uuid: для USB-прошивкиДля USB-прошивки заполнять только serial:, для CAN-прошивки только canbus_uuid:
Запись инструментальной платы как [mcu], перекрывая конфигурацию материнской платыИспользовать уникальное имя, например [mcu toolboard]
Использование одного и того же ID для нескольких MCUКаждый MCU должен использовать свой уникальный ID
Несоответствие префикса пина имени MCUДля [mcu toolboard] пин указывать как toolboard:PA0, с совпадением регистра имени
Прямое копирование xxxxxxxx из документацииЗаменить на реальный ID, полученный при поиске

Пути поиска проблем

Признак проблемыПуть поиска
USB ID не найден или ошибка [Errno 2]Обзор частых ошибок
CAN UUID недействителен или устройство не в сетиCAN-сеть и поиск ID
Отключение нескольких MCU, невозможность обновления конфигурацииСистемные, производительность и сервисные ошибки
Добавление инструментальной платы, конфигурация межплатных пиновДобавление MCU инструментальной платы и межплатная конфигурация
Ошибки префиксов пинов, повторяющиеся пины или имена MCUОшибки конфигурации
Loading...