Touchy

From syn2cat - HackerSpace.lu
Revision as of 08:02, 13 April 2012 by Gunstick (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Add your Project
Crystal Project package graphics.png
Touchy
Install linux on an old Siemens TRADEBOARD E
Tbe.jpg
Meetings: none
Type: software


Status: concluded
Members:
Contact Person: Gunstick (mail)
Tools
QrCode: QR-3141bab00ea5e41318b11a7eeb55121b.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.

Status: linux works, X works, touchscreen works.

Todo: what about an on-screen keyboard?


Contents

[edit] 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

[edit] 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.

[edit] 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!

[edit] 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.

[edit] 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

[edit] 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
Toolbox