跳到主要内容

CAN 固件编译

烧录前须知

确认当前模式与操作路径

  • 重要说明:如果工具板当前已是 Klipper-CAN 模式.则可在编译固件后.直接通过指令烧录。指令将自动将其重置进入 Katapult 并完成烧录。
  • 出厂状态:板子预刷 CAN模式Katapult 固件.速率为 1M
  • 状态判断(看LED):若板载 LED 闪烁(如下图).表明正处于 Katapult 模式.可进行烧录。
  • 模式异常:若 LED 不闪烁.说明固件非 Katapult.您必须先按下方链接指引重刷: 点此烧录 Katapult 固件

设置拨码与物理连接

  1. 拨码设置:无论当前状态如何.请先将板载拨码开关设置为 CAN 模式.并且将120Ω开关打开(如下图所示)。

  2. 设备连接:使用CAN线.将工具板连接到 UTOC 或已刷好桥接固件的 主板 上。接线请参考下图:

  3. 关键检查(终端电阻):在 完全断电 情况下.使用万用表测量 CAN_HCAN_L 引脚间的电阻。

    设备操作说明
    工具板找到并插上标有 120Ω 的跳线帽。
    主板如连接主板.请同样插上其 120Ω 跳线帽。
    UTOC模块自带电阻。

    如何检查:

    1. 保持完全断电
    2. 使用万用表测量工具板CAN口的 CAN-H与CAN-L 之间的电阻。
    3. 结果判断:
      • 约60Ω:正常.两端电阻已正确连接。
      • 约140Ω:可能CAN-H与CAN-L接反了。
      • 约120Ω:没有安装120Ω 或者断线。
      • 约90Ω:只安装了一个120Ω
      • 约40Ω:可能有多余的电阻.请检查中间节点。

开始编译

  • 需要使用安装好klipper服务的上位机 通过网络连接SSH
  • 并且将设备与上位机连接好
  • 注意:请使用普通的上位机,比如树莓派 FLY派等。如果是魔改上位机(例如WiFi棒子、红米等),这类上位机因问题太多,无法为您提供技术支持
注意
  • 树莓派、FLY派等普通上位机系统都看此类
  • 此类上位机请不要使用ROOT用户进行仍任何操作
  • 请使用普通用户进行操作
  • 切换用户方法,如FlyOS-Armbian系统请使用su fly命令切换到普通用户
  • 其他系统请使用su <您的上位机用户名>命令切换到普通用户
su <您的上位机用户名>
提示
  • 请确保上位机可以正常联网
  • 固件编译前需要使用SSH通过网络登录上位机
  • 请不要使用串口工具登录上位机

Klipper固件编译和配置页面操作说明

提示

请确保键盘输入法为半角模式,即英文模式

  1. 键盘上键,下键,用于上下移动光标来选中菜单项
  2. 确认键Enter 或 空格键Space,用于勾选菜单或进入子菜单
  3. 退出键ESC,用于返回上一级菜单
  4. Q键,用于退出Klipper固件配置页面
  5. 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并且回车

  • 进入菜单Micro-controller Architecture然后选择Raspberry Pi RP2040/RP235x回车

  • 选择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
  • 最后输出下面的内容则编译成功
  • 因Klipper版本问题只需要出现out/klipper.bin则代表成功
    Linking out/klipper.elf
    Creating bin file out/klipper.bin

搜索ID并且烧录

搜索设备

  • 现在你已经正常登录到上位机了可以输入lsusb搜索设备,将会以下几种情况之一
    • 输入lsusb提示找不到ls指令,则可以输入下方指令来安装指令
      sudo apt-get install usbutils
    • 输入lsusb后什么反应都没有,这是系统问题这边无能为力,你需要更换系统或者使用确定正常的系统
    • 出现下方图片中的信息,请注意这只是参考。你只需要确定有出现1d50:606f即可
  • 1d50:606f 属于本次你要用到的设备
  • 如果有多个1d50:606f,需要排除一个,否则会影响后续烧录与固件连接,如FLY MINI PAD则建议使用板载UTOC不要使用其他CAN桥接设备
  • 如果没有,请自行检查数据线是否接好,固件有没有刷对。
注意事项

1d50:606f时候才能去搜索CAN ID

提示
  • 找ID与刷固件都建议不要在打印过程中进行
  • 同一个主板或者工具板Katapult的CAN固件与Klipper的CAN固件他们ID完全一致
注意
  • 请确保上位机的can网络已经配置
  • lsusb后有1d50:606f时候才能使用下方命令搜索CAN ID
  • 工具板CAN速率要与上位机一致,否则无法找到ID,并且烧录
  • 执行下面的命令查询CANBus UUID:

    ~/klippy-env/bin/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中查找到的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>

确认固件是否启动

  • 如果固件正常启动LED会亮起来
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 -
Loading...