メインコンテンツまでスキップ

CAN ファームウェアのビルド

ビルドを開始する

  • klipper サービスがインストールされているホストコンピュータを使用する必要があります ネットワーク経由でSSHに接続する
  • また、デバイスをホストコンピュータに接続してください
  • 注意:通常のホストコンピュータを使用してください。例えば、Raspberry Pi FLY派などです。マジックカスタムホストコンピュータ(例:WiFi棒子、Redmiなど)の場合、問題が多いので技術サポートは提供できません
手記
  • FlyOS-Armbianシステムと通常のシステムの注意点
    • Raspberry Pi、FLY派などの通常のホストコンピュータシステムはこの種類になります
    • この種類のホストコンピュータでは ROOT ユーザーを使用してあらゆる操作を行ってはいけません
    • 通常のユーザーを使用してください
    • ユーザー切り替え方法については、FlyOS-Armbianシステムの場合は su fly コマンドを使用して通常のユーザーに切り替えてください
    • 他のシステムの場合は su <あなたのホストコンピュータのユーザー名> コマンドを使用して通常のユーザーに切り替えてください
    su <あなたのホストコンピュータのユーザー名>
ヒント
  • 上位機が正常にネットワークに接続できていることを確認してください
  • 固件のコンパイル前に、SSHを使用してネットワーク経由で上位機にログインする必要があります
  • 上位機にシリアルポートツールを使用しないでください

Klipperファームウェアのコンパイルと設定ページ操作説明

ヒント

キーボード入力モードを半角モード(英語モード)に設定してください

  1. キーボードのキー、キーは、カーソルを上下移動させてメニュー項目を選択します
  2. 確認キーEnterまたはスペースキーSpaceは、メニューをチェックするかサブメニューに進むために使用します
  3. 戻るキーESCは、一つ前のメニューに戻ります
  4. Qキーは、Klipperファームウェアの設定ページを終了します
  5. 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ピンを選択し、入力:!gpio5,!gpio19,!gpio24
手記

!gpio5,!gpio19,!gpio24を英語入力モードで入力してください

  • Qキーを押して Save configuration を表示し、その後 Y キーを押します
  • この時点で構成が保存され、コマンドラインインターフェースに戻ります
  • 次のコマンドを入力してビルドを開始します。時間がかかる場合があります
make -j4
  • 最後に次の内容が出力されればビルドは成功です

    Linking out/klipper.elf
    Creating bin file out/klipper.bin

配線

  • ファームウェアを焼込む前に、XT30データケーブルを使用してツールボードをUTOCまたはブリッジファームウェアが焼込まれたメインボードに接続します。下記は参考配線図です

  • ポットスイッチが正しい位置にあるか確認してください

  • CAN HとCAN Lの抵抗値が電源オフ状態でマルチメーターで測定して約60Ωであることを確認してください。もし120Ωであれば120ΩのポットスイッチをONにし、40Ω前後であればポットスイッチをOFFにしてください

  • 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速度が正しくない、接線異常です
    • 通常、書き込みが必要なツールボードが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が点灯します
Loading...
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -
- 3D Mellow -