いろいろ技術的メモ

仕事に差し障りない範囲で、関連ネタなど…

raspberry pi + pitft (kernel rebuild)

PiTFTは Adafruitから出ている、model B用の TFTデバイス。ili9340と表示されるチップセットを使っている版を入手したので、これに関して。他でも応用が利くかも?

 

公式は以下。

Overview | Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi | Adafruit Learning System

 

このデバイス、公式で debファイルやらkernelやらを公開してくれていて、言われるままに使うなら、ちょっとした電子工作とコマンド叩くだけで、とても簡単に実装できる。

が、kernel-rebuildが必要な状況になると、なかなか面倒だったりする。fbtftのドライバ引っ張ってきてチップセット指定しても、なぜだか綺麗に動かなかったり。こうなるとハード寄りに余り詳しくない身には辛い。

 

たぶん、一番纏まってる fbTFTデバイスのドライバgit。でも上手くいかなかったよ…。


notro/fbtft · GitHub

 

 

でも探すと、pitftに対応した専用verが gitに落ちていたりするので、それをメモしておく。

 


xobs/adafruit-rpi-fbtft · GitHub

 

よく見ると、notroのreadmeがそのまま載ってるのよね。いいの?これ。いや、とても助かるんだけど。w

取り込みやrebuildの設定周りは、notroのドライバと同じ方法でOK。設定はAdafruit公式に沿ってやればOK。ソース読むと設定があるが、adafruitts、指定で稼働する。

 

menuconfigの指定は、

Device Drivers
 GPIO Supportにチェック付いているのを見ながら…その下の方
 Graphics support
  endの直前に追加していれば、一番下に、
  Support for small TFT LCD display modules
   devideドライバはchipの型番指定なので
   ILI9340

こんな感じ。

 

ちなみに、組み込んで再構築するだけなら、kernel組み込みではなく、module指定にすること。

 

たぶん詳しい人なら一目瞭然なのだろうけど、

$ sudo vi /etc/modules
snd-bcm2835                       <<既存項目のはず
spi-bcm2708
fbtft_device

 spiデバイスのドライバをloadしないと、そこに繋がっている pitftは当然見えない。組み込み指定にすると、どうも起動時にはうまく稼働しなくて、色々チェックした結果、このドライバLoadの関係かなーと、なんとなく解った。

 

このgit間の違いをチェックすれば、notro版の fbtftには何が足りないのか解りそうだけど、それは面倒なので放置しておく。w