CAN ファームウェアのビルド
ビルドを開始する
- は
klipper
サービスがインストールされているホストコンピュータを使用する必要があります ネットワーク経由でSSHに接続する - また、デバイスをホストコンピュータに接続してください
- 注意:通常のホストコンピュータを使用してください。例えば、Raspberry Pi FLY派などです。マジックカスタムホストコンピュータ(例:WiFi棒子、Redmiなど)の場合、問題が多いので技術サポートは提供できません
- FlyOS-Armbianシステムと通常のシステムの注意点
- FlyOS-FASTシステムの注意点
FlyOS-Armbian
システムと通常のシステムの注意点- Raspberry Pi、FLY派などの通常のホストコンピュータシステムはこの種類になります
- この種類のホストコンピュータでは
ROOT
ユーザーを使用してあらゆる操作を行ってはいけません - 通常のユーザーを使用してください
- ユーザー切り替え方法については、
FlyOS-Armbian
システムの場合はsu fly
コマンドを使用して通常のユーザーに切り替えてください - 他のシステムの場合は
su <あなたのホストコンピュータのユーザー名>
コマンドを使用して通常のユーザーに切り替えてください
su <あなたのホストコンピュータのユーザー名>
FlyOS-FAST
システムの注意点FASTシステム
のデフォルトのユーザー名はroot
で、パスワードはmellow
です- ファームウェアをビルドするには
root
ユーザーのみを使用してください - さらに、
FASTシステム
にはROOT
ユーザーのみがあり、ユーザーの切り替えは必要ありません!!!
- 上位機が正常にネットワークに接続できていることを確認してください
- 固件のコンパイル前に、SSHを使用してネットワーク経由で上位機にログインする必要があります
- 上位機にシリアルポートツールを使用しないでください
Klipperファームウェアのコンパイルと設定ページ操作説明
キーボード入力モードを半角モード(英語モード)に設定してください
- キーボードの
↑
キー、↓
キーは、カーソルを上下移動させてメニュー項目を選択します - 確認キー
Enter
またはスペースキーSpace
は、メニューをチェックするかサブメニューに進むために使用します - 戻るキー
ESC
は、一つ前のメニューに戻ります Q
キーは、Klipperファームウェアの設定ページを終了します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を選択して Enter を押します。
-
メニュー Micro-controller Architecture に進み、Raspberry Pi RP2040/RP235x を選択して Enter を押します。
-
Bootloader offset を選択し、16KiB bootloader を選択します。
-
Communication interface を選択し、CAN bus を選択します。
-
(4) CAN RX gpio number
を選択し、4
を削除して1
を入力します。 -
(5) CAN TX gpio number
を選択し、5
を削除して0
を入力します。
- マイクロコントローラー起動時に設定するGPIOピンを選択し、入力:!gpio18
!gpio18
を英語入力モードで入力してください

- 上記の図と照合し、一致していることを確認した上で次のステップに進んでください
Q
キーを押して Save configuration が表示され、そのあとY
キーを押します- この時点で構成を保存し、コマンドラインインターフェースに戻っています
- 次のコマンドを入力してビルドを開始してください。時間がかかります
make -j4

-
最後に次の内容が出力されればビルドは成功です
Linking out/klipper.elf
Creating bin file out/klipper.bin
プログラミングモードに入っているか確認する
設備の検索
- 上位機が正常にネットワークに接続できていることを確認し、下位機と接続されているデータ線がデータ転送機能を持っていることを確認してください。
- 上位機にSSH接続した後、コマンドラインに
lsusb
を入力してEnterを押します。もし下の画像で囲まれた情報が出力された場合、次のステップに進めます。- 何も情報が返されない場合、これは上位機のシステムの問題であり、解決することはできません。正常なシステムに切り替えるか、上位機を交換してください。
lsusb
コマンドがないと表示される場合、以下のコマンドを実行してインストールできます:sudo apt-get install usbutils
1d50:606f
は今回使用する予定のデバイスです。- 部分的な上位機はシステムの問題により、完全に表示されなかったり、表示されなかったりすることがあります。
lsusb
コマンドを入力するとデバイスが表示されるが、1d50:606f
が表示されない場合は、データ線を変更してマザーボードを上位機の他のUSBポートに接続してみてください。
1d50:606f
が表示されたら、次のステップに進んでください。
ファームウェアをプログラミングする
- ファームウェアをプログラミングする前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアを刷ったメインボードに接続してください。下記は参考接線図です
- バイポールスイッチが正しい場所に設定されているか確認してください
KFインターフェースの図

XT30インターフェースの図

- 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
fast
システムは以下のコマンドでCAN_ID
を検索してくださいpython ~/klipper/scripts/canbus_query.py can0
-
入力後、マシンの状況によって以下のいずれかの結果が表示されます(参考):
- 第1種:ブリッジファームウェアを書き込んだマザーボードで、1つのIDが表示され、
Application: Klipper
と表示される - 第2種:ブリッジファームウェアを書き込んだマザーボードに、ファームウェア書き込みが必要なツールボードを接続した場合、2つのIDが表示される
- 第3種:
UTOC
にファームウェア書き込みが必要なツールボードを使用する場合 - ヒント:
UTOC
の場合、IDは表示されません - 第4種:IDが表示されない場合、一般的にはKlipperが使用中、上位コンピュータのCAN0通信速度が正しくない、配線に異常がある等の可能性があります
- 第1種:ブリッジファームウェアを書き込んだマザーボードで、1つのIDが表示され、
-
正常にファームウェア書き込みを行うためには、ツールボードが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が点灯します