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はKlipperファームウェア設定画面を開くために使用します。 -
以下の順序に従って各項目を設定し、各項目が完了してから次の項目に進みます。
1启用 Enable extra low-level configuration options(Top)Klipper Firmware Configuration2Micro-controller Architecture 选择 Raspberry Pi RP2040/RP235x(Top)Klipper Firmware Configuration3Processor model 选择 rp2040(Top)Klipper Firmware Configuration4Bootloader offset 选择 16KiB bootloader(Top)Klipper Firmware Configuration5Communication Interface 选择 CAN bus(Top)Klipper Firmware Configuration6CAN RX gpio number 设置为 1(Top)Klipper Firmware Configuration7CAN TX gpio number 设置为 0(Top)Klipper Firmware Configuration8CAN bus speed 默认使用 1M(1000000),无需修改默认 CAN 速率为 1M,对应值
1000000,使用 1M 时无需修改。- 1M:
1000000 - 500K:
500000 - 250K:
250000
请根据上位机的 CAN 网络速率选择;上位机、主板与同一总线上的所有 CAN 设备必须使用相同速率。
(Top)Klipper Firmware Configuration9启用 Optimize stepper code for 'step on both edges'(Top)Klipper Firmware Configuration10GPIO pins to set at micro-controller startup 设置为以下内容Loading...(Top)Klipper Firmware Configuration11按 Q 键退出配置界面(Top)Klipper Firmware Configuration12出现 Save configuration 时按 Y 保存配置QuitSave configuration?(Y)es(N)o(C)ancel - 1M:
-
上記の最後の2つの手順を完了したら、
Qを押して設定画面を終了し、次にYを押して設定を保存します。 -
コマンドラインに戻ったら、以下のコマンドを入力して
Enterを押し、コンパイルを開始します:make -j4root@flyos-11e5f8 ~/klipper # make -j4Compiling out/src/../lib/can2040/can2040.oCompiling out/src/generic/canserial.oCompiling out/src/generic/canbus.oCompiling out/src/../lib/fast-hash/fasthash.oCompiling out/src/rp2040/hard_pwm.oCompiling out/src/rp2040/spi.oCompiling out/src/rp2040/i2c.oPreprocessing out/src/rp2040/rpxxxx_link.ldBuilding out/compile_time_request.oVersion: XXXXLinking out/klipper.elfCreating bin file out/klipper.bin终端末尾出现
Linking out/klipper.elf和Creating bin file out/klipper.bin,即表示编译成功。 实际编译时,部分 Compiling 行和 Version 会随 Klipper 与系统版本变化。
ファームウェアの書き込み
- ファームウェアを書き込む前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアが書き込まれたマザーボードに接続してください。下に参考の配線図があります。
- パッドが正しい位置に差し込まれているかご確認ください。
KFインターフェースの図解
プリンターの電源を完全に切り、電源供給を遮断してから、CANノードに電力を供給する可能性のあるUSB接続も外してください。通電状態で配線の抜き差し、終端抵抗の調整、端子への接触を行わないでください。
ここでいう「非通電状態での測定」はCAN線を切断することではありません。測定時はCAN線およびバス上の各ノードを通常の使用状態のまま接続しておく必要があります。そうでなければ、測定できるのは単一ノードまたは単一の終端抵抗だけで、CANバス全体を代表することはできません。
マルチメーターを抵抗レンジに設定し、CAN-HとCAN-L間の抵抗値を測定します:
| 参考測定値 | 判断と処理 |
|---|---|
約 60Ω | 正常です。通常、バスの物理両端にそれぞれ 120Ω の終端抵抗があることを示します |
約 120Ω | 通常、終端抵抗は1つだけ有効です。製品の配線図に従って、もう一方の物理末端の終端抵抗を有効にしてください |
約 40Ω | 通常、終端抵抗は3つ有効になっています。製品の配線図に従って、余分な終端抵抗を無効にしてください |
上記の数値は参考値です。マルチメーターの精度、テストリードの接触、配線の状態によって測定誤差が生じる場合があります。判断の重点は、読み値がどの範囲に近いか、および終端抵抗を調整した後の読み値の変化傾向であり、表の数値と完全に一致する必要はありません。
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が残っている場合はメインボードです。
ケース2:メインボード + 書き込み待ちツールボード
- 表示内容:2つのCAN IDが表示される
- 説明:メインボードはKlipperファームウェアで動作しており、ツールボードはCanBootファームウェアで動作しており、書き込み待ちの状態です。
ケース3:UTOC + 書き込み待ちツールボード
- 表示内容:UTOC自体はIDを表示せず、ツールボードのIDのみが表示される
- 説明:UTOCはブリッジとしてのみ機能します。ツールボードがCanBootモードであることを確認してください。
ケース4:IDが表示されない
- 表示内容:IDが一切表示されない
- 考えられる原因:
- CANバスがKlipperに占有されている
- 上位機のCAN0レート設定が誤っている
- 物理的な配線に異常がある
- デバイスがCanBootモードに入っていない
- 書き込み待ち状態:ツールボードがCanBootモードの場合、
Application: CanBootと表示され、ファームウェアランプが点滅します。この状態でファームウェアの書き込みが可能です。 - ID占有の対処:デバイスが既にKlipperファームウェアで動作しており、IDが設定ファイルに記入済みの場合、IDは表示されません(Klipperに占有されています)。再度表示するには、設定で該当IDを無効化し、完全に電源を切って再起動する必要があります。
UUIDを検索できない場合は、以下を参照してください: CAN問題トラブルシューティングガイド
書き込み開始
CANファームウェアのコンパイルが完了したら、デバイスの現在の状態に応じて書き込み方法を選択してください:
您的下位机现在是什么状态
ファームウェアが正常に起動したかの確認
- ファームウェアが正常に起動するとLEDが点灯します。
Loading...