Touch Screen Calibration Problem

2,653 views
Skip to first unread message

George Ioakimedes

unread,
Feb 10, 2013, 10:25:35 PM2/10/13
to cubie...@googlegroups.com
I believe there is a bug in the touch screen program that does not allow you to use mid/high resolution screens. Let me explain:

I have a system with a 15.6" LCD and resistive touch panel. The resolution of the screen is 1366x768. The system boots fine and I can use the mouse as expected. If I use the touchscreen though the touch is off from where I actually touch the screen (verified by turning on touch signals in developer options).

I ran a logcat and I see that I get the following error when I run the touch screen program (http://pastebin.com/L6LXEQ3x):

  1.  
  2. D/TSCalibration( 4490): screen mWidth1366!= 480|| mHeight720!=272, the calibrate result may not as well as u expect.
  3.  
  4. D/TSCalibration( 4490): cal.mTargetPoints[0].caly = 57cal.mTargetPoints[1].caly = 55cal.mTargetPoints[0].calx =51cal.mTargetPoints[1].calx =1344
  5.  
  6. D/TSCalibration( 4490): cal.mTargetPoints[1].calx = 1344cal.mTargetPoints[2].calx = 1345cal.mTargetPoints[1].caly =55cal.mTargetPoints[2].caly =685
  7.  
  8. D/TSCalibration( 4490): cal.mTargetPoints[2].caly = 685cal.mTargetPoints[3].caly = 686cal.mTargetPoints[2].calx =1345cal.mTargetPoints[3].calx =50
  9.  
  10. D/TSCalibration( 4490): cal.mTargetPoints[0].calx = 51cal.mTargetPoints[3].calx = 50cal.mTargetPoints[0].caly =57cal.mTargetPoints[3].caly =686
  11.  

looking into the source code from the TV Box tarball I found the TSCalibration2 app (in device/allwinner/common/packages) and in that src inside of TSCalibrationView.java I found the functions that wrote that error in the logcat:

  1. private int judge_point_location(TargetCal cal)
  2. {
  3.         if(SCREEN_MAX_WIDTH != mWidth || SCREEN_MAX_HEIGHT != mHeight){
  4.                 Log.d(TAG, "screen mWidth" + mWidth + "!= " + SCREEN_MAX_WIDTH + "|| mHeight" + mHeight + "!=" + SCREEN_MAX_HEIGHT + ", the calibrate result may not as well as u expect.");
  5.         }

 TSCalibration has an XML file (res/values-sw360dp/dimens.xml) which has this:

<resources
><integer name="p_limit">100</integer>
<integer name="screen_max_width">480</integer>
<integer name="sreen_max_height">272</integer>
</resources>

So I'm not sure why these values are so small but that certainly seems to be the cause of me not being able to calibrate my touch screen

For reference here is a logcat of when I run the touch calibration and use the touch screen, http://pastebin.com/cYc8v182

I cannot compile Android so it would be great if somebody could modify the XML file with 1366 and 768 (or higher if it seems reasonable) and then compile this so I can install and test it.

I looked at TSCalibrationView.java  and I see that it writes tpPara[0-6] to /data/pointercal so I tried to modify the contents of this file directly and reboot but I don't think this file is read unless some flag is set to let the system know that a new calibration has been run.


gcjoe

unread,
Feb 11, 2013, 5:41:04 AM2/11/13
to cubie...@googlegroups.com
Hi,

I am also new for Android (so I don't really know what am doing) but I've changed two xml files:

/device/allwinner/common/packages/TSCalibration2/res/values/dimens.xml, and
/device/allwinner/common/packages/TSCalibration2/res/values-sw360dp/dimens.xml

to:


<resources>
<integer name="p_limit">100</integer>
<integer name="screen_max_width">1366</integer>
<integer name="screen_max_height">720</integer>
</resources>
 
then build started... I'll share when done.

gcjoe

unread,
Feb 11, 2013, 8:07:06 AM2/11/13
to cubie...@googlegroups.com

George Ioakimedes

unread,
Feb 11, 2013, 9:45:40 AM2/11/13
to cubie...@googlegroups.com
thanks for compiling. I was able to find the missing dependencies in Ubuntu x64 so I could compile. I think this is failing because the code was written for much smaller screens so it only allowed a small difference between where you touch and where it thinks you should be touching.

I still can't find out why but it seems that this has X going from 100-1368 instead of 0-1368 and because of that it does not allow me to touch the left side of the screen. If I physically touch the lower left corner of the screen the coordinates should be 0,0 but they are actually 0, 690. For some reason Y is inverted but if I switch the wires on the touch screen panel then my finger swipes are backwards of the direction I swipe.

I am not a programmer so I'm just poking around. I found that TSCalibrationView.java writes /data/pointercal and places the value of 7 variables in it based on these 2 formulas:

ReadParaFromProp();
rawX = ev.getRawX();
rawY = ev.getRawY();
x    = (mCurTpPara[6] * rawX - mCurTpPara[2])/(mCurTpPara[0] + mCurTpPara[1]);
y    = (mCurTpPara[6] * rawY - mCurTpPara[5])/(mCurTpPara[3] + mCurTpPara[4]);

Inside of /data/pointercal you can find the following:

#Copyright
#Sun Feb 10 15:51:24 PST 2013

TP_PARA5=64546
TP_PARA6=-393208
TP_PARA3=19760
TP_PARA4=74
TP_PARA2=0
TP_PARA1=64117
TP_PARA7=65536

I can change these values and reboot and it does change the touch location of where it thinks I placed my finger but I have not been able to find the correct combination that works for me. On the right side of the screen (when X=1368)  the touch locations are almost perfect (in the X direction) but on the left is the shift by ~100

On Mon, Feb 11, 2013 at 5:07 AM, gcjoe <gcj...@gmail.com> wrote:

--
You received this message because you are subscribed to the Google Groups "Cubieboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cubieboard+...@googlegroups.com.
Visit this group at http://groups.google.com/group/cubieboard?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Michal Suchanek

unread,
Feb 11, 2013, 11:03:44 AM2/11/13
to cubie...@googlegroups.com
On 11 February 2013 15:45, George Ioakimedes <georg...@gmail.com> wrote:
> thanks for compiling. I was able to find the missing dependencies in Ubuntu
> x64 so I could compile. I think this is failing because the code was written
> for much smaller screens so it only allowed a small difference between where
> you touch and where it thinks you should be touching.
>
> I still can't find out why but it seems that this has X going from 100-1368
> instead of 0-1368 and because of that it does not allow me to touch the left
> side of the screen. If I physically touch the lower left corner of the
> screen the coordinates should be 0,0 but they are actually 0, 690. For some
> reason Y is inverted but if I switch the wires on the touch screen panel
> then my finger swipes are backwards of the direction I swipe.

This is exactly what touch screen calibration software is supposed to solve.

Unfortunately, it seems there is lots of touchscreen calibration
software out there which is tested only for some special cases and
fails when the touch layer is misaligned in a way not observed on
devices on which the software was developed :S

Basically you have four points you draw on the screen, then you let
the user touch them in order and you get the points in touchscreen
coordinates. Then you find a matrix that for each point transforms the
coordinates from the read touch points to the screen points and feed
that to XInput or whatever.

I don't understand what is so difficult about that that it fails so often.

Thanks

Michal

George Ioakimedes

unread,
Feb 11, 2013, 12:42:39 PM2/11/13
to cubie...@googlegroups.com
Believe me Michal, I don't understand why I'm the lucky one with all these troubles! Unfortunately I'm not a programmer so I can look at the code but not follow all of it. This code that we have to work with does some linear algebra using matrix calculations so who knows if that code is really correct and when tried to use on larger screens it fails miserably.

I also don't know how this information is passed to the system and actually used. From searching around it seems that this pointercal file that gets written to at /data/pointercal is fairly standard although the location is different. There is also a sun4i-ts.idc file in (I think) /data/usr/idc/sun4i-ts.idc

So all I know is that TSCalibration fails (probably because of "bad" code) and that leaves me with a pointercal file that the system uses incorrectly (I can run through the calibration program using the mouse).

I feel like I'm close but so far becase I have some unknowns here and I'm screaming out for anyone to try and help. I'm wondering if perhaps there are some other calibrations that I could compile and use but I have a feeling that the values that get written to pointercal are somewhat specific to to sun4i-ts library???

Help, anyone, please!! (yes, I'm begging)

Michal Suchanek

unread,
Feb 12, 2013, 4:38:17 AM2/12/13
to cubie...@googlegroups.com
Hello,

On 11 February 2013 18:42, George Ioakimedes <georg...@gmail.com> wrote:
> Believe me Michal, I don't understand why I'm the lucky one with all these
> troubles! Unfortunately I'm not a programmer so I can look at the code but
> not follow all of it. This code that we have to work with does some linear
> algebra using matrix calculations so who knows if that code is really
> correct and when tried to use on larger screens it fails miserably.

where do you get the code?

I cloned the allwinder andrios repo as described here
http://linux-sunxi.org/Android and there is no TSCalibration.

Thanks

Michal

George Ioakimedes

unread,
Feb 12, 2013, 9:29:36 AM2/12/13
to cubie...@googlegroups.com
In the TV Box source file tarball on the cubieboard.org site and then buried at

/home/george/cubie/cubieboard-tv-sdk/device/allwinner/common/packages/TSCalibration2

If you check gitorous and github I also found a couple of different ones but they didn't work either. I was just thinking that maybe the root of the problme is in sun4i-ts since without running any calibration  the system starts with X=100-1368 rather than X=0-1368


Michal

George Ioakimedes

unread,
Feb 12, 2013, 9:33:01 AM2/12/13
to cubie...@googlegroups.com
but I should add that the TV Box source does not work if you want to run a LVDS panel. Tom was able to compile code for me before he went on Holiday and I didn't get his source but I believe it is from 4.0.3 "tablet". I have not been able to get in touch with him the past couple of days and think I might be screwed since it's CNY Holiday. Even after that I'm not sure who can look into this problem..:(

Michal Suchanek

unread,
Feb 12, 2013, 10:58:31 AM2/12/13
to cubie...@googlegroups.com
On 12 February 2013 15:29, George Ioakimedes <georg...@gmail.com> wrote:
> In the TV Box source file tarball on the cubieboard.org site and then buried
> at
>
> /home/george/cubie/cubieboard-tv-sdk/device/allwinner/common/packages/TSCalibration2
>
> If you check gitorous and github I also found a couple of different ones but
> they didn't work either. I was just thinking that maybe the root of the
> problme is in sun4i-ts since without running any calibration the system
> starts with X=100-1368 rather than X=0-1368

That's odd, and the way the parameters are passed to the driver also.

Can you run the TS calibration with this patch?

You can then calculate teh matrix by hand and change the kernel driver
so it works with the calculated matrix or something like that ;-)

Thanks

Michal
calibration-debug.patch

George Ioakimedes

unread,
Feb 12, 2013, 11:15:30 AM2/12/13
to cubie...@googlegroups.com
Hi Michal:

I was just looking at sun4i-ts.c and I remember that in the FEX file you can state the "touch screen size" but in reality you can only enter 5 or 7, any other value throws an error. I just found the part of the code that checks that parameter but haven't sifted through the rest of the code to see how it's used.

BTW, can you email me the original source code of TSCalibration2. I was stupid and made changes without backing up the original. I thought I was going to find the problem and fix it! It also looks like the sun4i-ts code could be enable to print debug messages which could also be helpful in tracking down where the code is breaking.

//config rtp
if(SCRIPT_PARSER_OK != script_parser_fetch("rtp_para", "rtp_used", &device_used, sizeof(device_used)/sizeof(int))){
pr_err("sun4i_ts_init: script_parser_fetch err. \n");
goto script_parser_fetch_err;
}
printk("rtp_used == %d. \n", device_used);
if(1 == device_used){
if(SCRIPT_PARSER_OK != script_parser_fetch("rtp_para", "rtp_screen_size", &tp_screen_size, 1)){
pr_err("sun4i_ts_init: script_parser_fetch err. \n");
goto script_parser_fetch_err;
}
printk("sun4i-ts: tp_screen_size is %d inch.\n", tp_screen_size);
if(7 == tp_screen_size){
                dual_touch_distance = 20;
                glide_delta_ds_max_limit = 90;
                tp_regidity_level = 7;
      }else if(5 == tp_screen_size){
          dual_touch_distance = 35;
          glide_delta_ds_max_limit = 150;
          tp_regidity_level = 5;
      }else{
          pr_err("sun4i-ts: tp_screen_size is not supported. \n");
          goto script_parser_fetch_err;
      }


Thanks

Michal

Michal Suchanek

unread,
Feb 13, 2013, 10:26:37 AM2/13/13
to cubie...@googlegroups.com
Hello,

On 12 February 2013 17:15, George Ioakimedes <georg...@gmail.com> wrote:
> Hi Michal:
>
> I was just looking at sun4i-ts.c and I remember that in the FEX file you can
> state the "touch screen size" but in reality you can only enter 5 or 7, any
> other value throws an error. I just found the part of the code that checks
> that parameter but haven't sifted through the rest of the code to see how
> it's used.

Quick skimming through the code does not reveal any transform so the
data is probably reported as-is and the matrix is used and data
clobbered somewhere in Android presumably.

Under Linux you can verify that your touchscreen returns sane data by
running evtest.

Not sure if that is available under Android.

HTH

Michal

George Ioakimedes

unread,
Feb 15, 2013, 10:04:15 AM2/15/13
to cubie...@googlegroups.com
Hi Guys. I had to drop out for a few days while I finally finished my other project. I unfortunately had to switch to using x86 based hardware :( and am 2 weeks late so nobody is happy, but I digress..

I stumbled across this thread, it looks like it might be promising, what do you think?

Mat Oldaker

unread,
Jun 17, 2013, 6:52:02 AM6/17/13
to cubie...@googlegroups.com
Can someone explain what each of the TP_PARA# values corresponds to?
I've run a few calibrations but some of the numbers vary dramatically between each calibration, the only constant value is
TP_PARA7=65536 which remains the same.

Michal Suchanek

unread,
Jun 17, 2013, 7:50:44 AM6/17/13
to cubie...@googlegroups.com
Hello,

the TS_PARA values make up a torso of 3x3 matrix (some values are not
stored and assumed zero or some other default value). Unfortunately
there does not seem to be much documentation on these values (in which
order the values are used to make up the matrix and in which order the
raw data is multiplied to obtain the calibrated data).

You can

1) use a touchscreen calibration application that writes these values
for you based on touch input you produce

2) read the android source which uses the values

Thanks

Michal

George Ioakimedes

unread,
Jun 17, 2013, 10:42:47 AM6/17/13
to cubie...@googlegroups.com
Michal is correct. Linear algebra is used to calculate touch locations and those parameters are used in the equation to calculate position. I tried to manipulate these values to correct the offset but was never successful. IMHO the calibration code needs to be completely changed. When I was looking at the code I found this, https://github.com/allwinner-ics/device_softwinner_common/blob/master/packages/TSCalibration2/Android.mk and sent an email to the authur of the code but I never received a reply email.

I saved this post, https://groups.google.com/d/topic/android-porting/2KtxlHvJbGo/discussion and when I did some general research on touch screen calibration routines I found the recommended method to be different than the way the code is currently written.

I am not a programmer so I failed at trying to get the code to work but hopefully now that more people are interested there will be someone who can help.



--
You received this message because you are subscribed to a topic in the Google Groups "Cubieboard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cubieboard/aT46xUcg0Xw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cubieboard+...@googlegroups.com.
Visit this group at http://groups.google.com/group/cubieboard.

Michal Suchanek

unread,
Jun 17, 2013, 3:12:42 PM6/17/13
to cubie...@googlegroups.com
On 11 February 2013 15:45, George Ioakimedes <georg...@gmail.com> wrote:
> thanks for compiling. I was able to find the missing dependencies in Ubuntu
> x64 so I could compile. I think this is failing because the code was written
> for much smaller screens so it only allowed a small difference between where
> you touch and where it thinks you should be touching.
>
> I still can't find out why but it seems that this has X going from 100-1368
> instead of 0-1368 and because of that it does not allow me to touch the left
> side of the screen. If I physically touch the lower left corner of the
> screen the coordinates should be 0,0 but they are actually 0, 690. For some
> reason Y is inverted but if I switch the wires on the touch screen panel
> then my finger swipes are backwards of the direction I swipe.
>
> I am not a programmer so I'm just poking around. I found that
> TSCalibrationView.java writes /data/pointercal and places the value of 7
> variables in it based on these 2 formulas:
>
> ReadParaFromProp();
> rawX = ev.getRawX();
> rawY = ev.getRawY();
> x = (mCurTpPara[6] * rawX - mCurTpPara[2])/(mCurTpPara[0] +
> mCurTpPara[1]);
> y = (mCurTpPara[6] * rawY - mCurTpPara[5])/(mCurTpPara[3] +
> mCurTpPara[4]);

This is obviously bogus.

This formula adds TS_PARA1 and TS_PARA2 so you lose one of the
parameters because you can as well set it to zero and use only the
other. Similarly for TS_PARA4 and TS_PARA5.

The intent is probably to multiply (rawX,rawY) with fixed scaling
factor TS_PARA7 to increase precision, then substract a center point
(TS_PARA3,TS_PARA6), then divide by a scaling factor which should
scale +/-half of accessible touch area to +/-half of screen, and then
add screen center (TS_PARA2,TS_PARA5). The result should be then in
range of (0,0)..(ScreenMaxX, ScreenMaxY).

For that to work the formula should be

x = (mCurTpPara[6] * rawX - mCurTpPara[2])/mCurTpPara[0] + mCurTpPara[1];
y = (mCurTpPara[6] * rawY - mCurTpPara[5])/mCurTpPara[3] + mCurTpPara[4];

Hopefully the order is not mixed up.

Until we reach screen sizes with ~15k pixels across this calculation
should work reasonably well.


Thanks

Michal

Michal Suchanek

unread,
Jun 17, 2013, 3:56:05 PM6/17/13
to cubie...@googlegroups.com
The other place where ts_para is used is also bogus -
frameworks/base/services/input/InputReader.cpp:

float adjust_x,adjust_y;
adjust_x = float(in.x - mRawPointerAxes.x.minValue) * mXScale;
adjust_y = float(in.y - mRawPointerAxes.y.minValue) * mYScale;

adjust_x = ( tp_para[2] + tp_para[0]*adjust_x
+ tp_para[1]*adjust_x ) / tp_para[6];
adjust_y = ( tp_para[5] + tp_para[3]*adjust_y
+ tp_para[4]*adjust_y ) / tp_para[6];


Here one of the parameters for each axis is trashed as well.

Also the axis origin is shifted to 0 which is not reflected in the TS
calibration application and may be the reason you get shifted values
near one edge.

I wonder if you can get the mRawPointerAxes in TSCalibration to get
exact results. Also there is mXScale and mYScale which already do the
scaling to surface size so no need to do that in calibration.

Quite a mess :s

Anyone has some idea how it is *supposed* to work?

Thanks

Michal

George Ioakimedes

unread,
Jun 17, 2013, 11:28:24 PM6/17/13
to cubie...@googlegroups.com
I can't find my notes but at the time I searched the internet and found some good papers on writing touch screen calibration code. I can't remember if it was this one, http://www.tij.co.jp/jp/lit/an/slyt277/slyt277.pdf from TI or if I was reading something else. At least the TI app note makes sense while the code we have does not!



Thanks

Michal

--
You received this message because you are subscribed to a topic in the Google Groups "Cubieboard" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cubieboard/aT46xUcg0Xw/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cubieboard+...@googlegroups.com.
Visit this group at http://groups.google.com/group/cubieboard.

Frank LaVerne

unread,
Aug 10, 2013, 10:50:04 AM8/10/13
to cubie...@googlegroups.com
Hey guys,
 
I am tampering with the issue of my touchscreen being off as everybody else described using a 6.5" display including a eGalax touchscreen (china made). Whole touch area is flipped (x / y), and after patching the source and recompiling I still have the problem that the center touch is fine, but the further I move from the center, the more off the touch values are.
 
I tried to use the ARM port of TSLIB, but failed since there seems to be some problem with the framebuffer (meaning I could not start ts_calibrate via shell).
 
Today, I tried to just compile TSCalibration2 application, installed it via adb, started it (without any patches for the flipped touchscreen etc., so the touches where WAY off AND flipped), but after I have completed the procedure, without reboot or whatsoever, my touchscreen finally worked. I could touch the edges with full response - and I FINALLY could use the touch keyboard with 100% accuracy.
 
Just out of curiosity: Did anyone try this as well - to just install and run the TSCalibration java app? I am just wondering that I dug so deep in the wild, while the answer seemed to be on the steps of my front door ... and that it really works now.
 
Cheers,
 
Frank

George Ioakimedes

unread,
Aug 10, 2013, 1:50:25 PM8/10/13
to cubie...@googlegroups.com
I tried so many things both in Android and Linux and couldn't get it work. I remember messing with Android but don't recall everything I tried. Can you share what you've done so I can test with with other size touch screens?


--

Frank LaVerne

unread,
Aug 10, 2013, 2:42:36 PM8/10/13
to cubie...@googlegroups.com
 
Sure thing, in the end I quite know how you feel, except I was only working on the Android side.
 
I simply took the AllWinner TVBox source code and compiled the TSCalibration2 java application. The preparation for this (in the source code directory) is:
 
$source build/envsetup.sh
$lunch 4
 
then
 
$make TSCalibration2
 
In case you haven't compiled it before (or can't due to whatever reason) you can use the TSCalibration2.apk I use, it's attached to this message. The resulting TSCalibration2.apk then needs to be moved to the Cubieboard for installation - I prefer adb tools for this task. Using adb tools, its as simple as:
 
adb install TSCalibration2.apk
 
Any other way, e.g. copying it to a media like USB stick or SD card and installing it via a file manager or similar, should be fine as well.
 
Then you can find "Calibration" in your Apps (it's a red / white target circle icon) - start it, follow the on screen commands and you should be ready to go. As mentioned, for me it even succeeded in 100% calibration though I had a x/y flip - it was automatically corrected and immediately used without reboot.
 
Hope this helps - good luck!
TSCalibration2.apk

George Ioakimedes

unread,
Aug 10, 2013, 2:48:12 PM8/10/13
to cubie...@googlegroups.com

OK, great,  thanks for posting this. I'm out now but I'll try to test it this weekend.  Since this is an Android app I don't think it matters but did you test this with a Cubie1 or a Cubie2?

You tested on a small screen so I'm really curious if this works on the 15.6" I was working on

--

Frank LaVerne

unread,
Aug 10, 2013, 3:42:16 PM8/10/13
to cubie...@googlegroups.com
So far I just had my hands on the Cubie1, the Cubie2 might follow next year.
 
So: Cubie1, Android 4.04 AllWinner TV Box.
 
All the best of luck for the test. I will check if you succeeded on Monday, since I am preparing for the vacation ride tomorrow myself.
 
Cheers!

Ryan Elson

unread,
Aug 20, 2013, 2:19:01 PM8/20/13
to cubie...@googlegroups.com
well you guys just bumped my schedule up on getting this touchscreen working.  I have 8" on a cubieboard 1.

Frank LaVerne

unread,
Aug 21, 2013, 5:11:23 AM8/21/13
to cubie...@googlegroups.com
Just for the record:

I tried to use the Touchscreen Calibration again since I re-flashed my CB, but was stuck in a loop - the calibration just started over and over again and never finished. I found out that this is due to a missing input device controller configuration file, which means that a IDC file has to exist in /system/usr/idc for the corresponding touchscreen controller. Otherwise, the calibration app is going mad as mentioned above.

A thorough description on the IDC topic can be found here. The corresponding vendor and product id is logged, and can either be accessed via the UART USB-Serial adapter if available, or via Android Debugging mentioned in the Cubieforums here via the OTG connector.

Ryan Elson

unread,
Aug 22, 2013, 1:45:58 PM8/22/13
to cubie...@googlegroups.com
yeah me too I got the endless loop, but I think perhaps my wires needed switched around, I'll try again later...
Anybody else?

Ryan Elson

unread,
Aug 22, 2013, 1:59:41 PM8/22/13
to cubie...@googlegroups.com
Where am I getting the source code for this, and how do I get this into my sdk? (pardon the n00b question, I only ask questions like this once, if I get an answer that gets me to figure it out)....

Frank LaVerne

unread,
Aug 23, 2013, 7:50:36 AM8/23/13
to cubie...@googlegroups.com
It's not a n00b question at all - you just need a kickstart to get everything going, that's fine.

Check the Cubieboard.org download section for the source code tarball (Android 4.0.4 + linux-3.0.52) (filed under "Software tools"), or the Allwinner homepage which includes a description on compilation.I would suggest the "simple way" described there.

In addition, you have to setup a Linux building environment, either real or virtual. I am using a Ubuntu 10.04 (which is the preferred option for beginners / intermediates building Android ICS) with a VMPlayer 5.02, works just fine. Check the official Android site regarding closer information about the setup.

Little tip: I had several compilation errors even when using the linux sudo command for the necessary preparations, including a broken image that wouldn't work - the best way for me seemed to be compiling everything as root (using "su" in a shell before everything else) on a virtual machine. Also, please take care of having a minimum of 3GB RAM when compiling - when I used less on my virtual machine the compilation failed as well.

Good luck!

Frank LaVerne

unread,
Aug 23, 2013, 8:31:35 AM8/23/13
to cubie...@googlegroups.com
One more thing - if you by "source code for this" meant TSApplication: It's included in the package.

kers...@gmail.com

unread,
Oct 24, 2013, 4:15:09 PM10/24/13
to cubie...@googlegroups.com
Hello,
I am having the same issue as George trying to calibrate a large resistive touchscreen under Android.
Did anyone here ever succeed with touchscreen calibration ?
TS-LIB works fine under Linux so why is touchscreen calibration failing under Android ?


George Ioakimedes

unread,
Oct 24, 2013, 4:58:50 PM10/24/13
to cubie...@googlegroups.com
When you say that TS-LIB works fine under Linux does that mean that you're able to run the calibration successfully in Linux?


George Ioakimedes

unread,
Oct 24, 2013, 5:05:35 PM10/24/13
to cubie...@googlegroups.com
Have you seen this thread? You might want to try it, https://groups.google.com/forum/#!msg/cubieboard/aT46xUcg0Xw/xxO68VXzGYMJ
Reply all
Reply to author
Forward
0 new messages