Компиляция CAN-программного обеспечения
Начало компиляции
-
Требуется ПК с установленным и запущенным сервисом
klipper
Подключение через SSH по сети -
Убедитесь, что устройство правильно подключено к ПК
-
Важно: используйте обычный ПК, например, Raspberry Pi или FLY-пай. Если вы используете модифицированный ПК (например, Wi-Fi адаптер, Redmi и т.д.), то из-за большого количества проблем мы не сможем предоставить вам техническую поддержку
заметка -
Для переключения с пользователя ROOT на обычного пользователя введите следующую команду
-
Не используйте пользователя ROOT
-
Для пользователя fly просто введите:
su fly
. Для других пользователей замените<ваше имя пользователя>
на имя пользователя вашего ПК!
su <имя пользователя вашего ПК>
:::
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面Y
键,在退出Klipper固件配置页面时,如果有提示,则点击Y
键保存配置文件
如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options
,用于显示部分隐藏选项
Вот перевод:
Чтобы скомпилировать прошивку, выполните следующие шаги:
-
Подключитесь по SSH и введите следующую команду:
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 и выберите STM32F072, затем нажмите Enter
-
Выберите Bootloader offset, затем выберите: 8KiB bootloader
-
Выберите Communication interface, затем выберите: CAN bus (on PB8/PB9)
-
Нажмите клавишу
Q
, появится Save configuration, затем нажмитеY
-
Теперь конфигурация должна быть сохранена и вы должны вернуться к командной строке
-
Введите
make -j4
для начала компиляции, процесс может занять некоторое время -
Если в конце выводится следующее содержимое, то компиляция прошла успешно
Linking out/klipper.elf
Creating hex file out/klipper.bin
Поиск устройства
- Убедитесь, что ПК может нормально подключаться к сети Интернет, и убедитесь, что периферийное устройство подключено к ПК с помощью кабеля, поддерживающего передачу данных.
- После подключения к ПК через SSH введите команду
lsusb
и нажмите Enter. Если появляется информация, заключенная в круглые скобки на изображении ниже, можно переходить к следующему шагу.- Если никакой информации не выводится, это проблема системы ПК, и мы бессильны. Вам нужно заменить систему, которая работает корректно, или заменить ПК.
- Если появляется сообщение об отсутствии команды
lsusb
, выполните эту команду для установки:sudo apt-get install usbutils
1d50:606f
принадлежит устройству, которое вам предстоит использовать. «OpenMoko, Inc. Geschwister Schneider CAN adapter» после этого кода имеет определенную справочную ценность, но не является критерием для принятия решения.- Некоторые ПК могут отображать информацию неполностью или вообще не отображать ее из-за системных проблем.
- Если при вводе команды
lsusb
устройство видно, но не отображается1d50:606f
, попробуйте заменить кабель, а также подключить материнскую плату к другим USB портам ПК.
- Если вы ранее выполнили вышеописанные шаги и успешно записали прошивку Klipper, а материнская плата работает нормально, и вам нужно только обновить прошивку Klipper, обратитесь к разделу «Обновление прошивки» в правом меню этой страницы.
Продолжение возможно только при наличии 1d50:606f
.
Прошивка программного обеспечения
- Перед прошивкой используйте XT30-кабель для подключения инструментальной платы к UTOC или материнской плате с прошивкой моста, ниже приведена схема подключения
- Убедитесь, что сопротивление между CAN H и CAN L измеряется при отключенном питании и составляет около
60 Ом
; если оно равно120 Ом
, подключите резистор на120 Ом
; если около40 Ом
, удалите резистор
- Работа с ID и прошивкой не рекомендуется проводить во время печати
- У одного материнской платы или инструментальной платы Katapult CAN-прошивка и CAN-прошивка Klipper имеют полностью одинаковые ID
- Убедитесь, что CAN-сеть на хост-компьютере уже настроена
- При наличии
1d50:606f
после выполнения команды lsusb можно использовать следующую команду для поиска CAN ID - Скорость CAN на инструментальной плате должна совпадать с хост-компьютером, иначе ID найти и записать невозможно
-
Для проверки UUID CANBus выполните следующую команду:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
-
После ввода команды возможны несколько вариантов вывода, приведены примеры:
- Первый вариант: материнская плата с прошивкой моста, появляется один ID с надписью
Application: Klipper
- Второй вариант: материнская плата с прошивкой моста и инструментальная плата, требующая прошивки, показывают два ID
- Третий вариант: использование UTOC с инструментальной платой, требующей прошивки
- Примечание: UTOC не показывает ID
- Четвертый вариант: отсутствие ID, обычно это связано с тем, что Klipper занимает канал, неправильная скорость CAN на хост-компьютере или проблемы с подключением
- Первый вариант: материнская плата с прошивкой моста, появляется один ID с надписью
-
Обычно инструментальная плата, требующая прошивки, должна находиться в режиме CANBOOT, при этом будет показано
Application: CanBoot
, и светодиод на плате будет мигать. В этом случае необходимо записать прошивку Klipper, иначе подключение невозможно!!! -
Примечание: если используется прошивка Klipper и ID уже добавлен в конфигурацию, ID не будет показываться, так как занят Klipper. Необходимо отключить соответствующий ID и полностью выключить и перезагрузить материнскую плату.
-
- Если UUID не найден, см. документацию ниже
- Сборник проблем CAN
Прошивка firmware
-
Замените
<MCU ID>
в следующей команде на найденный UUID, обратите внимание на пробел после-u
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>
-
Как показано на рисунке ниже, при появлении
CAN Flash Success
прошивка выполнена успешно
Если требуется обновление firmware достаточно скомпилировать новую прошивку и повторно выполнить команду записи
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>
