On Mon, Dec 9, 2013 at 2:52 PM, Aaron J. Seigo aseigo@kde.org wrote:
On Monday, December 9, 2013 14:23:38 joem wrote:
I'm thinking may be a better bet is to have a mouse like generic USB gadget built. Then you would connect the resistive or capacitive panel to it, and it would convert the signals to standard mouse signals.
Usually the real trick is the multi-touch events and proper screen calibration with X. Having a generic USB gadget for this would be fantastic ...
on the flying squirrel i considered doing the conversion by having the I2C capacitive devices connected to the STM32F (and then to the ATSAM4SB on the rev3 board) but to be honest it's a lot of hassle. in the end, so as not to have to write any special linux kernel drivers, i went with just a plain I2C IC (built-in to the panel in order to reduce stray capacitance SNR leakage).
for those capacitive converter ICs that have USB, they already have linux kernel drivers: no work is needed there either.
for resistive ICs, the standards are either SPI or I2C - not USB. extra work, both in hardware and software, would be needed.
EOMA doesn't have the touch pins brought out, so having such a modular unit could benefit EOMAs and other similar boards.
ok for capacitive "keys", this is already done (in some form or other):
https://www.sparkfun.com/products/9695 https://www.sparkfun.com/products/10250
for capacitive touchpanels you *really* do not want to be getting individual ICs: the stray capacitance of having the IC far away from the actual panel is so far above the capacitive panel's capacitance that you get wildly inaccurate readings. therefore you should be looking at an FPC breakout board and just wiring directly up on the EOMA68 I2C bus. problem solved.
for resistive i'm having a little more difficulty tracking anything down, notably because most of sparkfun's stuff is designed for arduinos etc. etc. all of which have at least two ADC pins. so, you'd need to e.g. follow this:
http://make.larsi.org/electronics/TouchScreen/
and then get an I2C ADC Converter IC e.g. this:
http://www.ti.com/product/ads1000
(ok get 2 of those) plus a break-out board for a SOT-23 (or 2) and you're pretty much done.
the alternative is of course to use something like an arduino PIC, or one of those Freescale $0.40 embedded controllers. then, aaron, yes, absolutely: you'd be programming it (unless the source is already available like it is for many arduino-style project) to put it into USB HID mode.
but, if you're doing it as I2C then you'd need a linux driver kernel module on whatever EOMA-68 CPU Card is being used, reading the I2C bus but written as a mouse hid device. straightforward enough.
l.