DMC製TSC-44をお借りし、動作させてみましたので、その時の作業を紹介します。
1. 環境
- 製品: Armadillo-840 液晶開発セット
- Linuxカーネル: v3.4-at18
- ユーザーランド: v1.41.0
- タッチパネル: AST-070A080A
- タッチパネルコントローラ: TSC-44/RSA-E
- コントローラケーブル(TSC-44とのRS232C接続): TSC-10/RS-SC1
2. 接続手順
- Armadillo-840 拡張ボードのCON13の23, 24ピンをUARTとして使用するよう変更
- 上記UARTのピンからRS232Cレベル変換アダプタ(型番: OP-SCLVL-10)を接続してRS232Cに変換
- RS232Cレベル変換アダプタを改造して、D-Sub9ピンの7, 8ピン(CTS/RTS)から5V電源を供給できるよう改造
- 5V電源はArmadillo-840 拡張ボードのCON13の1ピンを使用
- TSC-10/RS-SC1でTSC-44と接続
3. カーネルコンフィギュレーションの変更
まずは、以下のカーネルコンフィギュレーションを変更し TSC-44のドライバーを有効化してください。
Device Drivers ---> Input device support ---> [*] Touchscreens ---> <*> TSC-10/25/40 serial touchscreen support ← 有効化
4. Armadillo-840のtslib対応
Armadillo-840は標準でtslibを使用できるようセットアップされておりませんので、 以下のURLの手順を実行し、tslibに対応してください。
Armadillo-840でtslibを使う方法 https://users.atmark-techno.com/blog/750/737
またTSC-44のドライバーは標準でtslibに対応しておりませんので、 linux-tsc40-tslib.patchをダウンロードし、Linuxカーネルに適用してください。
5. inputattachのインストール
TSC-44ドライバーを使用して、inputデバイスとして使用するには、 inputattachコマンドを使用します。
以下のURLのDebian packagesからinputattachパッケージをダウンロードし、 inputattachファイルのみ、ユーザーランドに追加してください。
http://ftp.jp.debian.org/debian/pool/main/j/joystick/inputattach_1.4.3-1_armhf.deb
6. TSC-44の有効化
前述の手順をすべて完了した、Linuxカーネルと、ユーザーランドを Armadillo-840に書込み、起動してください。
以下のコマンドを実行します。
[armadillo ~]# inputattach --always --daemon --baud 9600 --tsc /dev/ttySC1
※: ttySC1は、環境によって読み替えてください
7. キャリブレーションの実行
以下のコマンドを実行してください。Aramdillo-840液晶開発セットに 付属するLCDに、キャリブレーション画面が表示されます。
[armadillo ~]# export TSLIB_TSDEVICE=/dev/input/event2 [armadillo ~]# export TSLIB_PLUGINDIR=/usr/lib/ts0 [armadillo ~]# export TSLIB_CALIBFILE=/etc/config/pointercal [armadillo ~]# export TSLIB_FBDEVICE=/dev/fb1 [armadillo ~]# ts_calibrate
今回はタッチパネルのみ接続しているため、 大体の位置をタッチしてキャリブレーションを完了させてください。
8. 動作確認
以下のコマンドを実行し、タッチパネルで 動作が変更されるか確認してください。
[armadillo ~]# export QT_QPA_EGLFS_DISPLAY=1 [armadillo ~]# export QT_QPA_EGLFS_WIDTH=800 [armadillo ~]# export QT_QPA_EGLFS_HEIGHT=480 [armadillo ~]# qmlscene /usr/share/qt5/photoviewer/photoviewer.qml -plugin tslib:/dev/input/event2