importCANFLASH from '@site/i18n/ru/docusaurus-plugin-content-docs/current/General/dfu-flash/_host-can-flash.mdx';
Прошивка USB-моста CAN
Подключение к хосту
Плата Fly-D8 может общаться с хостом Klipper только через интерфейс Type-C USB.

Примечания и руководство по компиляции прошивки
Важные замечания
- Сетевое подключение: Убедитесь, что хост-машина (Raspberry Pi и т.д.) подключена к сети.
- Способ доступа: Обязательно используйте SSH для входа в хост-машину по сети, использование инструментов последовательного порта запрещено.
- Права пользователя: В зависимости от типа операционной системы хост-машины используйте правильную учетную запись пользователя.
- Раскладка клавиатуры: Убедитесь, что раскладка клавиатуры находится в режиме полуширины (английский режим).
Вход по SSH и переключение пользователей
Вход на хост-машину по SSH
Используйте инструменты SSH (такие как MobaXterm, PuTTY и т.д.) для входа на хост-машину по сети: Посмотреть подробное руководство по подключению SSH
Переключение пользователя в зависимости от типа системы
- Обычная хост-машина (Armbian)
- Система FAST (FlyOS-FAST)
Подходящие системы:
- Официальная система Raspberry Pi
- Система FLY Pi Armbian
- Другие системы с установленным Klipper
Требования к правам пользователя:
- Запрещено использовать пользователя
rootдля любых операций. - Необходимо переключиться на обычного пользователя для выполнения операций.
Команда переключения:
-
Другие системы (замените
<username>на ваше имя пользователя)su <username>
Обычный пользователь обычно имеет необходимые права для компиляции, использование пользователя root может привести к проблемам с правами.
Подходящие системы:
- Система FlyOS-FAST
Данные для входа:
- Имя пользователя:
root - Пароль:
mellow
В системе FAST есть только пользователь root.
Описание компиляции прошивки
1. Руководство по работе с клавиатурой
- На странице конфигурации прошивки Klipper можно использовать только следующие сочетания клавиш:
- Нельзя использовать мышь напрямую!
| Клавиша | Описание функции |
|---|---|
| Стрелки ↑ ↓ | Перемещение курсора вверх/вниз для выбора пункта меню |
| Enter или Space | Подтверждение выбора/отметки пункта меню или вход в подменю |
| ESC | Возврат на предыдущий уровень меню |
| Q | Выход со страницы конфигурации прошивки Klipper |
| Y | При появлении запроса при выходе нажмите Y для сохранения конфигурации |
Отображение скрытых опций
Если на странице конфигурации мало опций, сначала отметьте:
[ ] Enable extra low-level configuration options
Эта опция используется для отображения некоторых скрытых опций конфигурации.
Начало компиляции прошивки
Ниже описано, как скомпилировать прошивку:
-
После подключения по SSH введите следующую команду и нажмите Enter:
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig -
Команда
rm -rf ~/klipper/.config && rm -rf ~/klipper/outудаляет предыдущие данные компиляции и прошивку -
make menuconfigзапускает компиляцию прошивки; после выполнения должно появиться следующее окно:
-
Выберите Enable extra low-level configuration options и нажмите Enter

-
Перейдите в меню Micro-controller Architecture, затем выберите STMicroelectronics STM32 и нажмите Enter

-
Перейдите в меню Processor model, выберите STM32F407 и нажмите Enter

-
Выберите Bootloader offset, затем выберите: 32KiB bootloader

-
Выберите Communication interface, затем выберите: USB to CAN bus bridge (USB on PA11/PA12)

- Нажмите клавишу
Q, появится Save configuration, затем нажмите клавишуY - Теперь конфигурация должна быть сохранена, и вы вернетесь в интерфейс командной строки
- Введите следующую команду для начала компиляции; это займет некоторое время
make -j4

- Если в конце выводится следующий текст, компиляция прошла успешно
- В зависимости от версии Klipper достаточно появления
out/klipper.bin, чтобы считать успешнымLinking out/klipper.elf
Creating bin file out/klipper.bin
Вход в режим прошивки
- После подключения платы к хосту с помощью кабеля Type-C, дважды нажмите кнопку RST. При этом на плате будет мигать светодиод.
- Если светодиод не мигает, перепрошейте прошивку katapult: Прошить katapult
- Если светодиод не мигает, после прошивки katapult выполните следующий шаг.

- Убедитесь, что хостовое устройство подключено к сети и что кабель данных, соединяющий хостовое устройство с целевым устройством, имеет функцию передачи данных.
- После SSH-подключения к хостовому устройству введите команду
lsusbи нажмите Enter. Если появляется информация, выделенная на нижеприведенном изображении, можно переходить к следующему шагу.- Если нет никакого ответа, это проблема системы хостового устройства, и мы бессильны. Вам нужно заменить систему, которая работает нормально, или заменить хостовое устройство.
- Если появляется сообщение об отсутствии команды
lsusb, выполните следующую команду для установки:sudo apt-get install usbutils
1d50:6177является устройством, которое вам нужно использовать.- Некоторые хостовые устройства могут не показывать или частично показывать устройство из-за проблем с системой.
- Если команда
lsusbпоказывает устройство, но без1d50:6177, попробуйте заменить кабель данных и подключить материнскую плату к другому USB-порту хостового устройства.
- Если вы ранее выполнили вышеуказанные шаги и успешно прошили фирменное ПО Klipper, а материнская плата работает нормально, и вам нужно только обновить фирменное ПО Klipper, просто ознакомьтесь с разделом «Обновление прошивки» в правом меню этой страницы.
Перед выполнением следующего шага обязательно необходимо найти устройство 1d50:6177.
Прошивка
Начало прошивки
- Для установки плагина прошивки требуется подключение к интернету, убедитесь, что ваш хост-компьютер подключен к сети.
- Если плагин прошивки уже установлен, повторная установка не требуется.
Установка зависимостей для прошивки
Если вы используете неофициальный хост-компьютер Fly, обязательно выполните следующую команду для установки пакета зависимостей прошивки!
- Репозиторий GitHub
- Внутреннее зеркало
cd && git clone https://github.com/Arksine/katapult.git
cd && git clone https://gitee.com/MrCakeFuck/katapult.git

Получение ID платы
Выполните следующую команду для поиска ID устройства. В нормальных условиях должен отобразиться ID, похожий на показанный на изображении ниже (обратите внимание: ID каждой платы уникален):
ls /dev/serial/by-id/*

Прошивка микропрограммы
- Убедитесь, что файл микропрограммы уже скомпилирован.
- Замените
<ваш ID платы>в команде ниже на фактический ID, полученный на предыдущем шаге.
- Fly-Armbian/Обычный хост
- Система Fly-FAST
~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<ваш ID платы>
python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<ваш ID платы>
Справочный процесс прошивки:

Пример успешной прошивки:

Обновление микропрограммы
- Обновление через USB
- Обновление через мостовой CAN
Шаги обновления через USB
- Запрос ID платы
ls /dev/serial/by-id/*
/dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00 на изображении ниже — это ID платы.
- Обновление микропрограммы
cd ~/klipper/ && make flash FLASH_DEVICE=<ваш ID платы>
- Замените
<ваш ID платы>на фактически полученный ID.

Шаги обновления через мостовой CAN
- Сброс и вход в режим прошивки
<ваш ID платы> — это CANBUS UUID платы из конфигурационного файла printer.cfg.
- Fly-Armbian/Обычный хост
- Система Fly-FAST
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <ваш ID платы>
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <ваш ID платы>
f95cee90e1f9 на изображении ниже — это CANBUS UUID платы (только пример).

- Запрос нового ID устройства
ls /dev/serial/by-id/*
- Это только справочная информация!
/dev/serial/by-id/usb-Klipper_stm32f072xb_38001B000551324752333720-if00на изображении ниже — это вновь обнаруженный ID платы.

- Прошивка новой микропрограммы
cd ~/klipper/ && make flash FLASH_DEVICE=<ваш ID платы>

Решение проблемы с неправильной прошивкой
Способ 1: Быстрый вход в режим прошивки
- Отключите питание платы.
- После повторного включения питания быстро нажмите кнопку RESET дважды.
- Снова войдите в режим прошивки.