Touchy

From syn2cat - HackerSpace.lu
(Difference between revisions)
Jump to: navigation, search
(Not so fast. The touchscreen, second try)
(Not so fast. The touchscreen, second try)
Line 108: Line 108:
 
get this one
 
get this one
  
http://packages.debian.org/source/etch/xserver-xorg-input-elographics
+
http://packages.debian.org/source/sid/xserver-xorg-input-elographics
  
       tar xvzf xserver-xorg-input-elographics_1.1.0.orig.tar.gz
+
       tar xvzf xserver-xorg-input-elographics_1.2.3.orig.tar.gz
       cd xf86-input-elographics-1.1.0
+
       cd xf86-input-elographics-1.2.3
 
       ./configure --prefix=/usr
 
       ./configure --prefix=/usr
 
       make
 
       make
 
       make install
 
       make install
 
well the driver now loads, but can't sync with anything plausible coming from the touchscreen...
 
Is my touchscreen supported by that driver?
 
  
 
Quite an issue with getting the xorg config right.  
 
Quite an issue with getting the xorg config right.  
Line 125: Line 122:
 
./configure && make && ./touchacl e /dev/ttyS1
 
./configure && make && ./touchacl e /dev/ttyS1
  
You get .the 4 lines to put into xorg.conf
+
You get the 4 lines to put into xorg.conf
 +
 
 +
This is unfortunately very unprecise as the calibration is done in text mode.
 +
I found it works a little better if done in an xterm with X running.
 +
 
 +
startx
 +
 
 +
then start "./touchcal e /dev/ttyS1" on that screen
 +
 
 +
Instead of clicking on the crosses, put a pencil on the corresponding extreme corners of the screen
 +
Please note down the following values, NOT the final Option coordinates:
 +
 
 +
<tt>
 +
Coord 0: y = <font color=blue>578</font>, x = <font color=black>3612</font><br>
 +
Coord 1: y = <font color=green>3564</font>, x = <font color=black>3636</font><br>                               
 +
Coord 2: y = <font color=blue>576</font>, x = <font color=red>468</font><br>
 +
</tt>
 +
 
 +
The values are then to be put into the file following this color scheme
 +
<tt><br>
 +
<font color=black>MinX</font><br>
 +
<font color=red>MaxX</font><br>
 +
<font color=green>MinY</font><br>
 +
<font color=blue>MaxY</font><br>
 +
</tt>
 +
 
 +
This is the modifications I did to the xorg.conf
 +
 
 +
<pre>
 +
Section "ServerLayout"
 +
Identifier    "Layout0"
 +
Screen      0  "Screen0" 0 0
 +
InputDevice    "Keyboard0" "CoreKeyboard"
 +
InputDevice    "Mouse0" "CorePointer"
 +
        InputDevice "touchscreen1" "SendCoreEvents"
 +
EndSection
 +
 
 +
[...]
 +
 
 +
Section "InputDevice"
 +
        Identifier "touchscreen1"
 +
        Driver "elographics"
 +
        Option "Device" "/dev/ttyS1"
 +
        Option "SendCoreEvents" "true"
 +
#        Option "AlwaysCore"
 +
        Option "SendCoreEvents"
 +
        Option "ScreenNumber" "0"
 +
  Option  "MinX" "3612"
 +
  Option  "MaxX" "468"
 +
  Option  "MinY" "3564"
 +
  Option  "MaxY" "576"
 +
#        Option "UntouchDelay" "3"
 +
#        Option "ReportDelay" "1"
 +
        Option "ReportingMode" "Raw"
 +
        Option "ButtonThreshold" "17"
 +
        Option "ButtonNumber" "1"
 +
EndSection
 +
</pre>
 +
 
 +
kill the test X server
  
But the calibration does not make the mouse behave. Always jumping to a fixed point.
+
Now run with startx!

Revision as of 20:12, 5 February 2010

Add your Project
Crystal Project package graphics.png
Touchy
#FAIL: touchscreen soft is closed source
Tbe.jpg
Meetings: none
Type: software


Status: running
Members:
Contact Person: Gunstick (mail)
Tools
QrCode: QR-1514b95ad1e040149b5698f30ee6b960.png


The tradeboard is an Intel based device used for bank trading. It includes several telephone line ports but the main interest is it's touchscreen. Only 32MB of ram, 200MHz CPU.


Contents

Preparing

Open the device! Ahh, nice hardware :-)

Hack the installed windows95 to give a DOS shell and run windows explorer. F8 magic

Start IE (version 5, unpatched) and connect to the Internets...

Oh my god, this definitively need linux

choosing distribution

Well there are many small linux distribs, but few are built for really low memory. DSL is nice, but even 32MB is not enough.

Choice is finally deli linux.

installation

Oh, no floppy or CD. No BIOS which would make booting from the USB port possible.

Installation is done on another laptop which has a 2.5" PATA disk.

- lilo to MBR - full install

Insert disk into Tradeboard, boot... Nice LILO...

Login:

YES!

xwindows?

mkdir /etc/X11

the magic command is: delisetup - 5: CONFIGURE NETWORK I chose simple DHCP and deli detected the network card correctly - 6: CONFIGURE XORG There is also an option for tiny X but Xorg works better

   - mouse and keyboard: defaults
   - screen: super VGA 800x600 / 50-70hz 
   - card: chips technologies (chips)
   - screen: 8bit 256 colors

- 8 SETUP WINDOW MANAGER

 of course icewm, there is no other choice :-)

startx

wow.... grafics.

touchscreen

Get the driver from here http://www.elotouch.com/SUPPORT/Downloads/dnldlicense.asp?file=SW600664_Elo_Linux_Serial_Driver_v3.2_i686.tgz

Get the linux sources for the current delilinux kernel http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.36.4.tar.bz2

Unpack linux sources to /usr/src/linux

Unpack the elo driver into /tmp

Follow the instructions from elo for the installation but be careful, this being a 2.4 kernel, use the right makefile and edit main.c to comment out the KRN define

startup for deli linux: use the rc.local method

PORTNAME is ttyS1


reboot

startx

black screen

     # ./eloser
     -bash: ./eloser: No such file or directory
     # ldd eloser
     ...
     libc.so.6 => not found
     ...

OUCH! And now???

So that's the end of this project? http://www.delilinux.org/forum/topic.php?id=95

Not so fast. The touchscreen, second try

There is a limited functionality open source version of the driver. It has no fancy calibration software. http://www.elotouch.com/files/unrestricted_drivers/linux_public.zip

unfortunately this seems to be very xf86 and not compatible.

what about the debian driver?

get this one

http://packages.debian.org/source/sid/xserver-xorg-input-elographics

     tar xvzf xserver-xorg-input-elographics_1.2.3.orig.tar.gz
     cd xf86-input-elographics-1.2.3
     ./configure --prefix=/usr
     make
     make install

Quite an issue with getting the xorg config right.

And then there is some calibration needed. Install http://touchcal.sourceforge.net/ ./configure && make && ./touchacl e /dev/ttyS1

You get the 4 lines to put into xorg.conf

This is unfortunately very unprecise as the calibration is done in text mode. I found it works a little better if done in an xterm with X running.

startx

then start "./touchcal e /dev/ttyS1" on that screen

Instead of clicking on the crosses, put a pencil on the corresponding extreme corners of the screen Please note down the following values, NOT the final Option coordinates:

Coord 0: y = 578, x = 3612
Coord 1: y = 3564, x = 3636
Coord 2: y = 576, x = 468

The values are then to be put into the file following this color scheme
MinX
MaxX
MinY
MaxY

This is the modifications I did to the xorg.conf

 Section "ServerLayout"
	Identifier     "Layout0"
	Screen      0  "Screen0" 0 0
	InputDevice    "Keyboard0" "CoreKeyboard"
	InputDevice    "Mouse0" "CorePointer"
        InputDevice "touchscreen1" "SendCoreEvents"
 EndSection

 [...]

 Section "InputDevice"
        Identifier "touchscreen1"
        Driver "elographics"
        Option "Device" "/dev/ttyS1"
        Option "SendCoreEvents" "true"
 #        Option "AlwaysCore"
        Option "SendCoreEvents"
        Option "ScreenNumber" "0"
   Option  "MinX" "3612"
   Option  "MaxX" "468"
   Option  "MinY" "3564"
   Option  "MaxY" "576"
 #        Option "UntouchDelay" "3"
 #        Option "ReportDelay" "1"
        Option "ReportingMode" "Raw"
        Option "ButtonThreshold" "17"
        Option "ButtonNumber" "1"
 EndSection

kill the test X server

Now run with startx!

Personal tools
Namespaces

Variants
Actions
Navigation
syn2cat
Hackerspace
Activities
Initiatives
Community
Tools
Tools