072バージョン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に接続した後、次のコマンドを入力し、エンターキーを押します。
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 に進み、STM32F072 を選択し、エンターキーを押します。
-
Bootloader offset を選択し、8KiB bootloader を選択します。
-
Communication interface を選択し、CAN bus (on PB8/PB9) を選択します。
-
micro-controller起動時に設定するGPIOピンを選択、入力:!PC13(大文字であることに注意)
-
Q
キーを押すと Save configuration が表示され、その後Y
キーを押します -
現在は設定が保存され、コマンドラインインターフェースに戻っているはずです
-
make -j4
を入力してコンパイルを開始します。時間がかかります -
最後に次の内容が出力されたらコンパイル成功です
Linking out/klipper.elf
Creating hex file out/klipper.bin
デバイスの検索
- 上位機が正常にネットワークに接続できていることを確認し、下位機と接続するデータ線がデータ転送機能を持っていることを確認してください。
- SSHで上位機に接続した後、コマンドラインに
lsusb
と入力してエンターを押します。以下の画像で囲まれた情報が出力された場合、次の手順に進むことができます。- 何も情報が返されない場合は、これは上位機のシステム問題です。こちらでは対処できません。正常なシステムに変更するか、上位機を交換してください。
lsusb
コマンドがないというメッセージが出た場合、このコマンドを実行してインストールできますsudo apt-get install usbutils
1d50:606f
は今回の使用予定のデバイスに該当します。OpenMoko, Inc. Geschwister Schneider CAN adapter
のサフィックスは参考程度ですが、判断基準とはなりません。- 部分的な上位機はシステム問題のために、完全に表示されないか、表示されない場合があります。
lsusb
コマンドを入力するとデバイスが表示されるが、1d50:606f
が表示されない場合は、データ線を交換して、マザーボードを上位機の他のUSBポートに接続してみてください。
- 上記の手順を以前に実行し、Klipperファームウェアの書き込みが成功し、マザーボードが正常に動作している場合、Klipperファームウェアの更新のみを行う場合は、このページの右側メニューにある
ファームウェア更新
セクションを確認してください。
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
-
入力後、以下のいずれかの状況が発生する可能性があります。以下は参考までに記載します。
- 第一の場合:ブリッジファームウェアをフラッシュしたマザーボード、IDが表示され、
Application: Klipper
というメッセージが出ます - 第二の場合:ブリッジファームウェアをフラッシュしたマザーボードとフラッシュが必要なツールボード、IDが2つ表示されます
- 第三の場合:UTOCとフラッシュが必要なツールボードを使用
- 注意:UTOCはIDを表示しません
- 第四の場合:IDのメッセージが表示されない、一般的にはKlipperによって占有されている、上位機器CAN0レートが正しくない、配線に異常がある
- 第一の場合:ブリッジファームウェアをフラッシュしたマザーボード、IDが表示され、
-
通常、フラッシュが必要なツールボードがCANBOOT状態にある場合、
Application: CanBoot
というメッセージが表示され、対応するファームウェアLEDが点滅します。この場合、Klipperファームウェアをフラッシュする必要があります。それ以外の場合は接続できません!!! -
注意:KlipperファームウェアでIDが構成ファイルに入力された後、IDは表示されなくなり、Klipperによって占有されます。対応するIDをシャットダウンし、マザーボードを完全に電源オフし、再起動する必要があります。
::: warning
- 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が点灯します