Конфигурация 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 прошивки Klipper:
usb-Klipper_stm32h723xx_12345-if00 - Пример ID режима записи:
usb-katapult_stm32h723xx_12345-if00(содержитkatapult) - Пример ID режима записи:
usb-STM32_Bootloader_xxxxxxxxxxxx(содержитBootloader)
В конфигурационном файле необходимо использовать ID в режиме прошивки Klipper. Если виден только ID режима записи, это означает, что инструментальная плата не перешла в рабочий режим прошивки Klipper.
CAN-устройства
- Командная строка SSH
- FlyOS-FAST / Хост FLY
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
Пример вывода:
Found canbus_uuid=688e89f0e402, Application: Klipper
Хосты FAST или FLY используют python3 для поиска:
python3 ~/klipper/scripts/canbus_query.py can0
В системе FAST CAN0 предварительно настроен на скорость 1M и буфер 1024, обычно ручная настройка не требуется.
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 |
Правила заполнения:
- Основная плата по умолчанию использует
[mcu], а для инструментальных или расширительных плат используются пользовательские имена, такие как[mcu tool]или[mcu toolboard]. - Для USB-прошивки указывается только
serial:, для CAN-прошивки — толькоcanbus_uuid:, не оставляйте оба параметра в одном[mcu]. - В машинах с несколькими MCU каждый
[mcu xxx]должен использовать свой собственный реальный ID, не копируйте один и тот же USB-ID или CAN UUID. - Имя
[mcu xxx]влияет на префикс пинов: например, для[mcu tool]пины должны записываться какtool:gpio13; регистр имени должен быть согласованным. 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 | Ошибки конфигурации |