linuxizing a Toshiba Toughbook CF-M34 mark 7, some help needed

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Mon Jun 2 17:04:30 UTC 2008


On Sun, Jun 01, 2008 at 08:52:37PM -0400, David J Patrick wrote:
> Hey Guys and Gals !
> We just got a Panasonic Toughbook with a touchscreen.
> I'm grooming is as our next POS system
> it's a CF-M34mk7  model# CF-M34CGFFKM, Pentium M 1.0GHz ULV (Centrino)
> An Intel 855GM video chipset. 
> The unit come with no documentation (although I think source might have a
> manual) and info on da web, about the specific model, and especially in regards to
> linux configuration, is aparse.
> If anyone has experience with this sort of thing, there are some things we
> haven't yet got working (Primarily touchscreen, audio, and haven't tested
> bluetooth nor wifi, and we could use a leetle help.
> the unnoficial wiki page is at
> http://toughbook.wikispaces.com/models+detailed
> but there's not much to learn from there. 

Well CPU, video, and chipset in general should probably not be a
problem.

The touch screen, well who knows.

Is it serial?  USB?  Proprietary interface?

I have written a touch screen driver a few years ago for a serial
touchscreen without documentation.  I connected the touch screen to the
serial port on a linux box, connected another serial port on the linux
box back to the interface in the machine with the touch screen, and
wrote a small program in C that read from one port and wrote to the
other and vice versa, and printed out in hex every byte that passed
through, and then I played with the screen using the windows install on
the system and tried to figure out the pattern in the byte stream.

I eventually found out that the protocol consisted of 5 bytes, and once
I aligned the printout to print 5 bytes per line, the pattern got
clearer.

Only the first byte had the high bit set, so that allowed resync to
happen if needed.  The remaining bits in the first byte indicated start
of touch, end of touch, movement while touched and such.  The other 4
bytes contained the position info.  The high bit was always 0, and the
remaining 7 bits contained the position in X and Y, two bytes each, so
14 bit position per axis.  The values seemed to range from about 100 to
about 4000 on this display.

I then went and copied an existing touch screen driver in X with a
somewhat similar protocol, and changed it to work with this particular
protocol, along with adding a way to calibrate the left and right sides
of the X axies, and the top and bottom of the Y axis.  Worked quite well
in the end.  Probably took 2 or 3 days to do all of it.

USB would be harder, since I don't know where to get a protocol sniffer
for USB.

Propriteray would involve figuring out how to even access the interface
before figuring out the protocol.

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list