UbuntuにKiCad 4.0をインストール

KiCad 4.0はUbuntuの標準パッケージには含まれていないのでPPAからインストールする。

KiCadは、Ubuntu 14.04と15.04の標準パッケージに登録されています。ただしこのパッケージのKiCadは、まもなく公開される予定の版に比べてかなり古い版です。そのためまもなく公開されるというKiCad 4.0で使用できる便利な機能がいろいろ使えません1

これからKiCadをUbuntuで使用するのであれば、KiCad 4.0をPPAからインストールすることをオススメします。また今月末に公開予定のUbuntu 15.10では、KiCadが標準パッケージに含まれなくなったかもしれません2。これが間違いでないとすると、Ubuntu 15.10(wily)でKiCadを使うにはPPAからインストールするしか選択肢はありません。

まだリリース前で動作が不安定かもと思われがちですが、約一年開発版を使い続けてきた感じでは確かにちょっと不安定になったことも有りますが要所要所で保存操作を忘れなければ得られるメリットのほうが大きかったです。

KiCad 4.0のインストール

KiCad 4.0のインストールには、ソースからビルドする方法とPPAからパッケージをインストールする方法の二通りが有ります。ここでは最初にPPAを使ったインストール方法を説明します。普通はこの方法で十分ですが、オプション設定を変えたい場合に必要なソースからビルドする方法も説明します。

KiCad 4.0をPPAからインストール

KiCadのPPAパッケージには、PPA for KiCad daily buildsを使用します。

インストールする方法は次のとおりです。

# 4.0のリリース版をインストールするとき。
$ sudo add-apt-repository ppa:js-reynaud/kicad-4

or

# 開発版(daily build)をインストールするとき。
$ sudo add-apt-repository ppa:js-reynaud/ppa-kicad

# 以下は4.0でも開発版でも共通
$ sudo apt-get update
# メニュー等を日本度で表示するためには、kicadだけでなくkicad-locale-jaも必要。
$ sudo apt-get install kicad kicad-locale-ja

必要な環境変数も自動で設定されるはずですが、一応確認しておきます。

$ env | grep KIGITHUB
KIGITHUB=https://github.com/KiCad

KiCad 4.0をソースからインストール

KiCad 4.0をソースからインストールすることも簡単ですが、ソースファイルのダウンロードとコンパイルに非常に時間がかかります。そのことを覚悟してとりかかる必要が有ります。

ソースからインストールすると言ってもインストール用のスクリプトが用意されているので、それを実行するだけです。

  1. インストールスクリプトをダウンロードする。
  2. (オプション)インストールスクリプトのオプション設定を変更する。
  3. インストールスクリプトを実行する3。このスクリプトを実行するだけで、ソースファイルのダウンロードからコンパイルとインストールまで自動的に実行されます。
    $ sh kicad-install.sh --install-or-update
    

    途中必要なパッケージやKiCadの各プログラムをインストールするために管理者権限が必要になるので、sudoによるパスワードの入力が求められます。

参照

  1. KiCad 4.0で加わった便利な機能を使うにはOpenGLが必須ですが、cairo表示を使うことで少しもっさりとはしますが同じ機能を使用することができます。

  2. Ubuntuパッケージの検索検索結果にUbuntu 15.10(wily)向けのkicadパッケージが見つかりません。kicad を名前に含むパッケージ

  3. バージョン管理システムからソースを持ってくるので、ソースを全く持っていない最初は特にソースのダウンロードに時間がかかります。

org.kde.klauncher5 was not provided

Ubuntu 15.10にアップグレードしたら`kdenlive`でクリップを追加しようとすると「The name org.kde.klauncher5 was not provided by any .service files」というメッセージが表示されてファイルを選択できなくなった。解決にはkinitパッケージをインストールする。

(2015-10-15)この問題は、kdenliveが依存しているkioの問題であった。bug reportを送った直後に同じ内容のbug reportが提出され問題は修正された7

いくつかの動画の編集ソフトを試したところ、私にはkdenliveがしっくりきました。kdenliveは名前からわかるようにデスクトップ環境KDE1のアプリケーションです。Ubuntuは別のデスクトップ環境であるGNOME2が標準ですが、KDEアプリケーションも問題なく使用できます。3

最新のUbuntuはUbuntu 15.04(vivid)ですが、まもなくUbuntu 15.10(wily)が公開される予定4です。そこで一足早く15.10を試してみようとUbuntu 15.04からUbuntu 15.10 betaにアップグレードしたらkdenliveにエラーが発生するようになってしまいました。

Ubuntu 15.10でkdenliveに問題発生

編集したい動画ファイルは「Project」メニューの「Add clip」を選択して、表示されるダイアログでファイルを選択します。しかしUbuntu 15.10にアップグレードしたら次のエラーが表示されて動画ファイルを追加できなくなってしまいました。5

プロセス klauncher と通信できません: The name org.kde.klauncher5 was not provided by any .service files を開始できませんでした。

kdenlive-error

kinitパッケージが必要

誰か同じ問題にぶつかって解決策がないかとエラーメッセージ「org.kde.klauncher5 was not provided by any .service files」をキーワードとしてググったところ、Ubuntuのバージョンは違うもののぴったりなページ6が見つかりました。

このMenachemさんによるとklauncherはkinitパッケージに含まれており、このパッケージをインストールすれば解決するとこのことでした。

そこで次のようにkinitパッケージをインストールしました。

$ sudo apt-get install kinit

するとクリップの追加で表示されていたエラーメッセージがなくなり、動画ファイルを選択できるようになりました。

またkinitの他にkioパッケージが必要だった6とのことですが、dpkg -l|grep kioしてみたところ、kdenliveをインストールした時にkioパッケージがインストールされていました。

参照

  1. KDE –Wikipedia

  2. GNOME – Wikipedia

  3. KDEとGNOMEのアプリケーションは共存して使用することができます。ただし同じデスクトップ環境間では可能なファイルのドラッグ・アンド・ドロップによる受け渡しなど連携はできないかもしれません。

  4. Ubuntu 15.10(wily)は、2015年10月22日公開の予定です。Wily Werewolf Release Schedule

  5. kdenliveで動画ファイルを追加できなくなったのはUbuntu 15.10のベータ版での話です。バグレポートも送っているので、この問題は公開までには修正されていると思います。

  6. Problem with KDE programs after upgrading to 15.04 – ask ubuntu

  7. 後から提出されたbug reportはすぐに修正されて、私のbug repotが放置ってなんだか悔しい。分かりやすく書いたつもりだけど、レポートのフォーマットに則している方が強いな。

便利な抵抗入りLED

黙ってつなげばピカリと光る抵抗入りLEDはとっても便利。特に試作では。

LEDと抵抗は常にペア

LEDを使用する時には、必ずLEDに流れる電流を制限する必要があります。流れる電流を制限するためには定電流ダイオードが使われることもありますが、一般的には抵抗が使われます。

この抵抗値を大きくすると流れる電流が少なくなりLEDが暗くなり、反対に小さくすると電流が多くなり明るくなります。

抵抗値を決める基準は?

では、その明るさすなわち抵抗の値は何を基準に決めていますか? 流せる最大の電流値はデータシートを見れば分かるのですが、状態を示すステータス表示には明るすぎます。

私はLEDの用途がステータス表示ばかりなのでそれほど明るい必要がなく、ONとOFFを区別できればOKです。明るさが数倍違っても構いません。そこでデータシートを見て最大定格電流の1/4から半分位を「何となく」流すようにしています。たいていここから抵抗値を増やしてさらに電流を制限することがほとんどでした。

抵抗入りLEDは便利

こんな私の使い方には秋月電子で見つけた抵抗入りLED1はピッタリの部品です。設計する度にデータシートを確認して抵抗値を計算する手間を省けます。特にブレッドボードで試作する時には抵抗が不要なので配線の手間も省けて助かります。

またLEDの樹脂が曇っているので、斜めや横から見ても点灯しているかいないかが一目瞭然なのも気に入りました。

LED-with-R

ただ最近は3.3Vを使うことも多くなったのですが抵抗入りLEDには3.3V用がありません。しかし5V用を3.3Vの回路に使っても問題ありません。データシートによると電流値が半分近くになります2が、それほど明るさに違いが無いように感じます。

OSR6LU5B64A-5Vデータシートより引用
OSR6LU5B64A-5Vデータシートより引用2

電子工作の第一歩、LチカでLEDを使うときには電流制限の抵抗が必要ということを覚えたら、もう後は抵抗入りLEDの一択で良いのではないかな。

参照

Webブラウザのタブにオリジナルアイコンを表示

アイコン画像(16px X 16pxと32px X 32px)を用意して、GIMPまたはnetpbmを使用してfavicon.icoを作成する。作成したファイルをWebページのトップディレクトリーに保存する。

WebページをChromeなどで表示すると、タブやアドレスバーにサイト独自のアイコン(favicon)が表示されます。このサイトでも使用しているWordpressは、インストールしただけではfaviconが表示されません。そこでWordpressを使用したサイトでfaviconを表示するようにしてしてみました。

faviconとは

faviconを簡単に説明する1と、もともとは名前から想像できるようにMicrosoft Internel Explorer(IE)の「お気に入り」に登録された時に表示されるデコレーションアイコンでした。それが時代を経て現在のブラウザーでは、サイトを識別しやすいようにタブやアドレスバーにも表示されるようになりました。

favcionはIEの独自機能であったためにfaviconは標準化されていませんが、全てのブラウザーがWindowsのアイコンファイル形式(*.ico)をサポートしています。現在はWindowsアイコンファイルの他に、多くのブラウザーでGIPとPNG形式も使用できます2

しかしあえてGIFやPNGを選択する必要もないので、ここでは全てのブラウザーで表示できるWindowsアイコンファイルのfavicon.icoを作成します。

Linux環境でfaviconを作成

faviconを作成するWebサービスも有りますが、Linux(Ubuntu)環境で使用できるGIMPとnetpbmを使ってfaviconの作成方法を作成しました。

アイコン画像の準備

まずアイコンに使用する16×16ピクセルと32×32ピクセルのアイコン画像を用意します。アイコンの元となる画像がある場合は、GIMPやimagemagickパッケージのconvertなどで縮小します。

機械的に縮小したファイルをそのまま使うのでなく、すこし修正したほうが選り見やすいアイコンになります。絵心の必要な作業なので、機械的に縮小したものを使って不満があったら修正する程度で良いかと思います。

GIMPを利用してfaviconを作成

まずGIMPをインストールし、GIMPを起動します。

$ sudo apt-get install gimp
$ gimp &

GIMPを起動させたら、次のようにしてfavicon.icoを作成します。

  1. 「File」メニューの「Open…」を選択して、縮小した画像ファイルを開きます。GIMP-open
  2. 「File」メニューの「Open as Layers…」を選択して、残りの縮小した画像ファイルを開きます。GIMP-open-layers
  3. 「File」メニューの「Export AS …」を選択して、Export Imageダイアログを開きます。
  4. 表示されたダイアログの下の方に「Select File Type」があるので、「By Extension」または「Microsoft Windows icon」になっていることを確認します。GIMP-export
  5. Nameをfavicon.icoとして、「Export」ボタンをクリックしてアイコンファイルを保存します。

コマンドラインからfaviconを作成

コマンドラインからfaviconを作成するには、netpbmパッケージに含まれるコマンドを使用します。

$ sudo apt-get install netpbm

$ ppmtowinicon -o favicon.ico <(pngtopnm icon16.png|pnmquant 256) <(pngtopnm icon32.png|pnmquant 256)

# bashは、標準出力を普通のリダイレクトではなくファイルに見せかけてコマンドの引数に使えて便利。
# シェルがbashでない場合は、pnm形式の中間ファイルを作成する。

$ pngtopnm icon16.png|pnmquant 256 > icon16.pnm
$ pngtopnm icon32.png|pnmquant 256 > icon32.pnm
$ ppmtowinicon -o favicon.ico icon16.pnm icon32.pnm

pnmquantを通しているのは、Windowsのアイコンに使用できる色数が最大256色なので、色数を256以下に制限するためです。

Ubuntu 15.10 (Wily)でインストールされるnetpbmパッケージのバージョンは10.0ですが、今後netpbmが10.44より新しいバージョンに置き換えられた場合は、pngtopnmppmtowiniconが廃止になるのでpngtopampamtowiniconを使用します。

faviconを設置

作成したfavicon.icoは、http://site/favicon.icoでアクセスできるようにWebページのトップディレクトリーに置きます3

faviconを設置したWebページを開いて正しく表示されることを確認します。表示されない時は、サーバのアスセスログを確認してfavicon.icoにアクセスしているか・エラーが無く取得されているか確認します。

参照

  1. Favicon – Wikipedia

  2. GIFとPNG形式のアイコンファイルを使用するには、全てのページのHTMLファイルに次のリンクタグを入れてアイコンファイルを指定します。

    <link rel="shortcut icon" href="http://example.com/icons/favicon.png" />
    <link rel="icon" href="http://example.com/icons/favicon.png" />
    
  3. WordPressでは、テーマのヘッダーファイルに次のリンクタグを挿入して全てのページでfaviconを表示させることも可能です。

    <link rel="shortcut icon" href="http://example.com/icons/favicon.ico" type="image/vnd.microsoft.icon" />
    <link rel="icon" href="http://example.com/icons/favicon.ico" type="image/vnd.microsoft.icon" />
    

発売から40年経っても手に入るCPU Z80

ZilogのZ80は1970年代中頃に発売されたCPUですが、約40年経った現在でもほぼ当時の形で手に入ります。偶然見つけて記念にと購入しましたが、せっかくなのでCP/Mマシンを作ることにしました。

夏の暑さ真っ盛りの8月初めに大阪・日本橋(でんでんタウン)にあるシリコンハウスへ買い物に行ったら、Z80互換で在庫限りというポップを付けた東芝製TMPZ84C00というDIP-40の大きなICが売られていました。見つけた時は、Z80互換と言っても型番が非常に似ているので秋月電子で販売しているZ80ボードのCPUみたいなPIOやタイマーが内蔵されたものだろうと思いました。

しかしスマホでデータシートを探してみると、TMPZ84C00はPIOのたぐいは一切ない教科書にあるような完全にCPUの部分のみでした。さらにピン配列までZ80と同じです。

TMPZ84C00それでなんだか懐かしくなり、「在庫限り」にもつられて安かったので記念に2つ買って帰りました。

Z80とは

一応Z80が何か説明すると、Z80は8bit CPUのIntel 8080を改良したZilogの8bit CPUです。ピン配列にi8080との互換性はありませんでしたが、マシン語レベルではi8080の上位互換で、Z80にはいくつかの便利な命令が追加されていました。またDRAMの使用を前提としたリフレッシュ機能が組み込まれていために、(当時の感覚で)大容量のRAMを搭載しやすくなっていました。

その後Intelもi8080を改良したi8085を出しましたが、1970年代後半から16bitパソコンのIBM PCやNECのPC-98シリーズが普及する80年代中頃までパソコンのCPUといえばZ80でした。

21世紀のZ80

TMPZ84C00の資料をググると、東芝製TMPZ84C00のセカンドソース1であるZilog Z84C00は現在でも普通に販売されていました2。購入したTMPZ84C00のクロック入力は最大6MHzでしたが、Z84C00には最大20MHzのより高速なクロックに対応する製品もあることを見つけました。

Z84C00

また1980年代中頃に日立がZ80アーキテクチャを拡張して乗算命令などの追加とMMUやUARTなどを内蔵したCPU HD64180を開発しました3。これも製造されていませんが、ほぼ同じ4ものをZilogがZ180シリーズとして現在も製造しています。

このZ180シリーズには何種類か有りますが、最新のものはZ8S180と低電圧対応のZ8L180です。昨年Legacy8080というコンピュータが発売されましたが、そのLegacy8080に使われているCPUがZ8S180です。

Z8S180

発売から40年も経とうというのに未だに販売されているZ80は、もう生きた化石と言っても良いかもしれません。

CP/Mマシンを作ろう

記念にと購入したTMPZ84C00ですが、ただ見ているのではもったいないので、1980年代前半の気分5CP/Mマシンを作ることにしました。さらに可能ならば、最近公開されたFUZIXを移植できたら面白いかな。

CP/Mマシン製作にあたって一番の問題点は、CP/M自体を手に入れられるかです。昔買ったディスクは捨ててしまったし、新規にCP/Mを購入することもできなさそうです。しかし調べてみると現在では逆アセンブルしたCP/MのソースコードがThe Unofficial CP/M Web site公開されています6

参照

  1. Z80はZilogがオリジナルなのに、現在はZ80のセカンドソーサーになっているというのはなんとも皮肉。さらにセカンドソーサーと言っても、オリジナルの方は既に製造中止とは。

  2. 国内でZ84C00を扱っているところは見つかりませんでしたが、米国の部品通販会社Mouserから購入可能です。

  3. 現在データシートはPDFファイルでダウンロードするのが当たり前ですが、30年位前はもちろん紙に印刷されてものでした。それを商売にならない学生にそれも無料で送ってくれたのは、バブルな世代だったからでしょうか。まだ当時の資料を持っていますが、その1つがHD64180のマニュアルです。HD64180-manual

  4. Z180はHD68180のセカンドソースみたいなものですが、内蔵IOのアドレスがオリジナルのHD68180とは異なっています。そのことを見落としていて、後にハマることとなる。

  5. もっとも自分が制作したのは1990年代中頃で、既にi486でFreeBSDを普通に使える時代でした。Linuxも割と普及しだした頃かな。

  6. 非公式と言いながらLineoというCP/Mの所有者から配布が許可されている不思議なサイト。Thank you, Tim Olmstead. Tim Olmstead Memorial Page