困っていること
3Dプリンタのファームウェアとして主流のMarlinに対して、KlipperはPC(ラズパイ等のシングルボードPC含む)の演算支援により、更に印刷速度・精度の向上や独自機能拡張が可能です。
一方、Marlinではネイティブに対応していたいくつかの機能(G29:オートレベリング)を、マクロによって各自実装する必要があります。ただでさえ高機能なKlipperなのに、マクロによって更に自由度が高くなるので、調べるのは大変です(日本語の情報も少ないですし)。そこで、どうやって調べればいいのか、マクロを書いたらいいのか、備忘録的にメモろうと思います。
情報源
Marlin G-code
Marlinが対応しているGコード。まずは3Dプリンタで使われるGコードの動作を調べるのが大前提。Klipperで未対応のGコードはマクロを組む必要があります。
Klipper公式サイト
- 信頼できる:★★★★★
- 情報量 :
★★★★★⇨ ★★★☆☆ - 銀の弾丸度:
★☆☆☆☆⇨ ★★★☆☆
(銀の弾丸度=直近の問題解決に直ぐ役に立つか)
まずは公式Documentsを読むのが前提でしょう。
- G-Codes
-
Status reference
- Klipperマクロでは、ここに記載されているGコード(例:G1)や変数(例:printer.toolhead.axis_minimum.x)、特殊なコマンド(例:BED_MESH_CALIBRATE)、及びjinja2の構文を組み合わせます。
-
Commands templates
- 一応公式でもマクロの書き方のチュートリアルが存在します。
流石公式と言ったところです。しっかり情報が載っていますが、 実際の3Dプリンタで何を書いたら良いか、 自分で考える 必要があります。
【追記】
なんか見つけました。。。
公式Github/config/sample-macros.cfg
ここのマクロ例は実際のプリンタの実装に近く&シンプル。
まずはここのマクロ例を読むと何を書くのか理解しやすいと思います。
(こんな良い例があるなら最初からリンク張って誘導しようよ。しかも公式サイトには説明の無いコマンドとかもありそうだし・・・)
VORON公式サイト
- 信頼できる:★★★★★
- 情報量 :★★★☆☆
- 銀の弾丸度:★★★☆☆
VORONは、ユーザーが自分で材料を集め(主に自作)て構築する3Dプリンタのプロジェクトです。スペックの高さには定評があるものの敷居が高いのが特徴です。
(私個人的には、3Dプリンタ界のGentooLinuxだと思っています。初めての3DプリンタでVORONをオススメする人からは距離をおいたほうが良い )
チュートリアルはもっと丁寧ですし、githubには実際の例が記載されています。ただ、自分のプリンタがVORONではない限り、結構読み替えが必要です。
- 信頼できる:★★☆☆☆
- 情報量 :★★☆☆☆
- 銀の弾丸度:☆☆☆☆☆~★★★★★
Klipperの情報が多いのは日本より海外です。そうなると検索結果には自然とRedditの投稿が引っかかります。
直球で役に立つ情報が乗っていることもありますが、スライサとの連携を前提とした応用的なコードであることが多く、自分のマクロには応用し辛い。もちろんぴったりなものが見つかれば嬉しいですが。
次回
実際にマクロを書いてみようと思います。
後編に続く。