Перейти к основному содержимому

Компиляция прошивки CAN

Начало компиляции

  • Требуется ПК с установленным и запущенным сервисом klipper Подключение через SSH по сети

  • Убедитесь, что устройство правильно подключено к ПК

  • Важно: используйте обычный ПК, например, Raspberry Pi или FLY-пай. Если вы используете модифицированный ПК (например, Wi-Fi адаптер, Redmi и т.д.), то из-за большого количества проблем мы не сможем предоставить вам техническую поддержку

    заметка
  • Для переключения с пользователя ROOT на обычного пользователя введите следующую команду

  • Не используйте пользователя ROOT

  • Для пользователя fly просто введите: su fly. Для других пользователей замените <ваше имя пользователя> на имя пользователя вашего ПК!

su <имя пользователя вашего ПК>

:::

подсказывать
  • Убедитесь, что хост-компьютер может нормально подключаться к сети
  • Перед компиляцией прошивки необходимо использовать SSH через сеть для входа на хост-компьютер
  • Не используйте инструменты последовательного порта для входа на хост-компьютер

Инструкция по компиляции прошивки Klipper и работе с конфигурационной страницей

подсказывать

Убедитесь, что режим ввода клавиатуры установлен в полуширинный (английский режим)

  1. Клавиша , клавиша на клавиатуре используются для перемещения курсора вверх или вниз для выбора пунктов меню
  2. Клавиша подтверждения Enter или пробел Space используется для выбора пунктов меню или перехода к подменю
  3. Клавиша выхода ESC используется для возврата на предыдущий уровень меню
  4. Клавиша Q используется для выхода из конфигурационной страницы прошивки Klipper
  5. При выходе из конфигурационной страницы прошивки Klipper, если появляется запрос, нажмите клавишу 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 — это команда для компиляции прошивки. После выполнения команды должно появиться следующее окно:

  • Выберите Enable extra low-level configuration options и нажмите Enter

  • Перейдите в меню Micro-controller Architecture и выберите Raspberry Pi RP2040/RP235x, затем нажмите Enter

  • Выберите Bootloader offset, выберите: 16KiB bootloader

  • Выберите Communication interface, выберите: CAN bus

  • Выберите (4) CAN RX gpio number, удалите 4 и введите 1

  • Выберите (5) CAN TX gpio number, удалите 5 и введите 0

  • Выберите GPIO pins to set at micro-controller startup, введите: !gpio5
заметка

Введите !gpio5 в режиме английской раскладки клавиатуры

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

    Linking out/klipper.elf
    Creating bin file out/klipper.bin

Поиск устройства

  • Используйте кабель XT30, чтобы подключить плату инструментов к UTOC или к материнской плате, на которой установлен мостовая прошивка, тогда на материнской плате загорятся светодиоды.
Предупреждение
  • Если светодиоды не мигают, переустановите прошивку katapult:Установка прошивки katapult
  • Если светодиоды не мигают, выполните следующий шаг после установки прошивки katapult

Поиск устройства

  • Убедитесь, что хост-компьютер имеет нормальное подключение к сети Интернет, и убедитесь, что кабель данных, соединяющий хост-компьютер с целевым устройством, имеет функцию передачи данных.
  • После SSH-подключения к хост-компьютеру введите команду lsusb и нажмите Enter. Если появляется информация, выделенная на изображении ниже, можно переходить к следующему шагу.
    • Если нет никакого ответа, это проблема системы хост-компьютера, мы бессильны, вам нужно заменить систему, которая работает корректно, или заменить хост-компьютер.
    • Если появляется сообщение об отсутствии команды lsusb, выполните эту команду для установки:
      sudo apt-get install usbutils
  • 1d50:606f является устройством, которое вы будете использовать.
  • Некоторые хост-компьютеры могут не показывать или показывать неполностью информацию из-за проблем с системой.
  • Если при вводе команды lsusb устройство видно, но нет 1d50:606f, попробуйте заменить кабель данных, а также попробуйте подключить материнскую плату к другим USB-портам хост-компьютера.
Важные замечания

Необходимо увидеть 1d50:606f, чтобы продолжить.

Запись прошивки

  • Перед записью прошивки подключите плату инструментов к UTOC или к материнской плате, на которой установлена мостовая прошивка, ниже приведена схема подключения
  • Обратите внимание, установлены ли переключатели в нужном положении
  • Убедитесь, что сопротивление между CAN H и CAN L составляет около 60Ω при отключенном питании, если оно составляет 120Ω, подключите перемычку 120Ω, если около 40Ω, удалите перемычку

::::предупреждение

  • Убедитесь, что сеть CAN на хост-компьютере уже настроена
  • При наличии 1d50:606f после выполнения команды lsusb можно использовать команду ниже для поиска ID CAN
  • Скорость CAN на инструментальной плате должна совпадать с хост-компьютером, иначе ID не будет найден и запись невозможна

::::

  • Для запроса UUID канала CAN выполните следующую команду:

    ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

    Для системы fast используйте эту команду для записи, замените <ваш ID материнской платы> на значение, полученное на предыдущем шаге

    python ~/klipper/scripts/canbus_query.py can0
    • После ввода вы увидите одно из следующих состояний (примеры ниже):

      • Первый случай: материнская плата с прошивкой моста показывает один ID и выводит Application: Klipper
      • Второй случай: материнская плата с прошивкой моста вместе с инструментальной платой, которая требует прошивки, показывает два ID
      • Третий случай: использование UTOC вместе с инструментальной платой, которая требует прошивки
      • Примечание: UTOC не показывает ID
      • Четвертый случай: отсутствие ID, обычно это вызвано占用 программой Klipper, неправильной скоростью CAN0 на хост-компьютере или неисправностью соединения
    • Обычно инструментальная плата, находящаяся в состоянии CANBOOT, покажет Application: CanBoot, и соответствующий светодиод будет мигать. В этом случае вам нужно записать прошивку Klipper, иначе подключение невозможно!!!

    • Примечание: если установлен профиль Klipper и ID добавлен в конфигурацию, то ID не будет отображаться и будет занят программой Klipper, вам нужно временно отключить ID и полностью перезагрузить материнскую плату.

::::предупреждение

  • Если UUID не найден, см. документацию ниже
  • Сборник проблем CAN

::::

Запись прошивки

  • Замените следующую команду <241696050c56> на найденный UUID, обратите внимание на пробел после -u

    python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
  • Как показано на картинке ниже, при появлении CAN Flash Success запись прошла успешно

Обновление прошивки

  • Для обновления прошивки достаточно скомпилировать новую версию и повторно выполнить команду записи
  • Убедитесь, что можно найти соответствующий ID или Klipper уже подключен
    python3 ~/klipper/lib/canboot/flash_can.py -u  <MCU ID>

::::

Проверка запуска прошивки

  • Если прошивка работает нормально, светодиод загорится
Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -