klipperに物理ボタンを設置する(gcode button)

klipperマシンに物理ボタンを付ける話 1. MCUボードに物理ボタンを取り付けてGコードを実行させる まずボードの使ってないピンを見つけてそこにボタンを物理ボタンを接続する必要がある KP3Sの場合、SDカードを外部に延長するためのコネクタが生えているのでこれを利用したい klipperはMCUボードのSDカード使わんので都合がいい ピンアサインは次の通り PC12”以外” のピンは10kΩの物理抵抗で外部プルアップ回路が構成されている Robin_nano以外のボードは外部抵抗の無いピンから取ることの方が多いだろう PC8はプルアップ抵抗回路なのでPC8ピンをGNDへ落とすよう配線すればPC8ボタンが作れる 物理ボタンが出来たらファームウェア上でボタンを宣言する printer.cfgでの記述は次のようになる #CPUの内部プルアップ抵抗を使用する場合 [ gcode_button PC8 ] pin : ^ !PC8 press_gcode : #CPUの内部プルダウン抵抗を利用する場合 [ gcode_button PC8 ] pin : ~ PC8 press_gcode : #外部プルアップ抵抗回路の場合 [ gcode_button PC8 ] pin : !PC8 press_gcode : #外部プルダウン抵抗回路の場合 [ gcode_button PC8 ] pin : PC8 press_gcode : CPUの内部プルアップ抵抗を利用する場合は「^」記号を記述する CPUの内部プルダウン抵抗を利用する場合は「~」記号を記述する 外部抵抗回路の場合「^」は必要ない プルアップ回路はピン番号の前に「!」を書いて入力を反転させる必要がある 今回は外部プルアップなので「!PC8」と記述すればいい ちなみに宣言する名前、 [ gcode_button PC8 ] の部分は任意の名前で良い 例えば [ gcode_button btn1 ] pin : !PC8 press_gcode : とすることができる 動作確認 物理スイッチをprinter.cfgに追加できたらスイッチの動作を確認する Mainsailのコンソールタブを開きKlipper設定ファイルで宣言した名前で QUERY_BUTTON b...