Githubに公開されているKiCadのフットプリントを使用する方法

フットプリントライブラリにGithubレポジトリURLを指定することで、公開フットプリントライブラリをKiCadから直接使用できる。

KiCad 4.0のフットプリントはパッケージに含めて配布するのでなく、Githubで公開されているライブラリをアクセスするようになりました。その結果パッケージのアップデートに関係なく常に最新のライブラリを使用できます1

またGithubを直接アクセスできるようになったので、公開されている自作ライブラリーもダウンロードすること無く直接使用できるようになりました。これでライブラリーを管理する手間が大幅に削減できます。

ここではGithubで公開されている自作フットプリントライブラリをKiCadで使用する方法を説明します。

公開フットプリントライブラリのURLを設定

公開フットプリントライブラリを使用するには、その場所をKiCadに教える必要があります。そのための設定方法は次のようになります。

  1. フットプリントエディタを起動する。
  2. 設定メニューの「フットプリントライブラリの管理」を選択して「PCBライブラリ一覧」ダイアログを開く。
  3. 使用したい公開フットプリントライブラリをこのプロジェクトだけで使いたいのか、他のプロジェクトでも使用したいかに応じて「プロジェクト固有のライブラリ」と「グローバルライブラリ」のタブを選択する。
  4. 「ライブラリの追加」ボタンをクリックする2
  5. 追加された欄に次の表のように指定する。
  6. 「OK」ボタンをクリックして「PCBライブラリ一覧」ダイアログを閉じる。
別名(ニックネーム) ライブラリのパス プラグインの種類 オプション 説明
識別できる好きな名前。ここの設定内容は、ライブラリーを選択するときに使用されます3 公開フットプリントライブラリのレポジトリのURL4。環境変数を参照することも可能です。 Github 空欄または別名と同様に簡単な説明。

github-lib-setup

フットプリントエディタで設定方法を説明しましたが、基板エディタ(Pcbnew)やコンポーネントとフットプリントを結びつけるCvpcbからもこれと同様に設定できます。

公開フットプリントライブラリを使用できるか確認

設定した公開フットプリントライブラリを認識できているかフットプリントビューアで確認してみます。

  1. 基板エディタ(Pcbnew)やフットプリントエディタのアイコンメニューからICに虫眼鏡の「フットプリントビューアを開く」をクリックする。footprint-viewer-icon
  2. 一番左のカラムから追加した公開フットプリントライブラリを選択する。
  3. 右隣のカラムに登録されているフットプリントの一覧が表示されたらOKです。この時にGithubにアクセスするので表示されるまで多少時間がかかることがあります。
  4. 登録されているフットプリントを選ぶと、その内容が表示されます。

footprint-viewer

Githubのフットプリントライブラリを修正可能に

KiCadはGithubレポジトリを操作できないので、Githubにあるフットプリントライブラリは読み込み専用となります。

しかし修正したフットプリントをローカルに保存するオプションを有効にすると、Githubのフットプリントを修正できるようになります。この時修正されたフットプリントはオプションで指定した手元のフォルダ(ディレクトリ)に保存され、Githubの内容より優先的に使用されます。

オプションで指定するフォルダは空でも問題ありませんが、Githubのレポジトリからクローンしてきたフォルダを指定すると、変更内容を簡単にGithubに反映できます。

たとえ自分がレポジトリに書き込み権限があっても同じです。その変わり変更内容をローカルに保存してGithubの内容より優先して使用させることができます。

Githubのフットプリントライブラリを修正可能にするには、オプションを次のように指定します。

  1. 上の「公開フットプリントライブラリをURLを設定」と同じく「PCBライブラリ一覧」ダイアログを開く。
  2. 「発見されたライブラリの一覧」から修正可能にしたいライブラリを選択する。
  3. 「オプション」ボタンをクリックする。
  4. 「追加するオプションの選択」から「allow_pretty_writing_to_this_dir」を選択して「選択したオプションの追加」ボタンをクリックする。
  5. プラグイン設定で「allow_pretty_writing_to_this_dir」の定数に修正したフットプリントを保存するフォルダ(ディレクトリ)を入力する。このフォルダの名前は、KiCadのルールに従い*.prettyにする必要があります。
  6. 「OK」をクリックして設定したオプションを保存する。

github-lib-option

参照

  1. デメリットとしては、Githubにアクセスするのでネット接続が必須になったことと、フットプリント一覧の取得に少し時間がかかることです。このデメリットを回避するためにフットプリントライブラリをダウンロードして使用することも可能です。

  2. 「ウイザードを使用して追加」でも良さそうですが、ユーザが公開しているレポジトリには使用できないようです。

  3. 表示される名前の順番はここでの位置ではなく、名前をASCIIコード順に並べたものになります。すなわち数字で始まるもの、アルファベットの大文字で始まるもの、小文字で始まるものという順番です。

  4. レポジトリの直下ではなくサブディレクトリにフットプリントが置かれていることがありますが、その場合もライブラリのパスにはレポジトリのURLを設定します。

KiCad 4.0でのBOMファイル作成方法

KiCad 4.0でBOMファイルを作成するには、XMLファイルを変換するプログラムのインストールと設定が必要です。設定が済んでしまえばBOMアイコンをクリックしてダイアログを開き、変換プログラムを選択して生成ボタンを押すだけです。

先日RCが公開されたKiCad 4.0は、これまでの安定版から色々な点で変更されています。ここで紹介するBOM(Bill of Materials、部品表)の作成方法もこれまでとは変わっています。

これまでの安定ではKiCad自身がBOMファイルを作成していましたが、4.0以降はKiCadが作成するXMLファイルを他のプログラムで変換してBOMを作成します。そのため柔軟性が増し、CSV形式の単純なファイルを作成するだけでなくDigi-Keyなどの通販サイトを参照して自動的にコストを計算する変換プログラムkicostなどが作成されています。

ここでは単純に部品をリストアップしたCSV形式のBOMファイルの作成方法について説明します。

CSV形式のBOMファイル作成

CSV形式のBOMファイルは、KiCadが作成するXMLファイルをユーザが指定したプログラムで変換して作成します。そのためBOMファイルを作成するにはXMLファイルを変換するプログラムを事前にインストールしておき、それをKiCadから呼び出せるようにする設定が必要です。

変換プログラム(プラグイン)のインストール

Windowsの場合は、XMLファイルをCSV形式のBOMファイルに変換するプログラム(bom2csv.xsl)と、このXSLプログラムを実行するエンジン(xsltproc)の両方共配布パッケージに含まれています。そのためインストール作業は特に必要ありません。

Windows版に含まれるxsltprocは、BOMファイルを作成しようとするとエラーになって作成できないことがあります。これに対するworkaroundを最後に書いておきます。現在はRC1の段階ですので、公開までには修正されると思います。

ただしUbuntuの場合はXSLプログラムのみが配布され、それを実行するエンジンはパッケージに含まれていません。そこでエンジン(xsltproc)を、次のコマンドでインストールします。

sudo apt-get install xsltproc

KiCad(Eeschema)の設定

必要なプログラムをインストールしたら、KiCadの回路設計プログラム(Eeschema)から呼び出せるように設定します。

設定の手順は、次のようになります。

  1. 回路設計プログラムのBOMアイコンをクリックしてBOMファイル作成ダイアログを表示させる。BOM_dialog
  2. 「プラグインの追加」をクリックして、XMLファイルを変換するプログラム(bom2csv.xsl)を選択する。このプログラムは、Windowsでは C:\Program Files\KiCad\lib\kicad\plugins に、Ubuntuでは /usr/lib/kicad/plugins にあります。Select_plugin
  3. プラグインを選択すると、プラグイン欄に表示す名前を聞かれるので、入力して「OK」をクリックする。プラグイン名は、後で修正することも可能です。

これで設定は終了です。

変換するコマンドは、コマンドライン欄に表示されています。必要であればこれを修正します。

xsltproc -o "%O.csv" "C:\Program Files\KiCad\lib\kicad\plugins\bom2csv.xsl" "%I"

ここで%Iは、BOMファイルの元となるKiCadが作成するXMLファイル名に置換されます。作成されるBOMは、-oで指定されたファイルに書き込まれます。%Oは、%Iから拡張子を除いた部分ですので、CSV形式のファイルだと分かるように拡張子を加えています。

”“(ダブルクォーテーション)はなくてもたいてい問題ありませんが、パスやファイル名に空白があった時でも正しく一つの引数と認識させるためにダブルクォーテーションで囲ってあります。

BOMファイルの作成

一度設定してしまえば、BOMファイルの作成は簡単です。

BOMファイルの作成に使う変換プログラムをプラグイン欄から選択して、「生成」ボタンをクリックするとBOMファイルが作成されます。%Oは、それぞれのプロジェクトフォルダのパスを含んでいるので、基本的にプロジェクトフォルダにBOMファイルが作成されます。

Windows版RC1に付属のxsltprocが使えない問題のworkaround

現在配布されているKiCad 4.0のRC1に含まれるxsltprocは、BOMファイルを作成しようとすると次のエラーがプラグイン情報欄に表示されBOMファイルを作成できないことがあります。

コマンドラインで実行:
xsltproc -o "C:/Program Files/KiCad/share/kicad/demos/pic_programmer/pic_programmer" "C:/Program Files/KiCad/lib/kicad/plugins/bom2csv.xsl" "C:/Program Files/KiCad/share/kicad/demos/pic_programmer/pic_programmer.xml"

コマンドエラー. リターンコード 11

エラーメッセージ:
I/O error : Invalid argument
I/O error : Invalid argument

回避策

この問題の回避策には、次の3つの方法があります。

  1. プロジェクトのパスと名前を変更する12
  2. xsltprocと異なる変換エンジンを使用する3
  3. xsltprocを置き換える4

プロジェクトのパスと名前を変更する

Windows版に付属のxsltprocがエラーになるのは、プロジェクトのパスと名前に空白が含まれる場合です。空白が含まれても良いようにダブルクオーテーションで%Oと%Iを囲っているのですが、上手く機能しないようです。

そこでプロジェクトのパスに空白が含まれる場合は、プロジェクトフォルダーをパスに空白が含まれない場所に移動させます。プロジェクト名に空白が有る場合は、名前から空白を取り除きます。

xsltprocと異なる変換エンジンを使用する

ダブルクオーテーションで囲まれた空白入りのパスと名前を上手く扱えないのは、Windowsの問題ではなくアプリケーションに問題が有るようです。そこで上手く扱える別のXSL変換エンジンをxsltprocに変えて使用します。

変換エンジンにはいくつかありますが、インストールが簡単なSaxonHEを使用します。

  1. ネイティブ版SaxonHEをダウンロードする。ダウンロードページに紛らわしい広告が表示されるので注意。
  2. ダウンロードした自己解凍ファイルを実行してをSaxonHEをインストールする。
  3. コマンドライン欄のxsltprocを次のように修正する。

    “C:\Program Files\Saxonica\SaxonHE9.6N\bin\Transform.exe” -t “%I” -xsl:”C:\Program Files\KiCad\lib\kicad\plugins\bom2csv.xsl” -o:”%O.csv”

BOMファイルの作成方法は、xsltprocの時と同じです。

参照

Ubuntu on Native ZFSを15.04へアップグレードする時の注意点

このメモは、ZFS On Linux(ZOL)をUbuntuのRootファイルシステムとしている場合の話です。

Ubuntu 15.04(Vivid Vervet)が、予定どおり公開されました

早速Ubuntu 14.10から15.04にアップグレードと行きたいところですが、upstartがsystemdに変更によるものなどいくつかの注意点が有りました。

注意点は、次の3つです。

zfs.koの確認を忘れない

これは毎回リリース・アップグレードをする時の注意点です。

ZFS On Linuxは、外部パッケージとして提供されるカーネルモジュールです。そのためカーネルの版が変わる度に新しくモジュールを作ってインストールする必要が有ります。もっともDKMSが自動的にインストールしてくれるので普段のapt-get dist-upgradeでは気にする必要はありません。

今回の14.10から15.04へなどリリースアップグレード時には外部パッケージのソースが無効にされてしまいます。そのため新しいカーネルがインストールされても対応するZFSのカーネル・モジュールはインストールされないかもしれません。もし対応するカーネル・モジュールがインストールされなければ、再起動してカーネルが変わると起動できなくなってしまいます。

そこでリリース・アップグレードをしたら、再起動する前に必ず新しいカーネルに対応するZFSモジュールが有るか確認します

$ sudo zfs snap -r tank@20150424 # upgradeに失敗してもrollbackで元に戻せる。
$ sudo zfs clone tank/ROOT/ubuntu@20150424 tank/ROOT/utopic # optional
$ sudo backup-zfs.sh # バックアップを取る

$ sudo apt-get update && sudo apt-get install -y update-manager-core
$ do-release-upgrade

... アップグレード ...

アップグレードを完了するには再起動が必要です。 
'Y' を選択すると再起動します。 

続行する[yN] # Nを選択して再起動しない

$ find /lib/modules -name zfs.ko -print
/lib/modules/3.19.0-15-generic/updates/dkms/zfs.ko

今回は新しいカーネルに対応するモジュールが有るので、このまま再起動しても大丈夫かも。ただしutopicのソースから作成されたモジュールなのでアップグレードしておく。

$ sudo nano /etc/apt/sources.list.d/zfs-native-*.list
$ sudo apt-get update && sudo apt-get upgrade -y

$ sudo shutdown -r now

mountall問題

Ubuntu 15.04の大きな変更点は、upstartの代わりにsystemdが使われるようになったことです。

この影響でmountallがRoot以外のZFSをマウント出来なくなってしまいました。そのため/varなど細かいファイルシステムに分けていると正しく起動できません。起動までに必要なファイルが全てRootと同じファイルシステム内に有れば起動には問題有りません。

ただしユーザが作成したZFSは起動時にはマウントされていません。そこでmountallが修正されるまでのworkaroundは、起動した後にcrontabなどからzfs mountを呼び出してマウントしています。

@reboot /sbin/zfs mount -a -O

起動した後でzpool importした場合は、問題なくmountpoint設定に応じて自動的に指定場所にマウントされます。

zpool upgradeしないこと

これはUbuntu 15.04へのアップグレードとは直接関係なく、どのバージョンのUbuntuを使っていても注意する必要がある点です。

先日ZFS On Linux 0.6.4が公開されました。この版では、ZPOOLに新しい機能がいろいろ追加されました。

しかしUbuntuを起動させるGrubがまだ新しい機能を有効にしたZPOOLに対応していません。そのためzpool upgradeで新しい機能を有効にしてしまうとGrubがファイルシステムを見つけられなくなり、結果としてシステムを起動できなくなったしまいます。

GrubがZPOOLを認識しない
GrubがZPOOLを認識しない

また新規にRootファイルシステムとなるZPOOLを作成する時には、次のようにこれまでの機能のみを有効にして作成します。

zpool create -f -d -o feature@async_destroy=enabled -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled -o ashift=12 -o autoexpand=on -O atime=off pool_name devices

Bitscope Microを購入

ロジックアナライザー兼オシロスコープのBitscope Microを購入しました。日曜日の注文でしたが、注文完了から4日で到着しました。

電子工作をしているとやはりある程度の測定機器が欲しくなります。これまではデジタルな変化だけを見ていれば良かったの秋月電子で買ったパソコンにつないで使う16chのロジックアナライザーで十分でした。しかし周期的に変動するアナログ信号を取り込もうとするとオシロスコープが欲しくなります。

探した中で一番安かったのは、Amazonで見つけたヴァーチュアル オシロスコープ DDS-120(サインスマート)でした。値段は約8000円にもかかわらず本格的なプローブが付属しているのも魅力的です。一応ロジックアナライザー機能も付いているとのことです。カスタマーレビューでも値段を考えてある程度割り切ればまずまずと言ったところです。

ほぼこのヴァーチュアル オシロスコープ DDS-120に決めかけてカートにまで入れたのですが、もう少し探したところSWITCH SCIENCEさんのブログにBitscope Microの事が紹介されていました。Raspberry Piにピッタリ=Linuxでも使用できるということで俄然Bitscope Microに興味が湧いてきました。WindowsとMax OS Xにも対応です。

Bitscope Microとは

Bitscope社は、これまでUSB接続のBitscope Model 10という2chのアナログ入力と8chのデジタル入力を持ったロジックアナライザー兼オシロスコープなどを販売していました。この春に発売されたBitscope Micro(USB BITSCOPE 05)は、ケースを省略したりデジタル入力のチャンネルを6chに削減した廉価版です。

廉価版なのでアナログ入力のバンド幅が100MHzから20MHzに狭まっていますが、デジタル入力の解像度は40MSample/secで変わりありません。またアナログ入力はデジタル入力としても使用できるので、アナログ入力が不要であれば8chのデジタル入力としても使用できます。プロトコルアナライザーとして使用できるのはデジタル入力専用の6chのみですが、対応プロトコールの種類もSPI, CAN, I2C, UARTと変わりありません。

ケースが省略されていると基板がむき出しで感電する危険性があるので、基板全体が熱収縮チューブで保護されて触っても問題ないようになっています。USBケーブルを接続した状態でシュリンクされているのでケーブルを外すことはできません。これを外せるとよりコンパクトに保管できるのに。

Bitscope Microを注文

Bitscope Microの値段はUS$145+送料で、Amazonで見つけたオシロスコープに比べると倍近い値段です。でもLinuxで使えてプロトコルアナライザー付きのロジックアナライザーとしても使えると聞いたらこれを買わずにはいられません。

発送方法は、最短2日で届くExpressから平均5日かかるStandard(保険なし)までいくつか選択肢がありますが、今回はおススメだった3日で届くPriorityで発送してもらいました。

支払方法はクレジットカードの他にも選べるようですが、オンラインでは行えないようなので相手を信じてカード払いにしました。価格は日本円で表示させることもできますが表示だけで、カードへの請求はオーストラリアドルで行われます。そのため表示される日本円での額と実際の支払額が為替の変動により多少上下します。

ということで8月10日(日曜日)の深夜に注文したところ、翌11日の発送で14日に到着しました。請求額は、Priority送料を含めてAU$178(17140円)でした。

Bitscopeの内容物

Bitscope Microは、文庫本サイズの箱に入って届きました。内容物は次の通りです。

2014-08-22_1

  • Bitscope Micro本体
  • ICクリップ(グラバークリップ)付きリード線10本
  • 簡単な説明書
  • 端子の説明カード
  • 仕様書

ドライバーとオシロスコープやロジックアナライザーなどのソフトは、Bitscopeのサイトからダウンロードします。