Компиляция прошивки CAN
Перед прошивкой
Подтверждение текущего режима и пути операций
- Важное примечание: Если плата инструментов уже находится в режиме Klipper-CAN, после компиляции прошивки её можно прошить напрямую с помощью команды. Команда автоматически переведёт её в режим
Katapultи завершит прошивку. - Заводское состояние: Плата предварительно прошита прошивкой
Katapultв режиме CAN со скоростью 1M. - Определение состояния (по светодиоду): Если встроенный светодиод мигает (как показано ниже), это означает, что плата находится в режиме
Katapultи готова к прошивке.Loading... - Аномалия режима: Если светодиод не мигает, это означает, что прошивка не является
Katapult. Сначала необходимо перепрошить её, следуя инструкциям по ссылке ниже: Нажмите здесь, чтобы прошить прошивку Katapult
Настройка переключателей и физическое подключение
-
Настройка переключателей: Независимо от текущего состояния, сначала установите встроенные DIP-переключатели в режим CAN и включите переключатель
120Ω(как показано ниже).Loading... -
Подключение устройства: Используйте CAN-кабель для подключения платы инструментов к UTOC или основной плате, на которую уже прошит мостовой код. Подключение см. на рисунке ниже:
Loading... -
Ключевая проверка (терминальный резистор): При полностью отключенном питании измерьте сопротивление между выводами CAN_H и CAN_L с помощью мультиметра.
Устройство Инструкции по эксплуатации Плата инструментов Найдите и установите перемычку с маркировкой 120Ω.Основная плата Если подключена к основной плате, также установите её перемычку 120Ω.Модуль UTOC Имеет встроенный резистор. Как проверить:
- Убедитесь, что питание полностью отключено.
- Измерьте сопротивление между CAN-H и CAN-L CAN-порта платы инструментов с помощью мультиметра.
- Интерпретация результатов:
- Около 60Ω: Нормально. Терминальные резисторы на обоих концах правильно подключены.
- Около 140Ω: Возможно, CAN-H и CAN-L перепутаны.
- Около 120Ω: Перемычка
120Ωне установлена или есть обрыв цепи. - Около 40Ω: Возможно, присутствует лишний резистор. Проверьте промежуточные узлы.
Начало компиляции
Краткое руководство по компиляции прошивки
Важные моменты
- Сеть: Убедитесь, что хост-машина (Raspberry Pi и т.д.) подключена к сети.
- Способ входа: Обязательно используйте SSH для входа через сеть, отключите последовательный порт.
- Раскладка клавиатуры: Держите клавиатуру в английском режиме (полуширины).
Вход по SSH и смена пользователя
Используйте такие инструменты, как MobaXterm, PuTTY и т.д., для входа по SSH на хост-машину.
Смена пользователя:
- Обычная система (официальная система Raspberry Pi и т.д.)
Запрещено использоватьroot, необходимо переключиться на обычного пользователя:su <имя_пользователя> - FLY хост-машина (система FlyOS-FAST)
Поддерживается вход только под пользователемroot(пароль:mellow)
Руководство по операциям компиляции прошивки
В интерфейсе настройки прошивки Klipper поддерживаются только операции с клавиатуры, использование мыши невозможно.
| Клавиша | Функция |
|---|---|
| ↑ / ↓ | Перемещение курсора вверх/вниз, выбор пункта меню |
| Enter / Пробел | Подтверждение выбора, отметка опции или вход в подменю |
| ESC | Возврат на предыдущий уровень меню |
| Q | Выход из интерфейса настройки |
| Y | При выходе, если есть запрос, нажмите Y для сохранения конфигурации |
Начало компиляции прошивки
Ниже описано, как скомпилировать прошивку:
-
После подключения по 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 и выберите Raspberry Pi RP2040/RP235x, затем нажмите Enter
Loading... -
Выберите Bootloader offset, выберите: 16KiB bootloader
Loading... -
Выберите Communication interface, выберите: CAN bus
Loading... -
Выберите
(4) CAN RX gpio number, удалите4и введите1 -
Выберите
(5) CAN TX gpio number, удалите5и введите0Loading...
- Выберите GPIO pins to set at micro-controller startup, введите:
!gpio5заметкаПожалуйста, вводите в состоянии английской раскладки клавиатуры
!gpio5Loading...- Пожалуйста, сверьтесь с изображением выше, убедитесь, что всё совпадает, прежде чем переходить к следующему шагу
- Нажмите клавишу
Q, появится Save configuration, затем нажмите клавишуY
- Теперь конфигурация должна быть сохранена, и вы вернетесь в интерфейс командной строки
- Введите следующую команду для начала компиляции. Это займет некоторое время.
make -j4
- Если в конце выводится следующее содержимое, компиляция прошла успешно
- В зависимости от версии Klipper, успехом считается появление
out/klipper.binLinking out/klipper.elf
Creating bin file out/klipper.bin
Поиск ID и прошивка
Запрос UUID CANBus
- Рекомендуется выполнять операции запроса ID и прошивки прошивки вне процесса печати, чтобы избежать помех.
- Katapult (CANBoot) и Klipper на одной плате/плате инструмента используют один и тот же CAN ID.
Убедитесь, что выполнены следующие условия, иначе CAN ID может не быть найден:
- CAN-сеть хоста правильно настроена
- Скорость CAN на плате инструмента полностью совпадает со скоростью хоста (при несовпадении скоростей связь невозможна)
- После выполнения команды
lsusbвидно устройство1d50:606f(USB-CAN адаптер)
Команда поиска (выберите в зависимости от системы)
- Обычный хост
- Система Fly-FAST
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
python ~/klipper/scripts/canbus_query.py can0
Объяснение результатов поиска
Случай 1: Плата/плата инструмента с уже прошитым Klipper
- Отображение: Показывает один CAN ID с пометкой
Application: Klipper - Объяснение: Устройство работает на прошивке Klipper и готово к использованию. Этот ID может принадлежать как основной плате, так и плате инструмента.
- Как определить: Отсоедините CAN-кабель от платы инструмента и выполните поиск снова. Если ID исчез — это ID платы инструмента; если остался — ID основной платы.
Случай 2: Основная плата + плата инструмента, ожидающая прошивки
- Отображение: Показывает два CAN ID
- Объяснение: Основная плата работает на Klipper, плата инструмента — на CanBoot и ожидает прошивки.
Случай 3: UTOC + плата инструмента, ожидающая прошивки
- Отображение: Сам UTOC не отображает ID, отображается только ID платы инструмента
- Объяснение: UTOC выступает только как мост; убедитесь, что плата инструмента находится в режиме CanBoot.
Случай 4: ID не отображается
- Отображение: ID отсутствуют
- Возможные причины:
- CAN-шина занята Klipper
- Неверно настроена скорость CAN0 на хосте
- Проблемы с физическим подключением
- Устройство не перешло в режим CanBoot
- Состояние ожидания прошивки: Когда плата инструмента находится в режиме CanBoot, отображается
Application: CanBoot, и светодиод прошивки мигает. В этом состоянии можно выполнять прошивку. - Обработка занятого ID: Если устройство уже работает на прошивке Klipper и его ID указан в конфигурационном файле, ID не будет отображаться (занят Klipper). Чтобы снова его увидеть, необходимо исключить этот ID из конфигурации и полностью отключить питание и перезагрузить.
Если не удается запросить UUID, обратитесь к: Руководство по устранению проблем с CAN
Прошивка
Команда прошивки
- Замените
241696050c56в команде ниже на фактически найденный UUID. - Внимание: После параметра
-uдолжен быть пробел.
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
Подтверждение успешной прошивки
Сообщение CAN Flash Success указывает на успешную прошивку:
Обновление прошивки
Метод обновления
При необходимости обновить прошивку просто:
- Пересоберите прошивку.
- Убедитесь, что можно запросить CAN ID устройства (или что Klipper подключен к устройству).
- Выполните ту же команду прошивки.
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>
Пример успешного обновления
Подтверждение запуска прошивки
- Если прошивка запущена нормально, светодиод загорится
Loading...