CANファームウェアのビルド
ビルドの開始
klipper
サービスがインストールされている上位機が必要です ネットワーク経由でSSHに接続- デバイスと上位機を接続します
- 注意:普通の上位機を使用してください。例えば、ラズベリーパイ、FLYパイなどです。もし魔改上位機(例えばWiFiスティック、Redmiなど)を使用すると、このような上位機は問題が多すぎて、技術サポートを提供できません
ROOT
ユーザーを使用しないでください
- ユーザー切り替えコマンド
su fly
- 请确保上位机可以正常联网
- 固件编译前需要使用SSH通过网络登录上位机
- 请不要使用串口工具登录上位机
Klipper固件编译和配置页面操作说明
请确保键盘输入法为半角模式,即英文模式
- 键盘上键
↑
,下键↓
,用于上下移动光标来选中菜单项 - 确认键
Enter
或 空格键Space
,用于勾选菜单或进入子菜单 - 退出键
ESC
,用于返回上一级菜单 Q
键,用于退出Klipper固件配置页面Y
键,在退出Klipper固件配置页面时,如果有提示,则点击Y
键保存配置文件
如果配置页面选项比较少,请先勾选[ ] Enable extra low-level configuration options
,用于显示部分隐藏选项
以下是如何编译固件的介绍:
-
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を選択してEnterキーを押します。
-
Bootloader offsetを選択し、16KiB bootloaderを選びます。
-
Communication interfaceを選択し、CAN busを選びます。
-
(4) CAN RX gpio numberを選択し、4を削除して1を入力します。
-
(5) CAN TX gpio numberを選択し、5を削除して0を入力します。
-
GPIOピンを選択してマイクロコントローラの起動時に設定、入力:!gpio5 注意!は大文字
-
Q
キーを押し、Save configurationが表示されたら、Y
キーを押す -
これで設定が保存され、コマンドラインインターフェースに戻る
-
make -j4
を入力してビルドを開始、少し時間がかかる -
最後に下記の内容が出力されればビルド成功
Linking out/klipper.elf
Creating hex file out/klipper.bin
デバイスの検索
- 上位機が正常にネットワークに接続できることを確認し、下位機が上位機に接続するデータケーブルがデータ伝送機能を有していることを確認してください。
- SSH接続で上位機に接続した後、
lsusb
と入力してエンターキーを押します。下の画像で囲まれた情報が表示されたら、次のステップに進めます。- 何の情報もフィードバックされない場合は、上位機のシステムの問題です。こちらではどうすることもできません。正常なシステムに変更するか、上位機を交換する必要があります。
lsusb
コマンドがないというメッセージが表示された場合は、次のコマンドを実行してインストールできますsudo apt-get install usbutils
1d50:6177
は今回使用するデバイスに属します。OpenMoko, Inc. stm32f407xx
の接尾語はある程度参考価値がありますが、判断根拠とはなりません。- 一部の上位機はシステムの問題で、表示が不完全または表示されない可能性があります。
lsusb
コマンドを入力してデバイスが表示されるが、1d50:6177
がない場合は、データケーブルを交換したり、マザーボードを上位機の他のUSBポートに接続してみてください。
- もしあなたがこれまでに上記のステップを実行し、Klipperファームウェアの書き込みに成功し、マザーボードが正常に動作しており、ただKlipperファームウェアを更新する場合は、このページの右側のメニューバーの「ファームウェア更新」セクションを直接参照してください。
1d50:6177
がある場合にのみ次のステップに進めることができます。
ファームウェアの書き込み
- ファームウェアを書き込む前に、XT30データケーブルでツールボードをUTOCまたはブリッジファームウェアをインストールしたメインボードに接続、下記は参考図
- ディップスイッチが正しい位置にあるかどうか注意してください
- CAN HとCAN Lが電源を切った状態でマルチメータで測定した抵抗が
60Ω
前後であることを確認してください、120Ω
の場合は120Ω
のディップスイッチを開き、40Ω
の場合は閉じます
- 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が1つ表示され、
Application: Klipper
と示される - 第二種:ブリッジファームウェアを刷ったマザーボードにファームウェアが必要なツールボードを組み合わせ、2つのIDが表示される
- 第三種:UTOCを使ってファームウェアが必要なツールボードを組み合わせる
- 注意:UTOCにはIDが表示されません
- 第四種:IDが表示されない場合、通常はKlipperによって占有されているか、ホストマシンのCAN0速度が正しくないか、配線に異常がある場合です
- 第一種:ブリッジファームウェアを刷ったマザーボードで、IDが1つ表示され、
-
通常、ファームウェアを焼き付ける必要があるツールボードがCANBOOT状態にある場合、
Application: CanBoot
と表示され、対応するファームウェアのLEDが点滅します。このとき、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が点灯します