Hi all, I thought I'd start a thread so that we could try and track down issues with all of the different touch screens that are available. 1. ubuntu with h43 resistive touch (1wire interface, also connected to the backlight), just doesn't seem to work 2. Android 4.0.3, tslib is missing as well as the helper apps, 1wire ts driver is recognised by the system but gui fails to respond 3. Goodix/ft5x0x drivers missing or not working in ubuntu/android 4. h43 touchscreen raw values indicate that the screen orientation is wrong , or rather that the axis are swapped, swapping the axis causes the y axis to be inverted, so moving your finger from top to bottom would cause the pointer to move from bottom to top. It would appear that the H43 1wire driver actually exposes itself as an event device, in /dev/input/eventX and it does actually spit out raw values for X/Y, on investigation it appears to be roughly 188-3909 for the x axis and 300-3730 for the y axis for the full range across the screen. You can test this for yourself by connect to the mini210S via serial console and running the 'getevent or getevent -lp /dev/input/event1' command, you can also see that the x/y axis events are swapped, the h43 screen is presented to you in the OS as landscape, if you move your finger from left to right you would expect to see the ABS_X values changing but it's the ABS_Y values that actually change. I had looked at the issue before in ubuntu and hacked up the driver to report another input device that doesn't actually need calibration, however, on revisiting the code I could see that there was a better way to do it. What I have managed to do is to swap the X/Y axis in code and to push my min/max x/y values in to the input device setup as calibration parameters and put in the correct width/height values to allow android to pick up the correct touchscreen dimensions to be able to scale the values from 3909x3730 down to the actual screen resolution of 480x272. On the android 2.3 image everything is working, tslib exists and calibrating the screen is simple, the simple changes that I have made allow the touchscreens to work in ubuntu/android 4.0.3 without having to compile tslib. I suspect that similar things are happening with the goodix ts and the ft5x0x ts too but I don't own either so can't say for definite. Is anyone interested in looking at the code changes that I have made? At the moment it is just rough working code, I'm sure there are some refinements that can be done and I'd like to add code to be able to read calibration info from the cmdline or text file similar to tslib. As far as I can see, tslib isn't necessary for android (in fact, I can't even see a /dev/fb0 to bind to, although this could be because of running from sd and turning off initramfs/initrd/cpio stuff in the kernel).
mini210S and android/ubuntu
I would love to see your code changes. I have been trying to get TSLIB to work on an ARM android 4.0.3 build for a minute now. I can build it with my OS and it works fine except that i cannot see the targets being output to /dev/graphics/fb0. i think i need a java app to display my crosshairs.
Hi, I'm not entirely sure any of this is now necessary, there seems to be confusion as to when to use the skipcali=yes function, android should bring up a calibration screen on it's own. I've just installed ubuntu on a tiny6410 board and it also has the calibration routine built in. It's been a while since I looked at the ubuntu properly for the mini210S, I'll have another look at it and see what happens, I know more about the device now so I may be able to get further with it.
In theory, you should be able to use the attached file on a H43 resistive touchscreen (or any resistive touch that uses one wire) in ubuntu, it should show up as an input device, it shouldn't need tslib at all. Let me know how you get on. I've got another file that also shouldn't need tslib but it does require you to get the raw output from the touchscreen first, it works quite nicely but I'm not sure if it's user friendly enough :D