CAN ファームウェア書き込み
書き込み開始
ファームウェアコンパイル簡易ガイド
注意事項
- ネットワーク: 上位機(ラズベリーパイ等)がネットワークに接続されていることを確認してください
- ログイン方法: SSHを使用してネットワーク経由でログインする必要があります。シリアルポートは無効化してください
- 入力方法: キーボードを英数半角モードに保ってください
SSHログインとユーザー切り替え
MobaXterm、PuTTYなどのツールを使用して上位機にSSHログインします。
ユーザー切り替え:
- 通常システム(ラズベリーパイ公式システム等)
rootの使用は禁止されています。一般ユーザーに切り替えてください:su <ユーザー名> - FLY上位機(FlyOS-FASTシステム)
rootユーザーでのみログイン可能です(パスワード:mellow)
ファームウェアコンパイル操作ガイド
Klipperファームウェア設定画面ではキーボード操作のみサポートされており、マウスは使用できません。
| キー | 機能 |
|---|---|
| ↑ / ↓ | カーソルを上下に移動し、メニュー項目を選択 |
| Enter / スペース | 選択の確定、オプションのチェック、またはサブメニューへの移動 |
| ESC | 前のメニューに戻る |
| Q | 設定画面を終了 |
| Y | 終了時に、保存の確認があれば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はファームウェアをコンパイルします。実行すると、以下の画面が表示されるはずです。Loading... -
Enable extra low-level configuration optionsを選択し、Enterキーを押してください。
Loading... -
Micro-controller Architectureメニューに移動し、Raspberry Pi RP2040/RP235xを選択してEnterキーを押してください。
Loading... -
Bootloader offsetを選択し、16KiB bootloaderを選択してください。
Loading... -
Communication interfaceを選択し、CAN busを選択してください。
Loading...
- マイクロコントローラ起動時に設定するGPIOピンを選択します。入力:gpio17
Loading...
Qキーを押すと、Save configurationが表示されます。その状態でYキーを押してください。Loading...- これで設定が保存され、コマンドラインインターフェースに戻るはずです。
- 以下のコマンドを入力してコンパイルを開始してください。時間がかかります。
make -j4
Loading...
- 最後に以下の内容が出力されれば、コンパイルは成功です。
- Klipperのバージョンによっては、
out/klipper.binが表示されれば成功です。Linking out/klipper.elf
Creating bin file out/klipper.bin
配線
- ファームウェア書き込み前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアが書き込まれたメインボードに接続してください。以下は参考配線図です。
Loading...
- CAN HとCAN Lの間の抵抗値を、電源OFF状態でテスターで測定し、約
60Ωであることを確認してください。120Ωの場合は120Ωジャンパーを接続し、約40Ωの場合はジャンパーを取り外してください。Loading... - XT30データケーブルでツールボードをUTORまたはUSBブリッジCANファームウェアが書き込まれたメインボードに接続すると、メインボード上のLEDが点滅します。
警告
- LEDが点滅しない場合は、katapultファームウェアを再書き込みしてください:katapultファームウェア書き込み
- LEDが点滅しない場合は、katapultファームウェア書き込み後、次のステップを実行してください。
ID検索と書き込み
CANBus UUIDの照会
操作前の注意
- ID照会やファームウェア書き込み操作は、印刷中でない状態で実行することをお勧めします。印刷プロセスへの干渉を避けるためです。
- 同一のメインボード/ツールボードにおいて、Katapult(CANBoot)ファームウェアとKlipperファームウェアは同じCAN IDを使用します。
前提条件
以下の条件が満たされていることを確認してください。満たされていない場合、CAN IDが正常に検索できない可能性があります:
- ホストコンピュータのCANネットワークが正しく設定されていること
- ツールボードのCAN通信速度がホストコンピュータと完全に一致していること(速度が異なると通信できません)
lsusbコマンドを実行した後、1d50:606fデバイス(USB-CANアダプタ)が表示されること
検索コマンド(システムに応じて選択)
- 通常のホストコンピュータ用検索コマンド
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0 - FLYホストコンピュータ用検索コマンド
python3 ~/klipper/scripts/canbus_query.py can0
検索結果の説明
ケース1:Klipperファームウェアが書き込まれたメインボード/ツールボード
- 表示内容: CAN IDが1つ表示され、
Application: Klipperと表示されます。 - 説明: デバイスはKlipperファームウェアで動作しており、そのまま使用できます。このIDはメインボードのIDか、ツールボードのIDのいずれかです。
- 識別方法: ツールボードのCAN接続ケーブルを外して再度検索します。そのIDが消えた場合はツールボードのID、残っている場合はメインボードのIDです。
Loading...
ケース2:メインボード + 書き込み待ちのツールボード
- 表示内容: 2つのCAN IDが表示されます。
- 説明: メインボードはKlipperファームウェアで動作しており、ツールボードはCanBootファームウェアで動作しており、書き込みを待っています。
Loading...
ケース3:UTOC + 書き込み待ちのツールボード
- 表示内容: UTOC自体はIDを表示せず、ツールボードのIDのみが表示されます。
- 説明: UTOCはブリッジとして機能するのみです。ツールボードがCanBootモードにあることを確認してください。
Loading...
ケース4:IDが表示されない
- 表示内容: 何もIDが表示されません。
- 考えられる原因:
- CANバスがKlipperに占有されている
- ホストコンピュータのCAN0速度設定が間違っている
- 物理的な配線に異常がある
- デバイスがCanBootモードに入っていない
Loading...
重要な注意点
- 書き込み待機状態: ツールボードがCanBootモードにあると、
Application: CanBootと表示され、ファームウェアLEDが点滅します。この状態でファームウェアの書き込みが可能です。 - ID占有時の処理: デバイスがKlipperファームウェアで動作しており、そのIDが設定ファイルに既に記入されている場合、そのIDは表示されません(Klipperに占有されています)。再度表示させたい場合は、設定ファイルでそのIDを無効化し、完全に電源を切って再起動する必要があります。
トラブルシューティング
UUIDが照会できない場合は、以下を参照してください: CAN問題トラブルシューティングガイド
ファームウェアの書き込み
書き込みコマンド
- 以下のコマンドの
241696050c56を、実際に照会したUUIDに置き換えてください。 - 注意:
-uパラメータの後にはスペースが必要です。
python3 ~/klipper/lib/canboot/flash_can.py -u 241696050c56
書き込み成功の確認
CAN Flash Success というメッセージが表示されれば、書き込み成功です:
Loading...
ファームウェアの更新
更新方法
ファームウェアを更新する必要がある場合は、以下の手順を実行するだけです:
- ファームウェアを再コンパイルする
- デバイスのCAN IDが照会できること(またはKlipperがデバイスに接続されていること)を確認する
- 同じ書き込みコマンドを実行する
python3 ~/klipper/lib/canboot/flash_can.py -u <MCU ID>
更新成功の例
Loading...
ファームウェア起動確認
- ファームウェアが正常に起動すると、LEDが点灯します。
Loading...
Loading...