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

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に接続した後、次のコマンドを入力して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ピンを選択し、入力:!gpio13 ご注意ください!は大文字です
  • 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Ωジャンパーを接続し、40Ω前後であればジャンパーを外してください
警告
  • LEDが点滅しない場合は、再度katapultファームウェアをロードしてください:katapultファームウェアをロード
  • LEDが点滅しない場合は、katapultファームウェアをロードした後、次の手順を実行してください

デバイスの検索

  • 上位機に正常にログイン済みの場合、lsusbを入力してデバイスを検索できます。以下のいずれかの状況が発生する可能性があります。
    • lsusbを入力した際にlsコマンドが見つからないというメッセージが表示される場合、以下のコマンドでコマンドをインストールできます。
      sudo apt-get install usbutils
    • lsusbを入力しても何の反応もない場合、これはシステムの問題です。こちらでは対応できませんので、システムを変更するか、正常なシステムを使用してください。
    • 以下の画像のような情報が表示されます。ただし参考情報であり、1d50:606fが表示されていることを確認すれば問題ありません。
  • 1d50:606fは今回使用するデバイスです。
  • 複数の1d50:606fが表示される場合、片方を除外する必要があります。そうでないと今後のファームウェア書き込みや接続に影響が出ます。例えばFLY MINI PADの場合、他のCANブリッジではなく、基板に搭載されているUTOCを使用することをおすすめします。
  • 表示されない場合は、自分でケーブルがしっかり接続されているか、ファームウェアが正しく書き込まれているかを確認してください。
注意事項

1d50:606fが表示されている場合のみ、CAN IDの検索を行ってください。

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種:ブリッジファームウェアを書き込んだマザーボードで、1つのIDが表示され、Application: Klipperと表示される
      • 第2種:ブリッジファームウェアを書き込んだマザーボードに、ファームウェア書き込みが必要なツールボードを接続した場合、2つのIDが表示される
      • 第3種:UTOCにファームウェア書き込みが必要なツールボードを使用する場合
      • ヒント:UTOCの場合、IDは表示されません
      • 第4種:IDが表示されない場合、一般的にはKlipperが使用中、上位コンピュータのCAN0通信速度が正しくない、配線に異常がある等の可能性があります
    • 正常にファームウェア書き込みを行うためには、ツールボードが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が常時点灯します
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 -
Loading...