タッチパネル用のコントローラADS7846からはちゃんと座標が読み出せるようになったので、昨年タッチパネルジャケットを製作した際に書いたタスクをLPC2388用に修正して動くようにしてみました。
このタスクでは、ペンダウンをGPIO割り込みで検出し、ペンが離されるまでの間、連続してX座標とY座標をひろうというものです。ペンダウン、座標のレポート、そしてペンアップはイベントとしてTOPPERSのデータ・キューを使って通知することにしています。トラ技の8月号のタッチパネル特集でも言及されていましたが、コントローラから読みだしたデータをそのままイベントとして使うだけの単純な処理だと、タッチし続けているつもりでも意外と意図しないペンアップが発生してしまいます。昨年は、この問題を回避するために意識してペンを強めに押し続けて動画撮影をしていましたが、今年はソフト側で対策を施してみました。具体的にはUpに続いてDownが100ms以内に生じたならば、この両方のイベントを読み捨てるというものです。これ↓は、その動作の様子。
このタスクでは、ペンダウンをGPIO割り込みで検出し、ペンが離されるまでの間、連続してX座標とY座標をひろうというものです。ペンダウン、座標のレポート、そしてペンアップはイベントとしてTOPPERSのデータ・キューを使って通知することにしています。トラ技の8月号のタッチパネル特集でも言及されていましたが、コントローラから読みだしたデータをそのままイベントとして使うだけの単純な処理だと、タッチし続けているつもりでも意外と意図しないペンアップが発生してしまいます。昨年は、この問題を回避するために意識してペンを強めに押し続けて動画撮影をしていましたが、今年はソフト側で対策を施してみました。具体的にはUpに続いてDownが100ms以内に生じたならば、この両方のイベントを読み捨てるというものです。これ↓は、その動作の様子。
discardと表示されている箇所がUp/Downの読み捨てが発生している箇所です。軽く指先やツメ先でパネルをこすった程度だと、かなりの頻度で読み捨てが発生することが良くわかりました。