Прошивка USB-моста CAN
Подключение к хосту
Плата Fly-D5 может общаться с хостом Klipper только через интерфейс Type-C USB.
Примечания и руководство по компиляции прошивки
Важные моменты
- Сетевое подключение: Убедитесь, что хост-компьютер (Raspberry Pi и т.д.) подключен к сети.
- Способ доступа: Обязательно используйте SSH для входа в хост-компьютер по сети, запрещено использовать инструменты последовательного порта.
- Права пользователя: В зависимости от типа операционной системы хоста используйте правильную учетную запись пользователя.
- Раскладка клавиатуры: Убедитесь, что раскладка клавиатуры находится в полуширинном режиме (английский режим).
SSH-вход и смена пользователя
SSH-вход на хост-компьютер
Используйте SSH-клиент (например, MobaXterm, PuTTY и т.д.) для входа на хост-компьютер по сети: Посмотреть подробное руководство по SSH-подключению
Смена пользователя в зависимости от типа системы
- Обычный хост-компьютер (Armbian)
- Хост-компьютер FLY
Подходящие системы:
- Официальная система Raspberry Pi
- Другие системы с установленным Klipper
Требования к правам пользователя:
- Запрещено использовать пользователя
rootдля любых операций. - Необходимо переключиться на обычного пользователя для выполнения операций.
Команда переключения:
-
Другие системы (замените
<username>на ваше имя пользователя)su <username>
Обычный пользователь обычно имеет необходимые права для компиляции. Использование пользователя root может привести к проблемам с правами.
Подходящие системы:
- Система FlyOS-FAST
Данные для входа:
- Имя пользователя:
root - Пароль:
mellow
В системе FAST есть только пользователь root.
Инструкция по компиляции прошивки
1. Руководство по работе с клавиатурой
- На странице конфигурации прошивки Klipper можно использовать только следующие сочетания клавиш:
- Нельзя использовать мышь напрямую!
| Клавиша | Описание функции |
|---|---|
| Стрелки ↑ ↓ | Перемещение курсора вверх/вниз для выбора пункта меню |
| Enter или Пробел | Подтверждение выбора/отметки пункта меню или вход в подменю |
| 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запускает конфигурацию компиляции прошивки. После выполнения должно появиться следующее окно:Loading... -
Выберите Enable extra low-level configuration options и нажмите Enter.
Loading... -
Перейдите в меню Micro-controller Architecture, затем выберите STMicroelectronics STM32 и нажмите Enter.
Loading... -
Перейдите в меню Processor model, выберите STM32F072 и нажмите Enter.
Loading... -
Выберите Bootloader offset, затем выберите: 8KiB bootloader.
Loading... -
Выберите Communication interface, затем выберите: USB to CAN bus bridge (USB on PA11/PA12) и нажмите Enter.
-
После выбора USB to CAN bus bridge (USB on PA11/PA12) параметр по умолчанию CAN bus interface (CAN bus (on PB8/PB9))---> менять не нужно.
Loading... -
Пожалуйста, сверьтесь с изображением ниже, убедитесь, что все совпадает, прежде чем начать компиляцию.
Loading...
- Нажмите клавишу
Q, появится Save configuration, затем нажмите клавишуY.Loading... - Теперь конфигурация должна быть сохранена, и вы вернетесь в интерфейс командной строки.
- Введите следующую команду, чтобы начать компиляцию. Это займет некоторое время.
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 usbutilsLoading...
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
~/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.
- Снова войдите в режим прошивки.