[APP]Water-level/spirit-level - Touch Diamond, MDA Compact IV Themes and Apps

Current version is SpiritLevel_0.9.1.zip http://forum.xda-developers.com/attachment.php?attachmentid=98776
Now I re-engineered the spirit level app a little bit.
It can now also show the raw X, Y and Z tilt data. Thus, you can easily see how much the g-sensor might need to be calibrated. Just check the option "Show Raw Sensor Data" from the menu.
Calibrating for this app ONLY available in SpiritLevel_SVC0.9.zip

works very well, thx!

Great little App, nice one! The trick is using it on a surface that is flat and level to get an accurate reading.
Putting it on my desk at work:
x: 1 degree
y: 7 degree
x Tilt: -19
y Tilt: 117
z Tilt: -879
This keeps changing tho, which would indicate that the surface isnt very level.
Also looking at where the indicators are, it looks slightly off, but not enough to worry me thinks.
Congrats on the useful little app. Cheers!

Great app, but what if the g-sensor is not completely accurate?
as in this thread
http://forum.xda-developers.com/showthread.php?t=405691&highlight=sensor

Well, I could add an option that (somehow) calibrates the g-sensor, but only for this app. E.g. a menu entry "Calibrate" which, then asks you to put it on a perfect spot with 0° on X and Y axis and then maybe to 90 ° on X and Y axis. Maybe it will come - depends on my time. Maybe there is also a registry entry for this for the g-sensor.

fxxxxxx said:
Well, I could add an option that (somehow) calibrates the g-sensor, but only for this app. E.g. a menu entry "Calibrate" which, then asks you to put it on a perfect spot with 0° on X and Y axis and then maybe to 90 ° on X and Y axis. Maybe it will come - depends on my time. Maybe there is also a registry entry for this for the g-sensor.
Click to expand...
Click to collapse
thanks ;-)
Menkul

GREAT app ;-)
And even better if a calibration option is added.
This would help alot of people

fxxxxxx said:
Well, I could add an option that (somehow) calibrates the g-sensor, but only for this app. E.g. a menu entry "Calibrate" which, then asks you to put it on a perfect spot with 0° on X and Y axis and then maybe to 90 ° on X and Y axis. Maybe it will come - depends on my time. Maybe there is also a registry entry for this for the g-sensor.
Click to expand...
Click to collapse
this would be a great option. Currently the app displays x tilt: 270 when my phone is laying down on my desk. and it would be great if i could calibrate it from this position so that X an Y are back to 0

Ok, there is a new version in post #1. With that version you can calibrate the g-sensor, but ONLY for the spirit-level/water-level application. Currently it has no other effect. I am not sure if there is a way to "calibrate" the g-sensor globally.

On the table in my office I get:
X: 3-4°
Y: 355-357°
X Tilt: -59
Y Tilt: -59
Z Tilt: 820
But the values are not steady, even if I do not move the device the numbers
are changing about twice a second.
Do others have the same behavior?

Yes, it is the same behavior here.
X: 2-3°
Y: 357-359°
X Tilt: ~ -39
Y Tilt: ~ -19
Z Tilt: ~ -938
Keep in mind, that 358 ° is only 2° from 0 ° away.

cool app
TML1504 said:
On the table in my office I get:
X: 3-4°
Y: 355-357°
X Tilt: -59
Y Tilt: -59
Z Tilt: 820
But the values are not steady, even if I do not move the device the numbers
are changing about twice a second.
Do others have the same behavior?
Click to expand...
Click to collapse
I have the same experience regarding the switching values.

fxxxxxx said:
Keep in mind, that 358 ° is only 2° from 0 ° away.
Click to expand...
Click to collapse
yop, thats clear!
at least i hope so...
if not i would have to return my degree in mechanical engineering

TML1504 said:
if not i would have to return my degree in mechanical engineering
Click to expand...
Click to collapse
me too
sorry for OT

nice software

ykat said:
cool app
I have the same experience regarding the switching values.
Click to expand...
Click to collapse
Me 2.............

X: 353
Y: 8
X Tilt:96
Y Tilt: 136
Z Tilt: -899

X: 0
Y: 2
X Tilt: 0 (+/- 5)
Y Tilt: 37 (+/-2)
Z Tilt: -770 (+/-15)
Not so bad ^_^
And, as Diamond back cover isn't really flat, I tried watch results when the face of the Diamond was on my desk... hum... not transparent huhu. So I launched Resco Screen Capture (comes with Resco Photo Viewer) and take the screen after 10sec (I made 5 test)
Results :
X: 180 (only 1 time with 179)
Y: 179 (1° better )... and one time : 180°
X Tilt:0 (each time)
Y Tilt : ~8 (different values : 18, 18, 8, 8, 3)
Z Value : ~1200 (different values : 1206, 1206, 1201, 1190, 1172)

Calibration bug fixed, new version in post #1

yess! very good, now it's a real tool for my job. But i've question : the calibrating function is very important for the diamonds missaligned. But can you add an option for saving data after calibrating? it isn't possible to calibrate in any situation and it can be fun to have a single calibration a the first start of spirit-level... thanks by advance and sorry for my bad english

Related

[proof of concept app]Gesture recognition

I recently saw this tread:
http://forum.xda-developers.com/showthread.php?t=370632
i liked the idea, and when i thought about it, gesture recognition didn't seem to hard. And guess what - it really wasn't hard
I made a simple application recognizing gestures defined in an external configuration file. It was supposed to be a gesture launcher, but i didn't find out how to launch an app from a winCE program yet. Also, it turned out to be a bit to slow for that because of the way i draw gesture trails - i'd have to rewrite it almost from scratch to make it really useful and i don't have time for that now.
So i decided to share the idea and the source code, just to demonstrate how easy it is to include gesture recognition in your software.
My demo app is written in C, using XFlib for graphics and compiled using CeGCC so you'll need both of them to compile it (download and install instructions are on the Xflib homepage: www.xflib.net)
The demo program is just an exe file - extract it anywhere on your device, no installation needed. You'll also need to extract the gestureConfig.ini to the root directory of your device, or the program won't run.
Try some of the gestures defined in the ini (like 'M' letter - 8392, a rectangle - 6248, a triangle - 934), or define some of your own to see how the recognition works. Make sure that you have a string consisting of numbers, then space of a tabulator (or more of them) and some text - anything will do, just make sure that there's more than just the numbers in each line. Below you can set the side sensitivity to tweak recognition (see the rest of the post for description on how it works). Better leave the other parameter as it is - seems to work best with this value.
Now, what the demo app does:
It recognizes direction of drawn strokes, and prints them on the bottom of the screen as a string of numbers representing them (described bellow). If a drawn gesture matches one of the patterns in the config file, the entire drawn gesture gets highlited. It works the best with stylus, but is usable with finger as well.
Clicking the large rectangle closes the app.
And how it does it:
The algorithm i used is capable of recognizing strokes drawn in eight directions - horizontally, vertically and diagonally. Directions are described with numbers from 1 to 9, arranged like on a PC numerical keyboard:
Code:
7 8 9
4 6
1 2 3
So a gesture defined in config as 6248 is right-down-left-up - a ractangle.
All that is needed to do the gesture recognition is last few positions of the stylus. In my program i recorded the entire path for drawing if, but used only 5 last positions. The entire trick is to determine which way the stylus is moving, and if it moves one way long enough, store this direction as a stroke.
The easiest way would be to subtract previous stylus position from current one, like
Code:
vectorX=stylusX[i]-stylusX[i-1];
vectorY=stylusY[i]-stylusY[i-1];
[code]
But this method would be highly inaccurate due to niose generated by some digitizers, especially with screen protectors, or when using a finger (try drawing a straight line with your finger in some drawing program)
That's why i decided to calculate an average vector instead:
[code]
averageVectorX=((stylusHistoryX[n]-stylusHistoryX[n-5])+
(stylusHistoryX[n-1]-stylusHistoryX[n-5])
(stylusHistoryX[n-2]-stylusHistoryX[n-5])
(stylusHistoryX[n-3]-stylusHistoryX[n-5])
(stylusHistoryX[n-4]-stylusHistoryX[n-5]))/5;
//Y coordinate is calculated the same way
where stylusHistoryX[n] is the current X position of stylus, and stylusHistoryX[n-1] is the previous position, etc.
Such averaging filters out the noise, without sacrificing too much responsiveness, and uses only a small number of samples. It also has another useful effect - when the stylus changes movement direction, the vector gets shorter.
Now, that we have the direction of motion, we'll have to check how fast the stylus is moving (how long the vector is):
Code:
if(sqrt(averageVectorX*averageVectorX+averageVectorY*averageVectorY)>25)
(...)
If the vector is long enough, we'll have to determine which direction it's facing. Since usually horizontal and vertical lines are easier to draw than diagonal, it's nice to be able to adjust the angle at which the line is considered diagonal or vertical. I used the sideSensitivity parameter for that (can be set in the ini file - range its is from 0 to 100). See the attached image to see how it works.
The green area on the images is the angle where the vector is considered horizontal or vertical. Blue means angles where the vector is considered diagonal. sideSensitivity for those pictures are: left one - 10, middle - 42 (default value, works fine for me ), right - 90. Using o or 100 would mean that horizontal or vertical stroke would be almost impossible to draw.
to make this parameter useful, there are some calculations needed:
Code:
sideSensitivity=tan((sideSensitivity*45/100)*M_PI/180);
First, the range of the parameter is changed from (0-100) to (0-22), meaning angle in degrees of the line dividing right section (green) and top-right (blue). hat angle is then converted to radians, and tangent of this angle (in radians) is being calculated, giving slope of this line.
Having the slope, it's easy to check if the vector is turned sideways or diagonal. here's a part of source code that does the check, it is executed only if the vector is long enough (condition written above):
Code:
if( abs(averageVectorY)<sideSensitivity*abs(averageVectorX) ||
abs(averageVectorX)<sideSensitivity*abs(averageVectorY)) //Vector is turned sideways (horizontal or vertical)
{
/*Now that we know that it's facing sideways, we'll check which side it's actually facing*/
if( abs(averageVectorY)<sideSensitivity*averageVectorX) //Right Gesture
gestureStroke='6'; //storing the direction of vector for later processing
if( abs(averageVectorY)<sideSensitivity*(-averageVectorX)) //Left Gesture
gestureStroke='4';
if( abs(averageVectorX)<sideSensitivity*(averageVectorY)) //Down gesture
gestureStroke='2';
if( abs(averageVectorX)<sideSensitivity*(-averageVectorY)) //Up gesture
gestureStroke='8';
}
else
{ //Vector is diagonal
/*If the vector is not facing isdeways, then it's diagonal. Checking which way it's actually facing
and storing it for later use*/
if(averageVectorX>0 && averageVectorY>0) //Down-Right gesture
gestureStroke='3';
if(averageVectorX>0 && averageVectorY<0) //Up-Right gesture
gestureStroke='9';
if(averageVectorX<0 && averageVectorY>0) //Down-Left gesture
gestureStroke='1';
if(averageVectorX<0 && averageVectorY<0) //Up-Left gesture
gestureStroke='7';
}
Now, we have a character (i used char type, so i can use character strings for string gestures - they can be easily loaded from file and compared with strcmp() ) telling which way the stylus is moving. To avoid errors, we'll have to make sure that the stylus moves in the same direction for a few cycles before storing it as a gesture stroke by increasing a counter as long as it keeps moving in one direction, and resetting it if it changes the direction. If the counter value is bigger than some threshold (pathSensitivity variable is used as this threshold in my program), we can store the gestureStroke value into a string, but only if it's different from previous one - who needs a gesture like "44444" when dragging the stylus left?
After the stylus is released, you'll have to compare generated gesture string to some patterns (eg. loaded from a configuration file), and if it matches, do an appropriate acton.
See the source if you want to see how it can be done, this post already is quite long
If you have any questions, post them and i'll do my best to answer.
Feel free to use this method, parts of, or the entire source in your apps. I'm really looking forward to seeing some gesture-enabled programs
Very nice work. Reading your post was very insightful, and I hope this can provide the basis for some new and exciting apps!
great app... and well done for not just thinking that seems easy... but actually doing it...
ive been a victim of that myself
very nice work man.. one question in which tool did you write code.. i mean it looks like C but how you test and all..
Great app, i see that it is just proof of concept at this stage, but i see that it can be used in future applications control
Continiue with your great work
nik_for_you said:
very nice work man.. one question in which tool did you write code.. i mean it looks like C but how you test and all..
Click to expand...
Click to collapse
It is C, (no "++", no "#", no ".NET", just god old C ) compiled with opensource compiler CeGCC (works under linux, or under windows using cygwin - a unix emulator), developed in opensource IDE Vham (but even a notepad, or better notepad++ would do), tested directly on my Wizard (without emulator). I used XFlib which simplifies graphics and input handling to a level where anyone who ever programed anything at all should be able to handle it - it providea an additional layer between the programmer and the OS. You talk to Xflib, and Xflib talks to the OS. I decided to use this library, because i wanted to try it out anyway.
If i decide to rewrite it and make an actual launcher or anything else out of it, i'll have to use something with a bit faster and more direct screen access (probably SDL, since i already done some programing for desktop PC with it) - XFlib concentrates on usage of sprites - like 2D console games. every single "blob" of the gesture trail is a separate sprite , which has to be drawn each time the screen is refreshed - that is what slows down the app so much. The gesture recognition itself is really fast.
Very good program i just test it and it works very well some combinaison are pretty hard to realize but i like this blue point turning red with command2 and 934. Goond luck , i'll continue to see your job maybe you'll code a very interesting soft.
Interesting work.... would like to see this implemented in an app, could be very useful.
If you want I have some code I did for NDS coding, and which I ported on PocketPC for XFlib.
It works perfectly well and I use it in Skinz Sudoku to recognize the drawn numbers.
The method is pretty simple : when the stylus is pressed, enter the stylus coordinates in a big array. And when it's released, it takes 16 points (could be changed depending on what you need) at the same distance from each other, checks the angle, and gives you the corresponding 'char'.
To add new shapes, it's just a 15 character string which you link to any char (like, link right movement to 'r', or 'a', or a number, or whatever ^^). It works for pretty much any simple shape, and I even used it to do a graffitti-like thing on NDS which worked really well
Hey!
How do you get the last Stylus Positions?
and how often do you read them out
I want to realice such a code under vb.net, but I don't know how i should read out the last stylus positions, to get them perfectly for such calculations
Code:
Private Sub frmGesture_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
If StylusJump = 1 Then
StylusJump += 1
If (CurrentStylusPosition.X <> frmGesture.MousePosition.X) Or (CurrentStylusPosition.Y <> frmGesture.MousePosition.Y) Then
LastStylusPosition(9).X = LastStylusPosition(8).X
LastStylusPosition(9).Y = LastStylusPosition(8).Y
LastStylusPosition(8).X = LastStylusPosition(7).X
LastStylusPosition(8).Y = LastStylusPosition(7).Y
LastStylusPosition(7).X = LastStylusPosition(6).X
LastStylusPosition(7).Y = LastStylusPosition(6).Y
LastStylusPosition(6).X = LastStylusPosition(5).X
LastStylusPosition(6).Y = LastStylusPosition(5).Y
LastStylusPosition(5).X = LastStylusPosition(4).X
LastStylusPosition(5).Y = LastStylusPosition(4).Y
LastStylusPosition(4).X = LastStylusPosition(3).X
LastStylusPosition(4).Y = LastStylusPosition(3).Y
LastStylusPosition(3).X = LastStylusPosition(2).X
LastStylusPosition(3).Y = LastStylusPosition(2).Y
LastStylusPosition(2).X = LastStylusPosition(1).X
LastStylusPosition(2).Y = LastStylusPosition(1).Y
LastStylusPosition(1).X = CurrentStylusPosition.X
LastStylusPosition(1).Y = CurrentStylusPosition.Y
CurrentStylusPosition.X = frmGesture.MousePosition.X
CurrentStylusPosition.Y = frmGesture.MousePosition.Y
End If
Dim LabelString As String
Dim iCount As Integer
LabelString = "C(" & CurrentStylusPosition.X & "\" & CurrentStylusPosition.Y & ")"
For iCount = 1 To 9
LabelString = LabelString & " " & iCount & "(" & LastStylusPosition(iCount).X & "\" & LastStylusPosition(iCount).Y & ")"
Next
lblGesture.Text = LabelString
ElseIf StylusJump <= 3 Then
StylusJump += 1
Else
StylusJump = 1
End If
End Sub
Sorry, i didn't notice your post before. I guess that you have the problem solved now, that you released a beta of gesture launcher?
Anyway, you don't really need 10 last positions, in my code i used only 5 for calculations and it still worked fine.
Nice thread, thanks for sharing.
Human-,achine interface has always been an interesting subject to me, and the release of ultimatelaunch has sparked an idea. I am trying to acheive a certain look-and-feel interface - entirely using components that are today screen and ultimatelaunch compatible. Basically a clock strip with a few status buttons at the top, and an ultimatelaunch cube for the main lower portion of the screen - gesture left/right to spin the cube, and each face should have lists of info / icons scrolled by vertical gesture. I'm talking big chunky buttons here - tasks, calendar appts, (quick) contacts, music/video playlists - all vertical lists, one item per row, scrolling in various faces of the cube.
Done the top bit using rlToday for now. Set it to type 5 so scrollbars never show for the top section. All good. Cobbling together bits for the faces, but few of the apps are exactly what I want, some (like that new face contacts one) are pretty close, and being a bit of an armchair coder, I thought now would be a good opportunity to check out WM programming and see if I can't at least come up with a mockup of what I want if not a working app.
I was wondering if anyone could advise me on whether I should bother recognising gestures in such a way as this. Does WM not provide gesture detection for the basic up, down, left, right? Actually, all the stuff I have in mind would just require up/down scrolling of a pane - I was thinking that I may well not need to code gesture support at all, just draw a vertical stack of items, let it overflow to create a scrollbar and then just use the normal WM drag-to-scroll feature (if it exists) to handle the vertical scrolling by gesture in the face of the cube. I would rather keep the requirements to a minimum (eg touchflo), both for dependancy and compatibility reasons, so maybe doing the detection manually would be the "way to go", I dunno.
Did you release source with the app launcher? A library maybe? I intend to go open source with anything I do, so if you are doing the same then I would love to have access to your working code
Nice work man.
Impressive.

Can you sample a vertical movement of the device?

I'm trying to sample a gesture of physically moving the device up and down (not necessarily tilting it) - is this possible?
The only values that i get either from the accelerometer/orientation/magnetometer is from tilting the device..
yes.
download "Sensor Test" from the market to see what sensor data is available to your program
sensing a jerk is easy simply root sum squates (RSS) the accelerometer values and test against some threshold.
If you want to know up from down you need to rotate the acceleration values by the normalized orientation vector.
Then integrate acceleration with respect to time.
p = (1/2)at^2 + vt +p;
if you want relative sample to sample movements you can simplify by assigning initial conditions to 0... thus
p = 1/2at^2.
p = change in position
t = change in time from sample to sample.
now the accelerometer is probably only accurate to 0.1 G which is very poor
so don't expect super accurate distances.
machine learning gesture algorithm
Thanks, but unfortunately "elevator" like movements can't be detected by simply using any of the sensors.
i guess for that you'll need to manipulate some data using the device's camera.
or for a simpler solution, check if any natural vertical movement is joined with some tilt to the device which can be easily sensed by any of the built in sensors.
But for anther topic, do you know by any chance where could i find a working machine learning gesture algorithm?

[INFO] Auto-Backlight Settings for Cyanogenmod ROMs

Some of you would already know that the lightsensor filter in the Evo kernels is now working ( I would say atleast 80% working ) and responds best to Desire builds.
I have it working just fine for the last few hours on the AndroidMedaUltimate 1.3 version. Here are my settings in case you wanna try out.
CAUTION : If you change the values too many times, lightsensor stops responding and you will not see any changes in values. I believe thats CM related.
My Setup
Build : AndroidMedaUltimate 1.3
Kernel : StockEvo Autobuild dated Oct 29
(No SetCpU/taskkillers/etc)
1. Make sure Auto Brightness is disabled under Settings->Display
2. Goto Settings->Cyanogenmod Settings->User Interface->Automatic Backlight
3. Under Light Sensor filter, make sure Enabled is unchecked (No filters!)
4. Under Light levels, check "Allow Light Decrease" and set "Decrease hysteresis" to 0% (Yes thats no typo, for some reason sensor responds faster this way )
5. Check "Use Custom"
6. Tap on Edit Other Levels...
7. Now set values as in below screenshot and table
Lower ....... Upper ............Screen...........Buttons
0 ____________ 169 _______________ 85 _____________ 255
170 __________ 279 _______________ 120 ____________ 255
280 __________ 749 _______________ 170 ____________ 255
800 __________ () _______________ 254 ____________ 255
Note - The last value is 254, for some reason when I had it as 255 and went outside, brightness got stuck at max and sensor stopped responding
Click to expand...
Click to collapse
8. Tap Save & Apply
9. Wait for few seconds and try covering and changing light, you should see the sensor values change on top
10. Once that starts happening, enable Auto Brightness under Display settings
11. Reboot (Best Practice )
---------------
You can add more levels and adjust the lower/upper range alongwith the Screen values (30-255) to suit you better. However, the more you change it the more its likely to end up not working. Dont know why.
Interesting, will be testing this today with Shubcraft 2.0 and post my findings.
thanks, done the changes and testing with Htcclays V1.4.
edit: it is working very well for me.no lightsensor issue for me.
many thanks for your tip.
Thank you works grat
v-b-n said:
1. Make sure Auto Brightness is disabled under Settings->Display
2. Goto Settings->Cyanogenmod Settings->User Interface->Automatic Backlight
3. Under Light Sensor filter, make sure Enabled is unchecked (No filters!)
4. Under Light levels, check "Allow Light Decrease" and set "Decrease hysteresis" to 0% (Yes thats no typo, for some reason sensor responds faster this way )
5. Check "Use Custom"
6. Tap on Edit Other Levels...
7. Now set values as in below screenshot and table
8. Tap Save & Apply
9. Wait for few seconds and try covering and changing light, you should see the sensor values change on top
10. Once that starts happening, enable Auto Brightness under Display settings
11. Reboot (Best Practice )
---------------
You can add more levels and adjust the lower/upper range alongwith the Screen values (30-255) to suit you better. However, the more you change it the more its likely to end up not working. Dont know why.
Click to expand...
Click to collapse
Thanks very much for this, a few questions if you please.....
I'm using Typhoon 3.8.0.
I'm finding these settings under
Settings->Cyanogenmod Settings->Display->Automatic Backlight
not
Settings->Cyanogenmod Settings->User Interface->Automatic Backlight
And I don't know if that has any underlying significance - like it not being implemented in the same way in Typhoon?
Secondly you don't mention the "screen dim level" setting I see in the same "Display" menu. I've wound it down to 6 (default is 20), but not seeing much difference?
Thirdly, I've used the settings in the "other levels" as your table shows, but I wonder why you used those settings, what drove you to pick those numbers?
Finally, you talk about changing it too much stopping it working....when that happens what do you do to revert? Reboot? Or return to defaults and reboot? or something else?
Thanks, I'm hoping this will help balance out the fact that up to now I've not used auto-brightness so as to keep the battery life up but it's a bit of a pain in bright light to see the screen....
Thanks

[HELP] TouchScreen Nokia Lumia 620 CHINESE GENERIC

Hi good day to all , look I commented that I had the misfortune to make my first purchase online and has been a rev3 touchscreen for my Nokia Lumia 620, I had my doubts that I had read enough complaints and others but good cheapskate that I am I decided to buy it. Turned out to be a Chinese imitation, if the screen is not sooo bad , but I came NG vertically touchscreen function is inverted ! Let the coordinates are those that are inverted .. From top to bottom , instead horizontally and do not .. Obviously the corresponding claim because publication of ML say that the screen is 100 % original, is not it! But they say that should not have misplaced this screen or the other thing , and defraud people , good order as I said this inverted vertically , I was reading a lot on forums and trying to find the solution stop me with this in internet ..
You open the firmware to modify the editor dragon face and loads the firmware to edit , you go to advanced settings, then " system settings " , you will open the file script.bin . Then look for the following lines :
[ ctp_para ]
ctp_used = 1 (1 or 0 according to this on or off the touch)
ctp_name = " gt811_ts " (name of driver ic touch here GT811 )
ctp_twi_id = 1 ( do not touch these lines )
ctp_twi_addr = 0x5d ( not touch these lines )
ctp_screen_max_x = 800 (horizontal resolution of the screen)
ctp_screen_max_y = 480 (vertical resolution of the screen)
ctp_revert_x_flag = 0 ( if we write 1 we invest touch horizontally)
ctp_revert_y_flag = 0 ( if we write 1 we invest touch vertically)
ctp_exchange_x_y_flag = 0 ( if we write one reverses the XY coordinates)
The first thing to check is that the horizontal and vertical resolution in the script matches the resolution of our lcd screen, the most common for 7 "tablets is 800 × 480 although this and popularizing the 1024 × 600, if the resolution not for the touch of the finger will look bad record.
If the touch screen is vertically inverted ctp_revert_y_flag change the value , and if this change ctp_revert_x_flag inverted horizontally , in some cases the two are reversed . If this does not work , leave the values ​​at the beginning and edit the entry ctp_exchange_x_y_flag .
This is an example of what you mean to imply, that I quoted is for editing allwinner firmware and I thought that the only way to not take the disappointment of never again able to use either my lumia 620 could also edit the firmware lumia 620, but how? I have no idea how to open it nor to modify it, I try to access the settings of the touch, or is editing via software to invest vertically from the driver or the driver for the touch, and so could be used FINALLY well my phone, anyone would be so kind as to give me a hand? I want help to do it! I do not ask you do, in any way.
From already thank you very much, Cristian.
PD: I think the idea is good plus it might help people with the same problem as me! That sure will be many.
Ch3z7er said:
Hi good day to all , look I commented that I had the misfortune to make my first purchase online and has been a rev3 touchscreen for my Nokia Lumia 620, I had my doubts that I had read enough complaints and others but good cheapskate that I am I decided to buy it. Turned out to be a Chinese imitation, if the screen is not sooo bad , but I came NG vertically touchscreen function is inverted ! Let the coordinates are those that are inverted .. From top to bottom , instead horizontally and do not .. Obviously the corresponding claim because publication of ML say that the screen is 100 % original, is not it! But they say that should not have misplaced this screen or the other thing , and defraud people , good order as I said this inverted vertically , I was reading a lot on forums and trying to find the solution stop me with this in internet ..
You open the firmware to modify the editor dragon face and loads the firmware to edit , you go to advanced settings, then " system settings " , you will open the file script.bin . Then look for the following lines :
[ ctp_para ]
ctp_used = 1 (1 or 0 according to this on or off the touch)
ctp_name = " gt811_ts " (name of driver ic touch here GT811 )
ctp_twi_id = 1 ( do not touch these lines )
ctp_twi_addr = 0x5d ( not touch these lines )
ctp_screen_max_x = 800 (horizontal resolution of the screen)
ctp_screen_max_y = 480 (vertical resolution of the screen)
ctp_revert_x_flag = 0 ( if we write 1 we invest touch horizontally)
ctp_revert_y_flag = 0 ( if we write 1 we invest touch vertically)
ctp_exchange_x_y_flag = 0 ( if we write one reverses the XY coordinates)
The first thing to check is that the horizontal and vertical resolution in the script matches the resolution of our lcd screen, the most common for 7 "tablets is 800 × 480 although this and popularizing the 1024 × 600, if the resolution not for the touch of the finger will look bad record.
If the touch screen is vertically inverted ctp_revert_y_flag change the value , and if this change ctp_revert_x_flag inverted horizontally , in some cases the two are reversed . If this does not work , leave the values ​​at the beginning and edit the entry ctp_exchange_x_y_flag .
This is an example of what you mean to imply, that I quoted is for editing allwinner firmware and I thought that the only way to not take the disappointment of never again able to use either my lumia 620 could also edit the firmware lumia 620, but how? I have no idea how to open it nor to modify it, I try to access the settings of the touch, or is editing via software to invest vertically from the driver or the driver for the touch, and so could be used FINALLY well my phone, anyone would be so kind as to give me a hand? I want help to do it! I do not ask you do, in any way.
From already thank you very much, Cristian.
PD: I think the idea is good plus it might help people with the same problem as me! That sure will be many.
Click to expand...
Click to collapse
i'm in a same situation. i hope exist a solution.
Ch3z7er said:
Hi good day to all , look I commented that I had the misfortune to make my first purchase online and has been a rev3 touchscreen for my Nokia Lumia 620, I had my doubts that I had read enough complaints and others but good cheapskate that I am I decided to buy it. Turned out to be a Chinese imitation, if the screen is not sooo bad , but I came NG vertically touchscreen function is inverted ! Let the coordinates are those that are inverted .. From top to bottom , instead horizontally and do not .. Obviously the corresponding claim because publication of ML say that the screen is 100 % original, is not it! But they say that should not have misplaced this screen or the other thing , and defraud people , good order as I said this inverted vertically , I was reading a lot on forums and trying to find the solution stop me with this in internet ..
You open the firmware to modify the editor dragon face and loads the firmware to edit , you go to advanced settings, then " system settings " , you will open the file script.bin . Then look for the following lines :
[ ctp_para ]
ctp_used = 1 (1 or 0 according to this on or off the touch)
ctp_name = " gt811_ts " (name of driver ic touch here GT811 )
ctp_twi_id = 1 ( do not touch these lines )
ctp_twi_addr = 0x5d ( not touch these lines )
ctp_screen_max_x = 800 (horizontal resolution of the screen)
ctp_screen_max_y = 480 (vertical resolution of the screen)
ctp_revert_x_flag = 0 ( if we write 1 we invest touch horizontally)
ctp_revert_y_flag = 0 ( if we write 1 we invest touch vertically)
ctp_exchange_x_y_flag = 0 ( if we write one reverses the XY coordinates)
The first thing to check is that the horizontal and vertical resolution in the script matches the resolution of our lcd screen, the most common for 7 "tablets is 800 × 480 although this and popularizing the 1024 × 600, if the resolution not for the touch of the finger will look bad record.
If the touch screen is vertically inverted ctp_revert_y_flag change the value , and if this change ctp_revert_x_flag inverted horizontally , in some cases the two are reversed . If this does not work , leave the values ​​at the beginning and edit the entry ctp_exchange_x_y_flag .
This is an example of what you mean to imply, that I quoted is for editing allwinner firmware and I thought that the only way to not take the disappointment of never again able to use either my lumia 620 could also edit the firmware lumia 620, but how? I have no idea how to open it nor to modify it, I try to access the settings of the touch, or is editing via software to invest vertically from the driver or the driver for the touch, and so could be used FINALLY well my phone, anyone would be so kind as to give me a hand? I want help to do it! I do not ask you do, in any way.
From already thank you very much, Cristian.
PD: I think the idea is good plus it might help people with the same problem as me! That sure will be many.
Click to expand...
Click to collapse
How can i open the FFU file? Which program? Everybody know?
Touch screen
Sir! Is there any way to edit NEW firmwares, after I update my Lumia 620 I can't use Touch anymore, I always have to reflash it with some other Product key, please help if you have a solution, I think It's something like missing driver for Chinese Digitizer..
Newsgone
Nice brand i have used it. it was good operated. and new app in it.
good job
Ch3z7er said:
Hi good day to all , look I commented that I had the misfortune to make my first purchase online and has been a rev3 touchscreen for my Nokia Lumia 620, I had my doubts that I had read enough complaints and others but good cheapskate that I am I decided to buy it. Turned out to be a Chinese imitation, if the screen is not sooo bad , but I came NG vertically touchscreen function is inverted ! Let the coordinates are those that are inverted .. From top to bottom , instead horizontally and do not .. Obviously the corresponding claim because publication of ML say that the screen is 100 % original, is not it! But they say that should not have misplaced this screen or the other thing , and defraud people , good order as I said this inverted vertically , I was reading a lot on forums and trying to find the solution stop me with this in internet ..
You open the firmware to modify the editor dragon face and loads the firmware to edit , you go to advanced settings, then " system settings " , you will open the file script.bin . Then look for the following lines :
[ ctp_para ]
ctp_used = 1 (1 or 0 according to this on or off the touch)
ctp_name = " gt811_ts " (name of driver ic touch here GT811 )
ctp_twi_id = 1 ( do not touch these lines )
ctp_twi_addr = 0x5d ( not touch these lines )
ctp_screen_max_x = 800 (horizontal resolution of the screen)
ctp_screen_max_y = 480 (vertical resolution of the screen)
ctp_revert_x_flag = 0 ( if we write 1 we invest touch horizontally)
ctp_revert_y_flag = 0 ( if we write 1 we invest touch vertically)
ctp_exchange_x_y_flag = 0 ( if we write one reverses the XY coordinates)
The first thing to check is that the horizontal and vertical resolution in the script matches the resolution of our lcd screen, the most common for 7 "tablets is 800 × 480 although this and popularizing the 1024 × 600, if the resolution not for the touch of the finger will look bad record.
If the touch screen is vertically inverted ctp_revert_y_flag change the value , and if this change ctp_revert_x_flag inverted horizontally , in some cases the two are reversed . If this does not work , leave the values ​​at the beginning and edit the entry ctp_exchange_x_y_flag .
This is an example of what you mean to imply, that I quoted is for editing allwinner firmware and I thought that the only way to not take the disappointment of never again able to use either my lumia 620 could also edit the firmware lumia 620, but how? I have no idea how to open it nor to modify it, I try to access the settings of the touch, or is editing via software to invest vertically from the driver or the driver for the touch, and so could be used FINALLY well my phone, anyone would be so kind as to give me a hand? I want help to do it! I do not ask you do, in any way.
From already thank you very much, Cristian.
PD: I think the idea is good plus it might help people with the same problem as me! That sure will be many.
Click to expand...
Click to collapse
thaks
PHP:
help
fuccetz said:
thaks
PHP:
Click to expand...
Click to collapse
Hello, how i do to change the y orientation in the software ?

[Q] proximity sensor accurate values

Hi,
using the service diagnostic application on my s4 I can read a range of values (ADC) from proximity sensor spanning from 0 to 255 (they are more or less proportional to the object distance). Is there a method to get this values within a native (or ndk) app. With the standard android api I get only near/far value.
Thanks,
Marco
marco.co said:
Hi,
using the service diagnostic application on my s4 I can read a range of values (ADC) from proximity sensor spanning from 0 to 255 (they are more or less proportional to the object distance). Is there a method to get this values within a native (or ndk) app. With the standard android api I get only near/far value.
Thanks,
Marco
Click to expand...
Click to collapse
*#0*#
Sensors.
"If someone helps, never forget to hit thanks ? "
DeepankarS said:
*#0*#
Sensors.
"If someone helps, never forget to hit thanks ? "
Click to expand...
Click to collapse
I know that, I would like to replicate the same behaviour by code into one of my apps.

Categories

Resources