takashiskiのブログ

覚書の殴り書き

KiCad6のプラグインを作るための準備

KiCad5のプラグイン全部吹っ飛ばしたので、重い腰をあげてKiCad6に移行するための準備進めたので記録。

基本資料

一部名前変わったっぽいけど大体5と一緒っぽい

dev-docs.kicad.org

変わった単語は例えば以下

  • Module -> Footprint

KiCad7ではかなり破壊的な変更するみたいなことをどっかで見た気もする

pcbnewの準備

プラグインを更新」に対してホットキーを追加する

開発中に何か変更するたびに「ツール>外部プラグイン>プラグインの更新」をマウスで選択するのはめんどくさいので、ホットキーを割り当てる。

設定>設定から設定を開き、ホットキーの設定を開く。

プラグインの更新」で絞り込みをし、適当な重複してないショートカットキーを割り当てる。 私はCtrl+Rがあいているように見えたのでそれを設定した。

適当な20x20pxのpng画像を用意する

プラグインのアイコン用。 配布する予定がないなら手元で区別がつけばいいので適当に。 アイコン未設定でもマウスオーバーすれば名前が出るが、同じアイコン並んでるとしんどいと思うので適当に作るとよさそう。

Visual Studio Codeの準備

プラグインディレクトリに.vscode/settings.json作る

題のファイルを作って以下の内容にする。それぞれのパスは環境に応じて変更すること。 変更したらwindow reopenして新しいターミナルを開いてパスが通っていることを確認する。

{
    "python.defaultInterpreterPath": "C:/Program Files/KiCad/6.0/bin/python.exe",
    "terminal.integrated.env.windows": {
        "PATH":"C:\\Program Files\\KiCad\\6.0\\bin;C:\\Program Files\\KiCad\\6.0\\bin\\Scripts;${env:PATH}"
    }
}

python.defaultInterpreterPath

型補完

terminal.integrated.env.windows

vscodeのターミナルのパス設定。 設定するとpython.exeを呼んでもストアが起動せず、pipが呼べる。 pip呼ばないならいらない。

型ヒントを付ける

python詳しくないのでわからないけど、pcbnewライブラリのあらゆる関数の戻り値がanyに推定される。 型定義の戻り値に全部ダブルクォートがついてるからなのかdllを参照してるっぽいからかはわからない。

このままだとboard = GetBoard() した段階で board がanyになるので board が何を持っているのかがリファレンスを読み込まないとわからない。

KiCad5はpython2だったのでどうしようもなかったが、KiCad6はpython3になった。 python3.5からは型ヒントが使える。

board:pcbnew.BOARD = pcbnew.GetBoard()

各所に明示的に型を書いていけばコード補完ができる。