CANファームウェアのコンパイル
コンパイル開始
klipper
サービスがインストールされた上位機を使用する必要があります ネットワーク経由でSSHに接続- そしてデバイスを上位機に接続してください
- 注意:一般的な上位機を使用してください。例えば、ラズベリーパイやFLY派などです。改造された上位機(例:WiFiスティック、レッドミーなど)は問題が多いので、技術サポートを提供できません
- 下記のコマンドを入力して
ROOT
ユーザーから通常のユーザーに切り替えることができます ROOT
ユーザーを使用しないでください- flyユーザーの場合、
su fly
と直接入力できます。flyユーザー以外の場合、<あなたの上位機のユーザーネーム>
をあなたの上位機のユーザーネームに置き換えてください!
su <あなたの上位機のユーザーネーム>
- 请确保上位机可以正常联网
- 固件编译前需要使用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/RP235xを選択してEnterキーを押します
-
Bootloader offsetを選択し、16KiB bootloaderを選択します
-
Communication interfaceを選択し、CAN busを選択します
- マイクロコントローラー起動時に設定するGPIOピンを選択します。入力:gpio24
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またはブリッジファームウェアがインストールされたメインボードに接続してください。参照接続図は以下です
- CAN HとCAN Lの抵抗値を電源を切った状態でマルチメーターで測定し、約
60Ω
であることを確認してください。もし120Ω
であれば120Ω
のジャンパーを接続し、約40Ω
であればジャンパーを外してください
::: tip
- IDを検索したり、ファームウェアを書き込む際は、プリント中に実行しないでください
- 同じマザーボードまたはツールボードであるKatapultのCANファームウェアとKlipperのCANファームウェアは、IDが完全に一致します
:::
::: warning
- 上位機器のCANネットワークが正しく構成されていることを確認してください
lsusb
コマンド後に1d50:606f
が表示される場合のみ、以下のコマンドを使用してCAN IDを検索できます- ツールボードのCANレートが上位機器と同じである必要があります。そうでないとIDを見つけることができず、書き込みもできません
:::
-
下記のコマンドを実行してCANBus UUIDを照会します:
~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
fast
システムではこのコマンドを使用して焼付けを行います。<あなたのマザーボードID>
を上記の照会結果に置き換えてくださいpython ~/klipper/scripts/canbus_query.py can0
-
機械に応じて以下のいずれかの状況が表示されます。以下は参考例です:
- 第一種:ブリッジファームウェアがインストールされたマザーボードの場合、IDが一つ表示され、「Application: Klipper」というメッセージが出力されます
- 第二種:ブリッジファームウェアがインストールされ、ツールボードが必要なファームウェアが搭載された場合、二つのIDが表示されます
- 第三種:UTOCと必要なツールボードを使用する場合
- ヒント:UTOCにはIDが表示されません
- 第四種:IDの表示がない場合、一般的にはKlipperによって占有されている可能性があります。上位機器のCAN0レートが正しくないか、接続異常が発生している場合です
- 第一種:ブリッジファームウェアがインストールされたマザーボードの場合、IDが一つ表示され、「Application: Klipper」というメッセージが出力されます
-
通常、焼付けが必要なツールボードがCANBOOTモードにある場合、「Application: CanBoot」が表示され、対応するファームウェアLEDが点滅します。この場合、Klipperファームウェアを焼付けする必要があります。それ以外の場合、接続できません!!!
-
ヒント:Klipperファームウェアがすでに設定ファイルにIDが入力されている場合、IDは表示されなくなり、Klipperによって占有されます。この場合、対応するIDを無効化し、マザーボードを完全に電源オフして再起動する必要があります。
-
::: warning
- UUIDが見つからない場合は、以下のドキュメントをご覧ください
- CAN問題まとめ
:::
ファームウェア焼付け
-
下記のコマンド中の
241696050c56
を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が点灯します