TouchScreen Fix for CC9P9360, CC9C and CCWI9C

Digi Embedded Linux 4.0

 

 

 

Last Updated: 11/29/07         Fix Count: 1

 

 
Title
Digi Embedded Linux 4.0: Touch driver patch
 
Case:  internal
 
Date Fixed: 11/29/07
 
Description
Fixes a jumping or flickering touch pointer with:
+ Digi FS-3015 LCD Application Kit LQ57 (QVGA), and
+ Digi FS-3016 LCD Application Kit LQ64 (VGA)
or similar LCD’s using ADS7846 touch controller.

 

Solution

Changes Qtopia libQtGui and adds mousecalibration tool

 

 

Files:

DEL 4 touch-patch.tbz2

 

Special Instructions

 

* download the bzip2 compressed tar file from the link above.
* decompress the downloaded file into your installation:
  # cd /usr/local/DigiEL-4.0
  # tar -xjf DEL4-touch-patch.tbz2
  this will overwrite (or create):
   lib/libQtGui.so.4.2.2
   rootfs/rootfs_extras/qtopia/rootfs/usr/bin/qtopia/mousecalibration
   docs/Software/README.touch (this file)
   patches/touchdriver.patch
* apply the patch:
  # cd /usr/local/DigiEL-4.0
  # patch -p0 < patches/touchdriver.patch
  this will modify the files:
   kernel/linux/drivers/input/touchscreen/ads7846.c
   include/QtGui/qmouse_qws.h
   include/Qt/qmouse_qws.h
   rootfs/rootfs_extras/qtopia/install_pkg.sh
 
Running/Testing new driver:
* recompile your kernel and generate a new rootfs
* install new kernel and roofs on your Digi Module
* before running any Qtopia application run on the module:
  # export QWS_MOUSE_PROTO=linuxtp:/dev/ts0
* run mousecalibration tool to generate /etc/pointercal :
  # /usr/bin/qtopia/mousecalibration -qws
  (note: run export QWS_MOUSE_PROTO before (see above))
* run any Qtopia application, e.g.:
  # /usr/bin/qtopia/spreadsheet -qws
 
Fine tuning:
The following environment variables are considered by Qtopia lib
and each application you compiled against this lib:
* QWS_TP_JITTER  - value of maximum jitter allowed to not
  consider a pointer movement. default = 2
* QWS_TP_SKIP    - maximal number of samples to skip, before
  sending a new pointer position. default = 2
* QWS_TP_AVERAGE - minimum number of samples to calculate an
  average pointer position. defaut = 5
e.g. for LQ64 (VGA resolution) we recommend:
  # export QWS_TP_JITTER=4
  # export QWS_TP_SKIP=1000
  # export QWS_TP_AVERAGE=5
  # /usr/bin/qtopia/anyapp -qws
 

Dependencies

None