安装 Katapult
首先,您需要将 Katapult 存储库克隆到您的 pi 上。运行以下命令以克隆(或更新)存储库:
test -e ~/katapult && (cd ~/katapult && git pull) || (cd ~ && git clone https://github.com/Arksine/katapult) ; cd ~
配置 Katapult 固件,运行以下命令切换到 katapult 目录,然后修改固件菜单:
cd ~/katapult
make menuconfig
F446按下图配置
按 Q 退出菜单(它会要求保存,选择 yes)。
使用
make clean
make
编译固件。
会在 ~/katapult/out/katapult.bin 有一个katapult.bin文件
要刷写,请通过 USB 将主板连接到 Pi,然后将主板置于 DFU/BOOT 模式(您的主板用户手册应包含执行此操作的说明)。
lsusb
确认它处于 DFU 模式,“STMicroelectronics STM Device in DFU mode”条目
然后,您可以通过运行
cd ~/katapult
make
sudo dfu-util -R -a 0 -s 0x08000000:leave -D ~/katapult/out/katapult.bin -d xxxx:xxxx
图片中的xxxx:xxxx需要替换成你查询的实际ID
如果结果显示 “Error during download get_status ”或其他内容,但上面仍然显示 “File downloaded successfully”,那么它仍然闪烁正常,您可以忽略该错误。
Katapult 现已安装
现在应该已成功刷写 Katapult。取出主板上的所有 DFU 跳线(如果需要),然后双击板上的重置按钮。通过运行
ls /dev/serial/by-id
您应该会看到一个 “usb-katapult_…”设备在那里。如果没有,请双击板上的 RESET 按钮,然后再次。
ls /dev/serial/by-id
如果你没有看到 /dev/serial/by-id 中列出的 Katapult 设备,或者你得到了一个,那么你的主板目前没有处于 Katapult 模式。双击主板上的重置按钮,然后再次双击。如果您仍然没有看到 Katapult 设备,则可能是闪光灯不工作,或者您在 Katapult 屏幕中的设置不正确。请返回并重试。
cannot access '/dev/serial/by-id': No such file or directoryls /dev/serial/by-idmake menuconfig
由于您将 Katapult 安装到主板上,并且您还将用于 USB-CAN-Bridge 模式 klipper,因此在此阶段您仍然不会有可用的 CAN 网络。你可以通过 Katapult 将 klipper 刷写到你的主板上,但实际上它是通过 USB 刷写的,而不是通过 CAN 刷写的。
通过 Katapult 的闪烁 klipper 将很快被介绍。
安装 USB-CAN-Bridge Klipper
通过运行以下命令移动到 Pi 上的 klipper 目录:
cd ~/klipper
然后通过运行进入 klipper 配置菜单:
make menuconfig
将通信接口设置为“USB 转 CAN 总线桥接器”,然后将 CAN 总线接口设置为使用特定于主板的引脚。此外,将 CAN 总线速度设置为 can0 文件中的速度。设置为 1000000。
配置固件后
make clean
make
编译固件。它会将固件保存到
~/klipper/out/klipper.bin
使用 Katapult 烧录 Klipper
通过运行以下命令停止 Pi 上的 Klipper 服务:
sudo service klipper stop
运行
ls /dev/serial/by-id/
记下显示的 Katapult 设备ID:
如果上述命令没有显示 ‘katapult’ 设备,或者抛出 “no such file or directory” 错误,则快速双击主板上的 RESET 按钮并再次运行该命令。
ls /dev/serial/by-id/
运行此命令以通过 USB 通过 Katapult 安装 klipper 固件。使用您刚刚在上述 ls 命令中检索到的设备 ID。
python3 ~/katapult/scripts/flashtool.py -f ~/klipper/out/klipper.bin -d /dev/serial/by-id/usb-katapult_your_board_id
Klipper 现已安装
现在应该已经在你的主板上安装了 klipper 固件。通过运行
lsusb
来验证,您应该会看到“Geschwister Schneider CAN 适配器”或类似设备。
通过运行 来检查 can0 接口是否已启动 。如果一切正确,您将看到如下内容:
ip -s -d link show can0
你看到一个 can0 接口,“qlen” 将是 1024,比特率将是 1000000
如果命令返回错误(例如。“Device can0 does not exist”),然后使用重新启动 Pi,一旦 Pi 备份,请再次检查。如果您仍然收到错误,则您的主板没有显示为 CAN 适配器,您需要返回安装 USB-CAN-Bridge Klipper 并重试,确保 Klipper 设置绝对正确。
ip -s -d link show can0 sudo reboot now ip -s -d link show can0 make menuconfig
如果 can0 网络出现,但 qlen 不是 1024 或比特率不是 1000000,那么返回并检查 if updown 部分和 netplan 部分的 can0 文件设置。
你现在可以运行 Klipper canbus 查询来检索主板的 canbus_uuid:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
在 printer.cfg 的 [mcu] 部分使用此 UUID,以便 Klipper(在 Pi 上)连接到主板。
通过运行以下命令,在 Pi 上再次启动 Klipper 服务:
sudo service klipper start