ID: PASSWORD:
夜な夜な暇なお兄ちゃんってゆーなー(←ネタ古い)

新続新たぶん駄文-2

[日記鯖][片桐速波][七瀬速波][茜速波][Ch.9][ぽぽぽ][湘南日記放送局][みさき][しのぶ][メイド部][ヒナノイ]

日記鯖システム管理者からのお知らせ

  • HTTPSに対応し、http://ds.sen-nin-do.nethttps://ds.sen-nin-do.net のどちらでも日記鯖にアクセスできるようになりました。 なお、当面はHTTPとHTTPSのどちらも利用可能としますが、将来的には http://ds.sen-nin-do.net へのアクセスは https://ds.sen-nin-do.net へ転送する予定です。
  • 都合により日記鯖のURLが http://ds.wa-mo.to/ から http://ds.sen-nin-do.net/ に変更となりました。 突然で申し訳ありませんが、よろしくお願いいたします。(2019/01/27)
  • 日記鯖の仕様変更、不具合対応等については、こちらの記事もご覧ください。

謎な数値:0 / 0
注目度(笑):0(今日) / 0(昨日)
伝説度(爆):%

お知らせ(2008/05/11)

[駄目屋仙人堂] [はうンしすてムズ]
[C] 「コーヒーハウス あん」「じゅらく」「太閤湯」(箱根・宮ノ下)、「姫之湯」(箱根・大平台)で写真展示してるかも。 関係者が飽きるまで(汗笑)。
[C] 2007/05/04(祝)の東京のりもの学会(第10回・2007年会)に駄目屋仙人堂として参加しました(スペース・七5a)。 御来場くださった皆様、ありがとうございました。 さて今後の活動の場をどうしましょうかねぇ…。
[C] RSSはこちら。どもでし>しゃ
[C] JR線乗りつぶし状況(閲覧には乗りつぶしオンラインのアカウントが必要ぽ)

2014/12/12(金) RasPi用3.2インチQVGAタッチパネルディスプレイが届いた


[E] 配送経路上で何らかの手違いがあったようで、 受け取り場所に指定したコンビニには一昨日朝の時点で届いていながら こちらに通知が来ず、ヤマトの諸君に問い合わせて ようやくさっき物件を受領できた…。ううむ。

[C] まーとにかく、そんなワケで、RasPi用を謳っている 3.2インチLCDディスプレイ(タッチパネルつき)を開封。

[D] …予想通り、見事に取説、データシートの類は無し。 別の業者から調達すれば 何らかの資料が付属してたりするんかもだけど、まあいい。 とにかく、この時点でハードルは高いですな。 尼レビューとか見てても、このテの商品はこれに限らず、 「資料が全然無いから届いたけど動作確認もできねえよ!」 ってな怒りの声が多いけど、そんなことでお怒りになってしまうレベルでは 手を出してはいけません。

[D] とはいえ資料が無いことにはわしも手が出せんので、 まずは調査。 …尼の商品情報をよく見ると、DropBox経由で資料が調達できるっぽいリンクがあったけど、 現物の基板に「WaveShare」ってシルク印刷されとるのに気がついたので、 これをキーワードにぐぐって、調査自体も楽しむことにw。

[D] なるほろどうやら、こいつの正体はこの WaveShare 3.2inch RPi LCD (B) ってやつか。 リンク先にピンアサイン等、仕様情報あり。 予想してはいたけど、バックライトは常時点灯であってGPIOから制御できたりはしないっぽいな。

[D] で、現状のRaspbianではドライバが付属していないので、 何らかのドライバを調達する必要あり。 fbtftちうフレームバッファドライバ(これはAdafruit系LCDとかいろいろ対応しているらすい)を組み込んで、 設定を頑張ればまず出力系は何とかなるっぽい。 (結果的には設定で頑張る必要はそれほどなかったw)

[D] そしてfbtftドライバについてあれこれ調べていたら、 ちょうど数日前からドライバがこのデバイスにも対応していて、 カスタム設定をゴリゴリする必要はなくなっていたこととか、 fbtft導入キットに付属するドライバでタッチパネルも使用できるらすいこととか判明。

[C] っつーワケで、ドライバと対応カーネルを突っ込んで、試行錯誤しつつ設定&再起動して、LCDは/dev/fb1として、タッチパネルは/dev/input/mouse1として 認識されるようになったことを確認。 fbiでの静止画表示にも成功。 結局のところ、ドライバ導入と設定の方法は以下の通りであった。 (この手順の場合はカーネルも更新される。 ドライバのみの導入も可能だがカーネルとの不整合を起こすおそれに注意。 詳細はfbtft公式wiki参照のこと)
  1. /usr/share/X11/xorg.conf.d/99-fbturbo.confを他のディレクトリに退避させ無効化するか、 当該ファイル内のfb0fb1に変更する。 (Xを使わないなら放置でもいい)
  2. /etc/modprobe.d/raspi-blacklist.confのblacklist spi-bcm2708行を コメントアウトするなり削除するなりで無効化する。(SPIドライバの無効化を無効化することでSPIドライバを有効にする)
  3. sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-updateでドライバ導入&カーネル更新。
  4. /etc/modulesにfbtft_device name=waveshare32b rotate=90行を追加する。 rotateオプションはお好みで(値は0,90,180,270が使用可能らすい)。
  5. さらにads7846_device model=7846 cs=1 gpio_pendown=17 speed=1000000 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900行も /etc/modulesに追加する。こっちはタッチパネルドライバ。後半部の設定値をあれこれ弄ることでキャリブレーションになるんかな。今んとこはこのままにしてる。
  6. 再起動後にはfb1やmouse1が有効になる…はず。
なお試していないのでXやコンソールをこのデバイスで使う手順は略。ぐぐれば情報はある(基本的にはfb1として認識される他のデバイスと同じでいいはず)。
※追記:fbtft側のrotate設定に合わせて、ads7846側のswap_xyも適宜設定(値は0または1)すること。またタッチパネルから取得できる座標はどう設定しても画面側の座標系と反対向きになってしまう場合があり、これについてはアプリ側での対応が必要となる。根本的な解決をするには現状ではタッチパネルドライバのads7846.cを修正するしかなさげ。

[D] 後日、Perl用SDLモジュール(sudo apt-get install libsdl-perlで入れられる)を使ってLCDに表示を行ったり ($ENV{SDL_VIDEODRIVER} = 'fbcon'; $ENV{SDL_FBDEV} = '/dev/fb1'; すればSDLからfb1を扱うことができる)、 タッチパネルからの入力を受け取ったりできる (普通にSDL_MOUSE系イベントが発行されるが、前述のとおり座標系に注意。無改造のads7846ドライバとの組み合わせでは、SDL内蔵のマウスカーソル表示機能は使い物にならないため、show_cursor(SDL_DISABLE)し、必要があればさらにマウスカーソル表示を自前で実装することになる)ことも確認できた。 まあ、ちょっと高度なアプリケーションを組もうとすると、 むしろSDLモジュールの癖が強いってのにやられるワケですがががw。 特にSDLモジュールがithreads safeでないのか、 ithreadsは使い物にならない(子スレッドのjoinやdetachをすると暗黙的にSDL_quit()されてしまうっぽい)。 といいつつ、ithreads自体オーバーヘッドがかなり大きかったりもして(噂に聞いてはいたが今回使ってみてよくわかったw)、 Perlで並行処理をするならithreadsよりSysV共有メモリとforkを使った方がどのみち応答はずっとマシである。

[D] ちなみにこのfbtftキットに付属するrpi-power-switchドライバも組み込むと、 お手軽にGPIO経由でシャットダウンやリブートを発動させることができる。 例えば、/etc/modulesに rpi_power_switch gpio_pin=18 mode=0行を追加すれば ディスプレイ横のK1スイッチでシャットダウンができる。mode値を1にすればリブート動作となる。 gpio_pinの値を23にすればK2、24にすればK3に対応する。 なお複数のポートをアサインすることはできないっぽい。

[D] 残念なのは、今まで使っていたケースが閉められなくなったことだなw。 まあ将来的には別の筐体に組み込む予定でいるから別にいいけど。

たぶだぶ名場面集(笑)





あわせて読みたい









備忘録

[A]98/09/25 ジェ箱(謎汗)
[C]98/10/30 TOMIX 489系(白山)
[A]98/11/7〜8 壊れるのは一瞬だった(謎)
[A]98/11/12 謎
[C]98/11/15 浜松基地視察
[A]98/11/23 爆弾処理(笑)
[C]98/12/26 速波忘年会
[C]98/12/30 CM55/
[C]98/12/31 ZEUS絲丈浦
[C]99/01/02 ツレ実家
[C]99/01/03 実在義妹他迎撃
[C]99/01/23 ツレ実家イベント
[D]99/01/26〜01/29 SCIS'99
[D]99/02/20 家イベント
[A]99/02/21 房総方面視察
[C]99/03/18 電車でGO!2(PS)
[B]99/05/04 めいくおーる@京都 …轟天號メンバ(わし除き定員3〜4):タマ(往復)、は(復)、X(詳細未定)
[C]99/05/23 静浜基地視察
[C]99/06/12 ネタ輸出会
[C]99/07/10 墓地視察
[C]99/07/17 バレエ鑑賞
[C]99/07/24 おかん埋葬
[E]99/07/25 松島基地視察
[C]99/08/29 ツレ家
[C]99/09/12 華麗
[C]2000/01/02,03 ツレ実家イベント
[C]2000/01/07〜10 はうンスキー2000
[C]2000/01/15 江口イベント
[A]2000/05/03 帝國メイド倶楽部@都産貿
[D]2000/08/11〜13 CM58
[D]2000/08/12〜14 家イベント@西宮
[C]2000/08/15 三崎港花火大会
[C]2000/09/23 横浜室内アンサンブル
[C]2001/01/03 ツレ実家イベント
[C]2001/01/06 GS新年会

謎ゲージ(汗)

1998/11/08:
1997/11/29:ママレマ×マ
1997/09/04:フフ×フマサロ
1996/11/18:フ鐘
1998/07/10:××繭澪澪澪澪澪××七七七七×
2000/05/13:××
2001/05/29:未未