yashsingh1/xdaforums huggingface dataset:
[Miscellaneous Android Development] YetAnotherForumUser:
Report on imp3: shielding touch screen cable fixes jitter

For your perusal: DIY hardware the ultimate transformation of the most detailed novo8 built-in battery God posted a surprise. Apply for extra points, light, set-top. The original Chinese version reads like this: DIY硬件 novo8 内置电池最详细终级改造神贴，有惊喜啊。申请加分，加光，置顶

Now, that surely helps, doesn't it? The translated title I mean... Fortunately Google makes a slightly better attempt at translating the actual content (if only slightly), leading to the following snippet:

"I had a long period of testing, the results of the surprises. Typing very precise touch screen performance better than before. Because typing Baidu pad version always point, but the typo phenomenon. Even brush the flight feathers of the 0227 is no exception. The thought Is novo8 touch poor signal interference caused by? Entangled. It is recommended that all large battery or small battery shielding screen and touch the circuit is very good."

In non-Googeleese this seems to indicate that shielding the touch screen cable (and possibly part of the circuit board) fixes the touch screen jitter. There are some pictures there to show what the author meant when he said 'shielding the cable'. He more or less seemed to happen upon this while he changed the battery in the Novo 8 (leading to 7:40 running time with wifi and movie/TV playing, auto-shutoff at 11:35).

So... who will be first in attempting this shielding exercise? As stated I have yet to open my Novo 8 and can not really do this yet because it is currently used by my wife to study for an exam...
[Miscellaneous Android Development] hillbeast:
I might try it today.
[Miscellaneous Android Development] YetAnotherForumUser:
Operation: jitterfix

And...? Did you? Did the patient survive? Did it help? Inquisitive minds want to know... Me, I'm tired of my tablet doin' the jitterbug. My wife did her exam last friday (she passed, phew) so I am almost free to hack the thing to bits. Almost...
[Miscellaneous Android Development] hillbeast:
Sorry I never had the time.Probably tomorrow. I have work today and I will probably go to sleep as soon as I get home, but tomorrow is my day off.
[Miscellaneous Android Development] YetAnotherForumUser:
Even though I am now quite convinced this does not do anything for reducing the jitter, it does actually make the tablet more useful for some tasks. For an example have a look at the 'Quill' (can be found on the 'market' (which Google stupidly decided to rename to sound like a games shop) which supports pressure information. While the jitter makes this thing more or less unusable for its prime purpose, it does show the pressure information can be used for something, in this case varying the line thickness. In other words, it is worth the effort to find out the best settings for this .idc file (I more or less did a guesstimate as to what would be appropriate).

And now I'll go and find some suitable shielding material to try to tame the jitterbug. Mylar-covered aluminium foil would do fine. I don't have any...
[Miscellaneous Android Development] MrRimmer:
I used a layer of cellotape followed by a layer of aluminium foil tape to provide insulation followed by shielding. Seems to be OK but I have yet to test with this distribution. One thing I haven't done that is probably worth doing is to shield the DC-DC converter as that is likely to generate some interference when the AC adapter is plugged in.
[Miscellaneous Android Development] hillbeast:
I'm pulling apart my tablet right now and taking photos as I go. Will post when I am finished.
[Miscellaneous Android Development] Vojt:
Hi, thanx for your hard work on ICS for Ainol 8. Just testing it now, works fine, but after install Gapps by CM, there is no app anymoore. I've tried install Gmail and Market from apk, but with no success. Apps instaled but not work, just start and quick close.
[Miscellaneous Android Development] YetAnotherForumUser:
Tried shielding it, to no apperent effect...?

I've tested some shielding configurations (using thick aluminium foil wrapped in PVC tape) without much, if any result. Measuring the power lines shows quite a bit of HF ripple, but the touch controller does not seem to be phased by it and artificially increasing the ripple (by holding my hand over the DC/DC converter, makes the 'scope screen go wild) does not lead to more jitter.

Did anyone here get any better results? If so, how did you shield the the thing?

For the record, I did the following things:

- made a shield from thick aluminium foil (a throwaway serving tray cut to size, insulated with PVC tape) which went around the whole narrow section of the circuit board, wrapping on the battery side. This shield was grounded on the circuit board through a conductive pad.

- added the two missing conductive pads to the circuit board (manufacturing has been trying to cut costs it seems - only two screws, two pads, etc)

- added a shield to the DC/DC converter

When this did not seem to have the desired effect I started measuring the power circuitry. This has some ripple on it (peak around 80 mV, base frequency app. 200 KHz, add harmonics to taste and load). Another, higher-frequency but low level (~3 mV) ripple gets superimposed over this when the screen is touched, and stays put for a few seconds after the last touch. While the power circuitry could do with some more HF filtering I doubt as to whether these ripples are the cause of the jitter.

Will I give up? No, of course not. But thus far, the thing still jitters.
[Miscellaneous Android Development] hillbeast:
Mine still jitters, but I don't feel it's as much. It still seems to happen much more on the button side of the screen. I'm now more suspecting the controller was not designed for a large screen (8") or at least not configured for it correctly and as a result the distance from the connector (the corner with the Android, Cortex A9 logos etc) might be affecting it.
[Miscellaneous Android Development] buggatti:
Hello

i installed the rc1. its awesome very fast and stable. I have a few problem with it

wifi it not working properly. I am standing next to the router and novo say it has 1 signal bar and it say connection drop becaue of poor quality

The app drawer lag and i think it shouldn't lag because ICS is nativity hardware accelerated and mali 400 is a high end graphic processor.

Chrome Beta say some important component is missing. no idea what it is.

Also are you using the latest mali driver

Again Thank for the ROM and Keep up the Hard work!!!
[Miscellaneous Android Development] YetAnotherForumUser:
Data sheet for Goodix GT818 (successor to GT801)

I found a datasheet for the Goodix GT818 (which seems to be one of the successors of the GT801 as used in the Novo 8 (amongst others)) on Baidu (the link goes to a copy on my server, if you have a Baidu account and enough credits you can get the original there). As the document is in Chinese you might want to feed the result to Google Translate. While this chip is obviously not identical to the one in the Novo 8, it might be similar enough to give some clues as to what can be done to kill the jitterbug.

A little while later I found a later version of the datasheet on Goodix' own site:

GT818...2011112103.pdf (Translated by Google)

There is also an Android programming guide available:

Android...A62011083001.pdf (Translated by Google)

For good measure I'll add the AMlogic training document I found on Baidu as well:

AML8726-M_Android_MID_Training_201101.pdf. Feed it to Google Translate to get a somewhat understandable copy.
[Miscellaneous Android Development] h055:
You may have missed the powerpack by cheeyee. Make sure you install both the powerpack and GAPPS in order to enjoy the full functionality.

Yet it's quite frustrating to find that the latest Flash 11.1 still not working all across browsers. Actually AMLogic had released a modified version of Flash 10.2 aimed at hardware decoding Flash playback. Here I'm attaching this app. You need to uninstall the existing version first and ignore future updates.
[Miscellaneous Android Development] YetAnotherForumUser:
Programming info for Goodix GT818

In the Android programming manual I linked to in the previous message there is some info on the configuration data. This data seems to be generated using some magic program at Goodix headquarters. Since we lack the required magic we'll have to fake it. The Google-chinglish version of the programming info section reads like this:

So what can we learn from this? The last line seems important: sending the wrong configuration data can lead to the driver not recognizing the controller, and that would be unfortunate. So, we'd better leave the version number alone. That version number seems to be contained in the first two octets of the configuration data. For the GT801 this would be '0x30 0x19'.

The linear sequence (0000000E-00000016) which can be found in the GT801 configuration data probably resembles the one from the GT818, the difference seems to be that the GT818 uses 16-bit values where the GT801 uses 8 bits per driver line and the GT818 has 16 driver lines where the GT801 seems to have 15. This data also should be left as it is, otherwise the mapping from touchscreen coordinates to display coordinates will be børked.

More l8r, now I have wørk to do...
[Miscellaneous Android Development] buggatti:
I have done both the gapps and the powerpack. still the wifi issue is very annoying i cant connect it at all
[Miscellaneous Android Development] urkelz:
works good so far :p just wondering how to access the tablet from windows? I connected usb cable but I don't see USB mass storage or any other access option?

---------- Post added at 08:25 PM ---------- Previous post was at 08:08 PM ----------

Oh snap forgot to install Powerpack maybe thats why USB not working.. but how to get that on sdcard now when I can't access from computer
[Miscellaneous Android Development] YetAnotherForumUser:
More Goodix documentation

I found some other documents which could be of interest for our fight against the jitterbug:

GOODIX_calibration_software_description.pdf

This document seems to describe the software used to calibrate the GT801 for specific applications. Feed it to your favourite translation engine to make (some) sense of it in case you don't read Chinese. Don't expect miracles from this document, I just put it here to try to get some insight in the workings of this touch panel controller.
[Miscellaneous Android Development] $$pasquale:
gapps and powerpack are not required. Powerpack is instable, is better don't use it.

I haven't problem with wifi and I don't know if there is only for you, however if you hadn't this problem with old version I can fix
[Miscellaneous Android Development] urkelz:
ok i found out I can use usb mass storage when booting in clockworkmod and mounting usb storage.

Everything works good for me better then official ainol firmware :D

I'm not sure what you guys mean with jitter. I don't have this problem. is it touchscreen responsiveness or what?
[Miscellaneous Android Development] YetAnotherForumUser:
GT801 meant for display < 7"

According to some forgotten page on the Goodix site the GT801 is actually meant for smaller displays than the 8" found in the Novo 8. This contradicts what I read elsewhere on the 'net, but seeing as this information comes straight from the horses' mouth I guess there is some truth in it after all. The GT801 has, as guessed, 15x10 sensor lines, scans at a 60 Hz refresh rate and was meant for 4.3"- 7" display sizes. For bigger displays they had chips with 30x20 sensor lines.

So far for the bad news.

Potentially good news is that the GT818 (which probably is the successor to the GT801) has some interesting sounding configuration registers:

0x6E3 R/W X_Co_Sm X 方向平滑控制变量,0-255 可配置,0 表示关

0x6E4 R/W Y_Co_Sm Y 方向平滑控制变量,0-255 可配置,0 表示关

("X/Y coordinate smoothing")

and

0x6E9 R/W Filter 丢弃数据帧数 坐标窗口滤波值,以 4 为基数

("Filter")

and

0x6EC R/W Noise_R 保留 白噪声削减量(低 nibble)有效

("Noise reduction")

If the GT801 has similar registers - and if we can find them - it sounds like it should be possible to smooth/filter out the jitter on the Y-channel.

I have not heard anything from Goodix yet, unfortunately. Goodix, if you're reading this, your product's reputation will be improved by helping out here. Ideally we'd like to have the programming documentation for the GT801 to allow us to reconfigure the chip or, if that is not enough, improve the driver to get rid of the jitter. There are many tablets out there with GT801 chips which suffer from some form of jitter.
[Miscellaneous Android Development] YetAnotherForumUser:
Count yourself lucky then, of maybe you just have not noticed it yet? The digitizer is inaccurate in the X-direction (tablet held in landscape position), the reported touch position jumps around. This makes it hard to do certain things, like drag icons around on the home screen or - when the jitter gets really bad - pushing buttons or typing text.

To see whether you have jitter, go to the settings screen, select 'Developer options' (bottom of the list), select 'Pointer location' and try to draw some vertical lines (in landscape position) or horizontal lines (in portrait position). If you have jitter, those lines will not be straight. Touch and hold, and you'll see horizontal (in landscape position) or vertical (portrait position) lines instead of dots.

If you don't have any jitter, I'd like you to post the result of the following command here:

adb pull /sys/devices/i2c-0/0-0055/ctpconfig

Post the resulting file (ctpconfig) here. It would be interesting to see if there are any differences...

---------- Post added at 04:25 PM ---------- Previous post was at 04:18 PM ----------

PS, psquare,

I noticed the Settings screen in the latest (RC1) release seems to be missing a number of options; there used to be settings for performance and the launcher which are missing in this release. Is this the result of an intentional removal or just an omission? I did actually use both options so if it is the former, know that those options did in fact get used by some even though they were mostly filled with scaffolding and 'experimental' warnings.
[Miscellaneous Android Development] urkelz:
i typed what you asked in terminal but it went like this:

* daemon not running starting it now on port 5038

* daemon started succesfully*

error: device not found.

My lines are like this

http://imageshack.us/f/807/20120316003.jpg/
[Miscellaneous Android Development] $$pasquale:
In beta releases I used CM9 version of Setting.apk but there were many bugs. Now I added standard ramos Setting.apk. Tonight I will release a new version, then I will use CM9 Setting
[Miscellaneous Android Development] urkelz:
ye there is some jitter in vertical lines I downloaded a paint program and the vertical lines werent as straight as the horizontal lines i drew
[Miscellaneous Android Development] buggatti:
I reflashed everything and now the WIFI is working great.

BTW awesome work psquare :D
[Miscellaneous Android Development] YetAnotherForumUser:
Assuming you have usb debugging turned on, you might need to coax the thing into actually enabling usb debugging. I do this using an app called 'adbWireless', which is meant to enable adb through the wifi-connection. In this case I don't actually use wifi, I just start the app, turn on wifi-debugging by pressing the big green button (which will turn red), disable it again (it turns back to green) and voila, usb debugging suddenly magically works. Thus far I've only had these problems in ICS, not in Gingerbread or Froyo. You'll find adbWireless in the market. It actually can come in handy to be able to debug through wifi, just don't enable it while on some public wifi network...
[Miscellaneous Android Development] runtah17:
need help...

how to use internal NAND flash as SD card?

i try to use usb flasdisk but it cannot see anyting on my ICS?

how to increase my internal storage?
[Miscellaneous Android Development] fripon33:
Googleplay

Buongiorno psquare,

thank you for this ROM :cool:

I am a beginner and I waited impatiently the ICS for NOVO8

Just one question

I am a big consumer of GooglePlay and I don't know how to install it?

Thank's for work :)

Ciao
[Miscellaneous Android Development] dobbytc:
First thank you for this great rom. it works fantastic.

I have just one problem; for some reason I don't seem to be able to connect the tablet to my PC using mass storage for both internal memory and/or SD card.
[Miscellaneous Android Development] hillbeast:
Are those lines straight but really thick, or is it really jittery the whole way down? I can't tell as the photo is a bit out of focus.
[Miscellaneous Android Development] maicros:
Hi, I just have install ICS_4.0.3-Novo8-psquare_1.0RC2 ROM and I am having some problems when try to update using GAPPS file (gapps-ics-20120304-signed.zip) from link on first page.

All time the tablet say that file signature isn't correct, ¿have someone same problems?

Thanks for this ROM and great work, it shows so good on my Ainol Novo8.
[Miscellaneous Android Development] YetAnotherForumUser:
Source of touch screen jitter confirmed: it is the TFT panel

OK, here's an interesting experiment. Try it, and you'll see just how accurate the touch screen actually can be.

First, open two adb shell sessions. In one of them you enter the following command:

getevent /dev/input/event5|grep '0003 0035'

This will show all X coordinate changes on the touch screen. Touch the screen, and you'll see a flood of numbers scrolling by:

...
0003 0035 000015ec
0003 0035 0000160a
0003 0035 00001621
0003 0035 0000161b
0003 0035 00001619
0003 0035 0000161a
0003 0035 00001603
0003 0035 00001612
0003 0035 00001621
0003 0035 00001628
0003 0035 000015ec
0003 0035 00001618
0003 0035 0000161e
0003 0035 0000162b
...

I held my finger in the same position on the screen, but as you see the reported coordinates vary wildly.

Now, in the other adb shell session enter the following command:

set_display_mode.sh 480p

The screen will go blank. Not just dim, the TFT panel is actually switched off as the display output is rerouted to one of the external display connections.

Hold your finger on the screen and watch the ouput in the first shell:

...
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
0003 0035 0000137e
...

Move your finger to make sure the screen is actually reporting valid coordinates. It is, and those coordinates are rock-steady. With or without the power supply connected, so that factor can also be removed from the equation.

To set the display back to the TFT panel, use the following command:

set_display_mode.sh panel

You can flip between these two (or others, see the set_display_mode.sh script) to see the difference.

So the culprit for the jitter has now been positively identified: it is the TFT panel. Switch it off, and touch is perfect. Switch it on, and touch jitters.

What can we do with this knowledge? It does not help to have a perfect touch screen when you don't see what you are about to touch... It depends on where the interference enters the touch chip: through the digitizer, through the connecting cable, through the power circuit, through the analog ground (pin 40 on the GT801 as far as I can tell)... but having identified the culprit does make things a bit easier. Maybe the touch controller can be synchronized to the TFT panel to keep the interference as low as possible?

More, as before, later...
[Miscellaneous Android Development] $$pasquale:
Sorry, I haven't had time for test,

I stopped working now...

Probably you need to install gapps and then GooglePlay... Now I don't know.. The next week I will write the way on first page.

bye
[Miscellaneous Android Development] $$pasquale:
You try to download gapps again then you use recovery on first page.

bye
[Miscellaneous Android Development] $$pasquale:
Currently ICS can't do it... find info on google

bye
[Miscellaneous Android Development] urkelz:
Why does battery drain in 10 hours when its in standby all time?
[Miscellaneous Android Development] $$pasquale:
Yes, indeed when I use HdmiSwitch the cursor is very stable.

Good test.

So, I tested with different brightness but I don't see any differences.
[Miscellaneous Android Development] YetAnotherForumUser:
Brightness level depends on the backlight, not on the TFT panel, so brightness level will not have any influence over the amount of jitter. The thing has LED backlight which is unlikely to induce interference.

Maybe it is possible to reprogram the panel to refresh at a different frequency, or to sync it to the digitizer. The hard way to fix this would be a translucent shield electrode between the panel and the digitizer (assuming that the jitter is induced in the digitizer itself, not in the connecting cable or indirectly through the power/ground circuitry etc). Unfortunately I've just run out of translucent shield electrodes ;-)
[Miscellaneous Android Development] h055:
Yes, all you need is already included in the GAPPS that one should install during flashing the ROM. The Google Market will then be upgraded to Play Store once you login to your Google account.
[Miscellaneous Android Development] maicros:
Thanks psquare, I have been able to update gapps with uImage recovery. This ROM works really fine with my tablet.

bye!
[Miscellaneous Android Development] runtah17:
help me..

after i installed this rom, my nand storage cannot mount, how can i mount so i can incrase my internal storage?
[Miscellaneous Android Development] MrRimmer:
Just installed RC2, combined with shielding the touch controller the screen is much more responsive than before, with much less jitter. More testing to come...
[Miscellaneous Android Development] daniel.eriksson:
Hey! finally first time i tested ICS. Really cool.

Install went well, updated to latest recovery and installed:

gapps-ics-20120304-signed.zip

Youtube did not access first, however, after market updated to play, it had an automatic update! i thought it would work after.. but sadly it still says:

"there was a problem starting up. Check your network connection and system time."

Aha! let me check the time and update. :)

update: no, correct time did nothing.

---------- Post added at 03:55 PM ---------- Previous post was at 03:47 PM ----------

Jeah, i had same issue, when i added latest uImage_recovery file it took the google app zip update. However, youtube is not working. (girlfriend cries).

---------- Post added at 03:57 PM ---------- Previous post was at 03:55 PM ----------

But are you sure? i used the latest recovery rom, and the latest gapps.

it updated youtube to "latest" after market updated to play..

still didnt work. you want me to reinstall the gapps using above file again?

UPDATE: Installed the .zip again in recovery. Google play remained, and youtube stayed unchanged and still not working.

UPDATE2: Dolphin flash browser works just fine with youtube.

UPDATE3: Wow, with dolphin, i could even look at HD videos on youtube..

UPDATE4: Its INCREDIBLY slow in games. have no idea why.. LD: Shrine, a normal tower game, playes around 1/10:th of the speed of my cortex a6 600mhz unit running 2.3 android. (zte blade)

QUESTION/OBSERVATION: Touch screen works A LOT better in vertical mode than horizontal mode..

I tried moving icons around on start screen in horizontal mode, basically impossible. vertical mode i could after 2-5 retries actually catch the icons to reorder them..
[Miscellaneous Android Development] urkelz:
RC2 works good.
[Miscellaneous Android Development] :
settings

Can you post the original settings.apk that you used in the beta please?
[Miscellaneous Android Development] MrRimmer:
So is Bluetooth still not working in RC2? Cannot turn it on even with bluetooth dongle present. I was hoping to play with a BT GPS receiver that I have here (Holux GPSlim).

Also, having the tablet plugged in makes touchscreen very jittery even though it is better (having been shielded) on battery.
[Miscellaneous Android Development] hillbeast:
I'm too scared to attempt to remove the digitiser from the panel. Might crack the glass.