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を選択し、エンターを押します。
-
メニューMicro-controller Architectureに入り、STMicroelectronics STM32を選択し、エンターを押します。
-
メニューProcessor modelに入り、STM32H723を選択し、エンターを押します。
-
Bootloader offsetを選択し、128KiB bootloaderを選択します。
-
**Clock Reference (8 MHz crystal)**を選択し、25 MHz crystalを選択します。
-
Communication interfaceを選択し、**CAN bus (on PB8/PB9)**を選択します。
- マイクロコントローラー起動時にGPIOピンを選択し、入力:!PA15 ご注意:!は大文字です
- これで設定を保存し、コマンドラインインターフェースに戻りました
- 下記のコマンドを入力してビルドを開始してください。時間がかかります
make -j4

-
最後に次の内容が出力されればビルドに成功しました
Linking out/klipper.elf
Creating hex file out/klipper.bin
配線
- ファームウェアを焼込む前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアが焼込まれたメインボードに接続してください。下記は参考配線図です
- バイポットスイッチが正しい場所にあるかご確認ください
- UTOCの接続参照
- CAN HとCAN Lが電源オフの状態でマルチメーターで抵抗値を測定し、約60Ωになっていることを確認してください。120Ωの場合、120Ωジャンパーを接続してください。40Ω前後の場合、ジャンパーを外してください
- XT30データケーブルでツールボードをUTOCまたはブリッジファームウェアが焼込まれたメインボードに接続した後、メインボードのLEDが点滅しているはずです。
- LEDが点滅しない場合は、再度katapultファームウェアを焼込んでください:katapultファームウェアの焼込み
- katapultファームウェアを焼込んだ後、次のステップを実行してください
設備の検索
- 上位機が正常にネットワークに接続できていることを確認し、下位機と接続されているデータ線がデータ転送機能を持っていることを確認してください。
- 上位機にSSH接続した後、コマンドラインに
lsusb
を入力してEnterを押します。もし下の画像で囲まれた情報が出力された場合、次のステップに進めます。- 何も情報が返されない場合、これは上位機のシステムの問題であり、解決することはできません。正常なシステムに切り替えるか、上位機を交換してください。
lsusb
コマンドがないと表示される場合、以下のコマンドを実行してインストールできます:sudo apt-get install usbutils
1d50:606f
は今回使用する予定のデバイスです。- 部分的な上位機はシステムの問題により、完全に表示されなかったり、表示されなかったりすることがあります。
lsusb
コマンドを入力するとデバイスが表示されるが、1d50:606f
が表示されない場合は、データ線を変更してマザーボードを上位機の他のUSBポートに接続してみてください。
1d50:606f
が表示されたら、次のステップに進んでください。
IDを検索して焼込む
- 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つのIDが表示され、
Application: Klipper
というメッセージが表示されます - 第二種:ブリッジファームウェアを搭載したマザーボードと、ファームウェアを書き込まなければならないツールボードを組み合わせた場合、2つのIDが表示されます
- 第三種:
UTOC
とファームウェアを書き込まなければならないツールボードを組み合わせた場合 - メモ:
UTOC
はIDを表示しません - 第四种:IDが表示されない場合、通常はKlipperによって占有されており、上位機のCAN0速度が正しくない、接線異常です
- 第一種:ブリッジファームウェアを搭載したマザーボードで、1つのIDが表示され、
-
通常、書き込みが必要なツールボードがCANBOOT状態の場合、
Application: CanBoot
と表示され、対応するファームウェアのランプが点滅します。このとき、Klipperファームウェアを書き込む必要があります。それ以外の場合、接続できません!!! -
メモ:Klipperファームウェアで、IDを設定ファイルに入力した後、IDは表示されず、Klipperによって占有されます。対応するIDを無効にして、マザーボードを完全に電源オフにし、再起動する必要があります。
手記- 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が点灯します