KiCADのライブラリ管理/バージョン管理を可能な限りGithubと連携する
はじめに
オープンソース開発環境、かつ、ハードウェアを開発する環境として、充実の機能を提供をしてくれるKiCADについて、さらにより良く開発を進めるための思考錯誤を記録しています。
(誰かの何かに役立てば。。)
この記事は
KiCADで部品ライブラリやfootprintと呼ばれる部品形状/パターンライブラリ、および作成したプロジェクト自体をGithub使ってバージョン管理することで、
- 個人開発のデータバックアップおよびバージョン管理
- 様々なPC/Mac環境で同一の環境構築が容易に
- 共同開発もやりやすくなる
と感じて、纏めている記事となります。
なお、この記事ではKiCAD(Mac版) Version: (5.1.8-0-10_14), release build
にて実施しています。
どういった人向けか
KiCADを使って基板(PCB(=Print Circuti Board)とも言います)を設計している方向けの記事です。
やり方
まず、KiCAD標準ライブラリ(部品ライブラリおよびfootprintライブラリ)のGithub連携を進めていきます。
こちらについては、以下が非常に参考となりました。
まずはKiCAD標準ライブラリをGithub連携
Githubリポジトリダウンロード(git clone)
Macにgitをインストールした状態で、KiCAD標準ライブラリのGithubリポジトリをダウンロードします。
GithubでのKiCAD標準ライブラリについては以下リンク先のリポジトリがマスターとなります(こちらに連携するイメージです)。
この例ではホームディレクトリ配下にKiCAD_git_repo
ディレクトリを作成し、その内部にGithubリポジトリをクローンしています。
$ mkdir ~/KiCAD_git_repo
$ cd ~/KiCAD_git_repo
$ git clone https://github.com/KiCad/kicad-symbols
$ git clone https://github.com/KiCad/kicad-footprints
$ git clone https://github.com/kicad/kicad-packages3d
$ git clone https://github.com/KiCad/kicad-templates.git
KiCADパス設定
その上で、KiCADの設定側でパス設定を行うことで、KiCAD標準ライブラリのGithub連携が可能となります。
まずは、メニューの設定
→パスを設定
より、パスを設定ウィンドウ
が開くと思いますので、
その中で、以下4項目を先程Githubダウンロードした各ディレクトリとパスを通してみてください。
- KICAD_SYMBOL_DIR
- KICAD_TEMPLATE_DIR
- KISYS3DMOD
- KISYSMOD
KiCADライブラリテーブルファイルのGithub連携
さらに、KiCADで新規プロジェクトを作成した際に、デフォルトで読み込まれるグローバルライブラリを指定するテーブルファイルがあります(主にEeschemaで読み込まれるsym-lib-table
とpcbnewで読み込まれるfp-lib-table
)。この読み込み先についても、Github連携を図ります。
まず、事前に確認してほしいのは、以下の様に設定
→シンボル ライブラリーを管理
から開くシンボル ライブラリーウィンドウ
に記載されているファイル:
に続くPATH内容です。
以下が、PATH内容の表示例となります。こちらをメモって頂きつつ、、
同様に、設定
→フットプリント ライブラリーを管理
から開くフットプリント ライブラリーウィンドウ
に記載されているファイル:
に続くPATH内容もメモをお願いします。
次に、上記にてメモした
-
sym-lib-table
のPATH -
fp-lib-table
のPATH
のひとつ上の階層にターミナルで移動してもらうとsym-lib-table
とfp-lib-table
の2つのファイルがあると思いますので、以下を実施します。
-
sym-lib-table
とfp-lib-table
の2つのファイルを削除(元々あったファイルを別名で念の為バックアップする事を推奨) - Github連携しているKiCAD標準ライブラリ内の同名ファイルにシンボリックリンクを貼る
以下が手順の参考例となります。
$ cd /Users/jamming6123/Library/Preferences/kicad
$ mv sym-lib-table sym-lib-table_bk_org #元々あったファイルを別名で念の為バックアップしておく
$ ln -s /Users/jamming6123/KiCAD_git_repo/kicad-footprints/sym-lib-table sym-lib-table
$ mv fp-lib-table fp-lib-table_bk_org #元々あったファイルを別名で念の為バックアップしておく
$ ln -s /Users/jamming6123/KiCAD_git_repo/kicad-footprints/fp-lib-table fp-lib-table
うまくいくと以下の様なイメージとなると思います。
(この例では、元々あった同名ファイルのバックアップは別の所に置いています)
一度、KiCADを開き直して(再起動)して、適当なプロジェクトファイルを開いて特にエラーが出ていなければ無事成功です!
プロジェクトファイル一式をGithubバージョン管理する
これで、KiCADが標準的に呼び出すfootprint関連ライブラリのGithub連携がうまくいくと思いますが、さらに追加で、個別で作成していくであろうプロジェクトディレクトリのGithub連携も行っていきます。
これにより、
- KiCADプロジェクト自体のバージョン管理も出来る
- 他のマシン(MacだろうがWindowsだろうがlinuxだろうが)とで簡単に環境複製も出来る
- 共同開発もやりやすくなる
ので、いろいろ便利です。
手順についてですが、以下が非常に参考となります。
初心者用:GitHubにファイルをアップロードする方法(超基本)
まず、対象のKiCADプロジェクトのディレクトリにターミナルで移動します。その上で、上記Githubとの連携手順も参考に以下のような実行例にてアップロードすることで、以降、Githubリポジトリでのバージョン管理が可能となります。
この例では、
上記のように、事前にGithub上にrsp02_LoadSW_OCP_Circuit_v1_2
のリポジトリを作成した状態で進めています。
$ cd ~/SpaceTech_GARAGE/KiCad/rsp02_LoadSW_OCP_Circuit_v1_2 #対象のKiCADプロジェクトのディレクトリのPATH
$ git init #当該対象のKiCADプロジェクトディレクトリにgit初期設定を実施
$ git remote add origin https://github.com/planetmbit/KiCAD_LoadSW_OCP_Circuit_v1_2.git #Githubリポジトリと当該ディレクトリの紐付け設定を実施
$ git add . #当該対象のKiCADプロジェクトディレクトリ自体を丸ごとGithubアップロード&連携とする
$ git commit -m "initial commit" #コミットする(コミット時のメッセージは任意の内容でOK)
$ git push origin master #Githubリポジトリにgitプッシュする
これにより、KiCADのプロジェクトディレクトリを丸ごとGithubにてバージョン管理出来る様になりますので、
- 個人開発のデータバックアップおよびバージョン管理
- 様々なPC/Mac環境で同一の環境構築が容易に
- 共同開発もやりやすくなる
が可能となると思います。
なお、プロジェクト固有で作成した部品ライブラリやfootprintライブラリを、当該KiCADのプロジェクトディレクトリ配下に置いておく事で、固有作成ライブラリのバージョン管理やバックアップも可能となりますのでおすすめです。
(よく、プロジェクト固有で追加したfootprintが環境移設にあたって参照出来なるなる等起こると思いますので。。)
注意!:困ったときには
上記のGithubへの初回アップロードですが、私の場合、よくerror: failed to push some refs to〜
のような事象に見舞われる事があり、そのときは以下サイトに助けて頂きましたのでご参考まで。。
【git】git pushがrejectされたときの対応方法
さいごに:標準ライブラリのアップデートについて
以下の様に、Githubの標準ライブラリをクローンダウンロードしたKiCAD_git_repo
ディレクトリ配下のkicad-footprints
などの4ディレクトリに移動した上で、git pullを定期的に行うことで、ライブラリ最新化が図れます。
参考文献・リンク
Author And Source
この問題について(KiCADのライブラリ管理/バージョン管理を可能な限りGithubと連携する), 我々は、より多くの情報をここで見つけました https://qiita.com/planetmbit/items/b8a994acb177772810f9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .