Перед компиляцией прошивки МК обновляем Klipper до последней версии. А заодно и Moonraker с Fluidd:
Для того, чтобы Raspberry Pi мог управлять микроконтроллером принтера, требуется скомпилировать и установить прошивку МК. Настройки прошивки зависят от способа соединения Raspberry Pi с управляющей платой - по USB или по UART.
В терминале предварительно очищаем рабочий каталог, чтобы гарантированно полностью пересобрать прошивку:
cd ~/klipper/
make clean
Запускаем интерфейс настройки прошивки:
make menuconfig
Наш коллега D.P. ¯_(ツ)_/¯ сообщает, что «Некоторые шибко умные терминалы, например iterm2 для macos, предают свою локаль через ssh. Для отключения этой фичи в iterm2 необходимо снять галку Prefs > Profiles > Terminal > Set locale variables automatically»
Extra low-level configuration options
STMicroelectronics STM32
STM32F103
28KiB bootloader
Serial (on USART3 PB11/PB10)
потому, что USB подключение этой платы использует пины UART3: PB10-TX и PB11-RXSerial (on USART1 PA10/PA9)
потому, что WiFi модуль платы использует пины UART1: PA9-TX и PA10-RXExtra low-level configuration options
STMicroelectronics STM32
STM32F407
32KiB bootloader
Serial (on USART3 PB11/PB10)
потому, что USB подключение этой платы использует пины UART3: PB10-TX и PB11-RXSerial (on USART1 PA10/PA9)
потому, что WiFi модуль платы использует пины UART1: PA9-TX и PA10-RXНастройки для компиляции прошивки МК для Big Tree Tech SKR 1.3, 1.4 и 1.4Turbo. Одни из самых распространённых плат для замены стоковой (были, сейчас пропали из продажи). Инструкция оставлена для иллюстрации аналогичных настроек для других плат.
Extra low-level configuration options
LPC176x (Smoothieboard)
lpc1768 (100 MHz)
для SKR 1.3 и 1.4 или lpc1769 (120 MHz)
для SKR 1.4TurboUSB
Для примера настройки SKR 1.4 Turbo.
Serial
→ UART0 P0.3/P0.2
для TFT слота, или UART3 P4.29/P4.28
для WiFiДля примера настройки SKR 1.4 Turbo.
Сохраняем конфигурацию нажатием последовательно «Q» и «Y». После конфигурации запускаем компиляцию:
make
Результат - файл klipper.bin
в папке ~/klipper/out/
.
MKS Robin Nano v1.1 и BTT SKR 1.3/1.4/1.4T не позволяют прошивать МК напрямую через Raspberry Pi, поэтому команда make flash
не сработает. После окончания компиляции необходимо подготовить файл прошивки для того, чтоб принтер корректно определил его и прошился.
Бутлоадер этой платы требует шифрования и определённого имени файла. Выполните следующую команду для шифрования и переименования:
~/klipper/scripts/update_mks_robin.py ~/klipper/out/klipper.bin ~/klipper/out/Robin_nano35.bin
Обратите внимание, что в официальном конфиге Klipper для MKS Robin Nano v1.1 итоговый файл прошивки называется Robin_nano.bin
, но версии платы, поставляемые с принтерами Flying Bear Ghost требуют файл Robin_nano35.bin
для прошивки.
Бутлоадер этой платы уже не требует шифрования, а только определённого имени файла. Выполните следующую команду для переименования:
mv ~/klipper/out/klipper.bin ~/klipper/out/Robin_nano35.bin
Аналогично и для MKS Robin Nano v1.3 и MKS Robin Nano-S v1.3: итоговый файл прошивки Robin_nano35.bin
.
mv ~/klipper/out/klipper.bin ~/klipper/out/firmware.bin
В WinSCP заходим в папку /home/pi/klipper/out
, где и лежит файл прошивки с соответствующим именем. Копируем его на MicroSD.
Вставляем MicroSD в принтер и обесточиваем его. Если к плате принтера подключен Raspberry Pi, то отключите и его.
Через пару минут МК принтера готов к дальнейшей работе.
К сожалению, экран принетра не даст вам определить, прошился ли он. На экране зависнет ход прогресса на 100%. А при перезагрузке будет либо чёрный экран, либо вечная надпись „Booting“. Это нормально.