Related
Could an app be developed to use the gsensor and measure distances. I was thinking you could press a button to start a measurement move your phone press another button and we could see the distance in feet meters etc. is this feasable
commodore65 said:
is this feasable
Click to expand...
Click to collapse
no.
go and get a tape measure and selotape it to the side of ur phone
It would get pretty complicated. Your phone would have to keep track of each and every different acceleration and the duration of that acceleration to then calculate out the distance traveled during each acceleration. Since we are human I highly doubt we can keep a constant enough acceleration to measure anything short. It does seem to me that the longer the distance being measured (maybe in a moving car as foot steps may throw the measurment off) the better chance there could be for accuracy as the small accelerations that would normally throw off the measurement would be less of a problem. (then again I am a physicist and not a phone programmer so I don't know how accurate the accelerometers in these phones are).
I bet something could be written to tell you how far the phone has been dropped... if you could keep the phone from rotating during the fall. The acceleration of gravity is constant and that would be an easy calculation that could just cut off as soon as the acceleration changes drastically (when it stops falling suddenly). Then again I am physicist not a programmer.
If someone wants to try feel free to ask me for a set of fairly simple equations or help with the math. I doubt most people that program will need that help though.
i think the G sensor in the phone is a bit too "hit-and-miss" for this application, it would require a very fine tuned, high contrast sensor (most likely costing more than the phone!)
it you want to do a large distance, then u could use the GPS positioning, but yet again, wont be very accurate.
+ 1
i subscribe to this program but I don't believe is posible. I'm an architect so I'd strongly need it. you can youse GPS for outside mesurements and you can use SuperRuler for smole mesurements or distance mesurements.
http://www.pocketdevelop.com/index.aspx
I dont think its that much of a stretch. Using tweeter i find the sensor is extremely accurate and sensitive. While i dont need the app, basically as he said press start and then start moving the phone left or right up or down and press stop.
However since the sensor is not made to do that, i could be totally wrong it it is not possible at all. Basically because the sensor is made to track tilt movements and not distances. Lol im basically debating with myself
xboxhaxorz said:
I dont think its that much of a stretch. Using tweeter i find the sensor is extremely accurate and sensitive. While i dont need the app, basically as he said press start and then start moving the phone left or right up or down and press stop.
However since the sensor is not made to do that, i could be totally wrong it it is not possible at all. Basically because the sensor is made to track tilt movements and not distances. Lol im basically debating with myself
Click to expand...
Click to collapse
it might work
It's all relative, I can play teeter on a train!
uniqueboy said:
It's all relative, I can play teeter on a train!
Click to expand...
Click to collapse
If you're playing tweeter on a train traveling near the speed of light and I am at the train station watching you play teeter as you pass by, is the ball falling in the whole or the whole falling around the ball? Where was I going with this? Oh yeah would this tape measure have to account for time dilation? I mean the Lorentz equations are the most accurate set of linear coordinate transformations we have, right? As you move the phone time will dilate, lengths will contract and let's not even mention the rotation of objects from the phone's perspective... wait did I just mention it by stating that I wasn't going to mention it?
Like I stated before... it is completly possible to measure distance using nothing but acceleration information... beyond that the accuracy in your measurement will depend on the accuracy of the device measuring the acceleration(s). Of course you may have to get into the rate of change of you acceleration (the rate of change of the rate of change of the rate of change of your position) which is called jerk.
Beherrschen said:
it is completly possible to measure distance using nothing but acceleration information...
Click to expand...
Click to collapse
Erm guys, this is only a lil bit right ;D You can't measure a distance with an accelerometer... very well. As the word says, it measures accelerations... so if you walk 10 Meters to check the distance, your Device only accelerates the first meter when you start walking... when you walk with the same speed the accelerometer shows:
0
(at this moment it has to know how fast your speed has to be when you accelerated in the first x seconds with x G's to calculate how many meters you walked within the x seconds till the -G starts when you stop ... almost impossible ;D )
Absolutely 100% not possible, for any kind of practical purpose.
If the device could be held exactly flat, it would be just about possible to use acceleration data to make a guess at speed and therefore at distance... but it would be such a wild guess it would not be useful.
A visual estimate will always be better!
Phexi said:
Erm guys, this is only a lil bit right ;D You can't measure a distance with an accelerometer... very well. As the word says, it measures accelerations... so if you walk 10 Meters to check the distance, your Device only accelerates the first meter when you start walking... when you walk with the same speed the accelerometer shows:
0
(at this moment it has to know how fast your speed has to be when you accelerated in the first x seconds with x G's to calculate how many meters you walked within the x seconds till the -G starts when you stop ... almost impossible ;D )
Click to expand...
Click to collapse
Seems like you told me I was only partially correct but then the second part of what you wrote seemed to agree that it possible (maybe not practical) to calculate distance traveled from nothing but acceleration information. It is possible to calculate distance traveled from nothing but acceleration (and the duration of each acceleration but that goes without saying since you must always know the duration of a motion to determine distance) information.
For example: If you have a situation where there is an initial acceleration A1 for t1 seconds, followed by a contstant speed S for t2 seconds, and finished off with another negative acceleration A2 for t3, then you have all the information needed to determine the overall distance traveled. During the first section of our travel the acceleration, A1, and the duration of that acceleration, t1 are can be used to calculate your total distance during that acceleration. A1 and t1 can also be used to calculate the speed you are traveling at the end of the initial acceleration, S. Use S and t2 to calculate the distance traveled during the constant speed portion. Then use S, A2 and t3 to calculate the distance traveled during the final accleration (even if your final speed isn't zero). Equations below:
Set 1: acceleration = A, velocity (speed) = V, distance = X, time = T, initial = i and final = f
starting with the assumption of constant acceleration then each successive equation can be derived by integrating the previous equation with respect to time.
A = A
Vf = At + Vi
Xf = (1/2) A (T^2) + Vi T + Xi
Set 2: also at constant acceleration with the same key as above.
A = (Vf - Vi)/T
V(average) = (Vf + Vi)/2 = (Xf - Xi)/T
Either set of equations can be used. They are basically the same set of equations. One derived using calculus (Set 1) and the other using conceptual ideas of motion (Set 2). With a little algebra both sets can be derived from eachother. If you add in an inconstant acceleration (jerk) then the equations become more complicated and I am not gonna derive them out here.
I am sticking to my is it possible but most likely not practical. Unless you came up with a way to maybe statistically ignore any little outlyer type accelerations... anyway, I am rambling. Feel free to let me know if you can't solve a problem like the one I stated above using those equations and I wll be glad to help.
Beherrschen said:
Seems like you told me I was only partially correct but then the second part of what you wrote seemed to agree that it possible (maybe not practical) to calculate distance traveled from nothing but acceleration information. It is possible to calculate distance traveled from nothing but acceleration (and the duration of each acceleration but that goes without saying since you must always know the duration of a motion to determine distance) information.
For example: If you have a situation where there is an initial acceleration A1 for t1 seconds, followed by a contstant speed S for t2 seconds, and finished off with another negative acceleration A2 for t3, then you have all the information needed to determine the overall distance traveled. During the first section of our travel the acceleration, A1, and the duration of that acceleration, t1 are can be used to calculate your total distance during that acceleration. A1 and t1 can also be used to calculate the speed you are traveling at the end of the initial acceleration, S. Use S and t2 to calculate the distance traveled during the constant speed portion. Then use S, A2 and t3 to calculate the distance traveled during the final accleration (even if your final speed isn't zero). Equations below:
Set 1: acceleration = A, velocity (speed) = V, distance = X, time = T, initial = i and final = f
starting with the assumption of constant acceleration then each successive equation can be derived by integrating the previous equation with respect to time.
A = A
Vf = At + Vi
Xf = (1/2) A (T^2) + Vi T + Xi
Set 2: also at constant acceleration with the same key as above.
A = (Vf - Vi)/T
V(average) = (Vf + Vi)/2 = (Xf - Xi)/T
Either set of equations can be used. They are basically the same set of equations. One derived using calculus (Set 1) and the other using conceptual ideas of motion (Set 2). With a little algebra both sets can be derived from eachother. If you add in an inconstant acceleration (jerk) then the equations become more complicated and I am not gonna derive them out here.
I am sticking to my is it possible but most likely not practical. Unless you came up with a way to maybe statistically ignore any little outlyer type accelerations... anyway, I am rambling. Feel free to let me know if you can't solve a problem like the one I stated above using those equations and I wll be glad to help.
Click to expand...
Click to collapse
For this to work we would have to stop the rotation of the Earth, but then there is not a stationary point anywhere in the universe, so I will never be able to measure the train I was on playing teeter. I always loved Newtons equations of motion especially the one A=A
uniqueboy said:
For this to work we would have to stop the rotation of the Earth, but then there is not a stationary point anywhere in the universe, so I will never be able to measure the train I was on playing teeter. I always loved Newtons equations of motion especially the one A=A
Click to expand...
Click to collapse
Actually if we are going special relativity on this problem then we also need to eliminate any form of gravity since special relativity only applies to inertial frames of reference. And since I am not about to break out the tensor mathematics of general relativity, then it would seem we are SOL in finding out what really did happen with your teeter game. :-(
Just remember: Things are the way they are because if things weren't they way they are we wouldn't be here asking why are things the way they are.
Anyone else having as much fun as I am with this thread?
IDEA:
I have thought of a way to at least get a close approximation to this. I am not a programmer but it seems to me this should be possible. The area under the graph of acceleration vs time is velocity. Make a program that would plot the information acceleration vs time information on a graph in excel. Then, after the recording is finished, the program could go in at fixed intervals, turn the smoth graph into a point to point graph with straight lines from point to point (using the line of best fit feature in excel... assuming it is also in excel mobile...) and calculate out areas under the curve. Then you would have all the information needed, velocity and duration of each velocity, to easily calculate out distance. Now this would be an approximation and never be exact. But even calculators only give you Tailor Series approximations. The smaller the interval taken on the graph the more accurate the final distance would be. You could even make it work with an adjustable interval so the sensitivity could be adjusted.
To better explain my idea for manipulating the graph then picture a sine graph. On it's own it is a nice smooth wave looking graph that repeats every 2pi (don't want to look up the symbol for pi to type. just take 3.14159 = pi). Now imagine you marked a point every 0.5pi on that curve and then connected the points together with a straight line. You would end up with a saw tooth graph. Now what if you did that at every 0.2pi, or .1pi, or... you get my drift. The smaller the interval that you make a point and connect it the closer and closer you get to a good approximation of the original sine graph (much the way Archamedes used ever increasing numbers of triangles inside a circle to approximate its circumference and calculate pi). The advantage of doing this is to eliminate calculus and use nothing but algebra.
This could all be done without graphing and just having the program do the math tiself but why not let excel do the work? I could be way off and using excel this way may suck from a programming point of view, but this is how I would handle a lot of data if I were given a bunch of acceleration and time information. Making the sensitivity and accuracy changable by allowing the user to define how far apart to set the points could allow for some decent measurements. I think if done right even outlying movements (slight tilting of the phone or taking a step or two) could be negated by the approximation.
Let me know what people think. Even if this doesn't work maybe it will inspire a better idea!!
I have noticed that my HTC Touch HD consistently shows heights incorrectly - about 50m too high where I live. After some research I have identified that the NMEA message GGA contains 0 in field 11 (Geoid separation) which should contain the difference between the ellipsoid height and mean sea level height. In my Mio A701 this field contains 50.5, which explains the 50m error on the HTC.
Despite searching this forum I have been unable to find any reports of this problem. Has anyone else experienced it?
What gps chipset does the HTC Touch HD use? My copy of Sirftech does not work on it, so perhaps it is not the Sirf ?
Is there any way to correct this error?
Thanks for any information
Edit
The problem has been solved thanks to the GpsModDriver which performs this correction (amongst other things), and which can be found at http://forum.xda-developers.com/showthread.php?t=571266.
rpettipher said:
What gps chipset does the HTC Touch HD use? My copy of Sirftech does not work on it, so perhaps it is not the Sirf ?
Is there any way to correct this error?
Click to expand...
Click to collapse
It uses the Qualcomm GPSone receiver, this isn't a discrete component as a SiRF chip would be, but is integrated into the 7201A chipset
Sounds like you need to try to flash a few different radios.
GPS height error
Thanks for the information about the chipset.
Because of that I found a small program (MyGPS) which is largely based on an MS SDK demonstration, and that gives the correct height !!
As I understand it, please correct me if I am wrong, that program uses the MS SDK primitives to get information from the GPS without going through the NMEA messages (?). If it can get the correct answer then the GPS must be working, but the NMEA messages, and the programs using them (ozi explorer, visualgps ...) are wrong.
It would be very helpful if someone could confirm that they do see non-zero values in field 11 of the GGA NMEA message (between the two Ms) on an HTC Touch HD.
(One easy way to see the messages is to use the log feature of visualgps).
Thanks for your help
Actually, I noticed it, and I programmed a soft-coded separation correction into the program GPSVP: http://code.google.com/p/gpsvp/
Not many chipsets have the separation. To date, I had none in my hands, other than when using a 'real' garmin connected via a cable to my PC.
Additionally, I have encountered no program that does the correction, other than gpsVP, in which I programmed that myself. I shall check that MyGPS, if it is correct, but I am sceptical, I do not believe that MS would strip the info from the chipset, nor do I believe MS has a softcoded correction.
I guess I could write some sort of serial loopback to insert the logic into other programs, but I am far to busy.
EDIT: just so you know: I only programmed this very small part into gpsVP, the rest is done by others.
GPS height error
Thanks for the reply cybermaus, unfortunately I am not sure what you are saying.
What did you notice ? Zero in field 11 of the GGA message?
Are you suggesting that most chipsets put 0 in field 11?
This is certainly not the case with my Mio A701 with the Sirftech chip, which puts 50.5 into that field and gives me accurate altitude values.
It seems (I am still learning) that there are two ways to get the information from the gps, either parsing the NMEA messages or using the MS API.
In my case it seems that the first way fails and the second works.
Which does your program use, and how have you made the correction?
Thanks (in advance) for your patience with these questions.
Well, yes, I am saying that the devices I encountered, all gave 0 in that field, except actual Garmin handhelds connected by serial. Also, I learned from reading in the internet, that many other people noticed the same. But that does not mean there are none. I believe any real Sirf III will do it correct, but I have a Sirf II dongle witch also does it wrong.
It even turns out there are a few devices, that put 0 in that field, but already subtract the correct separation from the geoid height, so you should not correct the value yourself.
The geoid separation is stable, and well known, you can look up the value for every coordinate on the internet. Also it varies only with a few meters per degree in the steepest places. The steepest separation is west of the mountains range of Peru. The biggest separation is a 100 mtr hole in the sea south of India.
What I did was program a hardcoded matrix with 10 degree resolution (to keep it small) with the correct geoid separation value. The program than takes your coordinates, and *interpolates* these in the matrix, to find your separation. I found it will yield the correct value within 1.5 mtrs, which is well within the GPS precision.
Also, if my program finds there is already a separation value in the field, it will *not* apply the correction, because it knows the chipset behaves properly.
If you want more details, browse the source to gpsVP. Unfortunately, you will not be able to use it for other programs if you are not a programmer or do not have access to the source of those other programs.
As I said, if I have some time, I will check out the MS API you mentioned, there is indeed a new API data structure in WM 6.1 and above, I played with it, but I did not check it for this parameter specifically. However, I am skeptical. I find it more likely the programmer from MyGPS did something similar as myself.
As to your Mio A701. Good. I said I did not encounter any other than the dedicated GPS handhelds from Garmin, but that does not mean there are none. To be quite honest, I only held 5 or so non-Garmins, so who knows.
I think the problem is not widely recognized because most people use GPS in 2D, for navigation. This 3D is more for people doing hiking, with programs like gpsVP or Ozi. Pilots and paragliders may have a 3D GPS, but know better than using it for altitude (I am a paraglider myself)
BTW: Ozi also does not correct the value, I checked.
GPS height error
Thanks again for the comprehensive reply.
I am surprised that you say that most GPSs give incorrect altitudes due to the missing geoid separation field, since I have seen a lot of discussion about this problem, mostly several years old, so I assumed that any modern chipset would have it sorted. I am also surprised that no-one with an HTC Touch HD (for instance) has complained about it.
Do you have an HTC Touch HD, and are therefore confirming that this model is faulty? That is - the NMEA message GGA field 9 gives height above ellipsoid and field 11 is 0.
I would still appreciate input from any other HTC Touch HD owner on the values in these fields.
As you say, and as I have seen, ozi explorer does not do a manual correction in the way you do. It does not need to when the NMEA messages are correct since field 9 is specified to contain height above MSL.
It does, however, have an option to subtract the geoid separation field from the value in field 9 to correct for the (other faulty) case where field 9 contains the height above ellipsoid and field 11 gives the geoid separation. If I use this option on the HTC it changes nothing, since field 11 is 0, but on the Mio it then gives me heights 50m too low (as would be expected).
I will now try your program.
Well, this not just my program, I only supplied 1% of the code, it just happens to be this particular part.
Anyway, yes, I do have a Touch HD. And yes, I am talking about the GGA message fields. One with altitude according to WGS84 ellipsoid, and one with the separation of said ellipsoid from the actual geoid according to the '96 model. Probably indeed fields 9 and 11, though I have not looked at the code for a few months, but it sounds about right.
Your MIO has a real Sirf III chipset. I would have expect that to work, because my Garmin also has a Sirf III in it. But as stated, I have a dongle with Sirf II, and that did not have the correction. Neither did the other dongles I have, but granted, they are all a bit aged and budget quality. Maybe my experiences are a non representative sample
But I confirm the Touch HD is faulty, and I suspect other HTC's and many other brands & models with non-dedicated chips. These do not have a real GSM chip, but a generic secondary ARM cpu shared with the GSM radio function and other radio functions like WiFi, UMTS, Bluetooth and probably even FM.
----
The way I understand it, the original GPS specifications did not have the separation specification. In '84, they simply did not realize that a simple mathematical ellipsoid model for earth and earth gravity was so incorrect.
It was only after the launch of the GSM network that they started to realize that there were so many fluctuations in the local gravity of the earth, which causes this effect, that they came up with the new '96 numerical geoid, rather than the mathematical '84 ellipsoid. Or something like that.
Of course, if HTC wanted, they could program the similar correction into the radio chip firmware, it is simple and small code. And it is 14 years after the fact. But I think they simply do not see the need.
----
If you start to use gpsVP, and you go hiking off-road, please note I find it best to use with GARMIN vector maps. I can also downloads Bing and Google raster maps, but those are not good in off-road data, though the satellite view is sometimes nice.
All in all, the program is a bit 'coarse' in its use. If you understand what it does (vector maps and preloaded cache for raster maps), it has value, but you will not be able to impress friends who are used to the smooth Google map application.
GPS height error
Thanks again cybermaus.
I tried the gpsvp program, both in the htc and the Mio. On both machines I got a correct altitude and a value of 51 for the geoid separation field, which compares well with the 50.5 which appears in the GGA messages on the Mio, so it looks as if your calculation works well.
I tried changing the value of the Geoid separation parameter in the setup options, trying auto, always and never, and in all cases got exactly the same results for altitude and geoid separation, so I am a bit puzzled. Does the setup option change anything, or does one have to do something else to activate it?
Well, the setup part of it is not complete yet, I think it is essentially always auto. Need to find the time and motivation to complete the coding. Log a case in the gpsVP website please.
I do not have much to contribute, but yes, living in Switzerland and hiking in the mountains I have also noticed that the altitude was wrong.
I first thought it was the inherent imprecision of the GPS, but then remarked that it was systematically off by several tens of meters.
I was also surprised that nobody complained, now I know that I am not alone.
I wish that programs like Ozi could apply the correction, or at least allow entering a fixed offset.
Thanks to cybermaus for explaining it.
Will give a try at gpspv.
GPS height error
Thanks marder.
Could you try running visualgps with the log activated, then look at the log file for the message $GPGGA? If the 11th field, between the two Ms, is always 0 then it proves the point.
I remain very surprised at the lack of complaints about this, if it is such a common problem.
But why would people complain? Or even notice?
The height error is absolute, but in differential measurements, it still works well. In other words, if you have a height, and you walk up a hill, it will give you a higher height (most of the time, and within margin of error). And most people are not aware of their absolute altitude anyway. Lets face it, if you live in Moscow, and the device tells you you are at 200mtrs, why would you distrust it?
I only noticed because I live at sea-level (Holland). You only noticed because you live in an area with above average separation, and got annoyed with two devices giving you 2 different values. And marder probably scratched his head when encountering these "xxxx above sea" markers which you get when hicking in the mountains. He would not encounter such markers in the city he lives.
Face it, if you had not had you Mio, would you have noticed? Or be able to confirm it?
Of course, once we know, we think it is unacceptable. Thats human nature, myself included.
But there are other people who did see it. Searching for keywords geoid and gps shows this thread, and the program appears also to have a fixed geoid position.
Like I said before, did you try different radios? As this affects the functions of the GPS. I had this problem too but flashing to the latest radio cleared it right up, along with making the gps now lock on with a strong signal within 8 seconds. Going through the complicated route of coding things to fix it is a bit pointless when others have fixed it before you. I'm not saying it will definitely clear it up for you, but taking 20mins to try a few radios is probably worth your time.
Oh and a good way to tell if it's accurate or not, for anyone else wondering, is to check on google earth for the "elevation".
GPS height error
cybermaus, I expect you are right - people do not notice.
I certainly did notice, independently of the Mio, by comparing the heights marked beside the autoroute that I use with those displayed by the HTC.
But you are right in that without the experience of the Mio I might well have assumed that it was due to some inherent inaccuracy in the GPS system and not searched further (and not found the thread at http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=10915 where this is all explained).
stuntdouble, thanks for the input. I assume that flashing new radios is trivial for you, but somewhat more traumatic for people like me, aware that a problem during the process can end with a dead phone. Could you perhaps tell me
1. Does it actually correct the problem i.e. does the NMEA message $GPGGA give a non-zero value in field 11?
2. Do I lose all my programs and data in the process
3. Which of these many radios do you recommend
4. Where do I find it/them
5. Are you sure it will work on my phone (which is apparently of Malaysian origin)?
6. What is the procedure?
Sorry for the interrogation but this is not as easy for me as it is for you.
For information I have:
ROM version 1.18.707.3 (23358) WWE
ROM date 12/10/08
Radio version 1.09.25.14
Protocol version 52.49a.25.26U
rpettipher said:
stuntdouble, thanks for the input. I assume that flashing new radios is trivial for you, but somewhat more traumatic for people like me, aware that a problem during the process can end with a dead phone. Could you perhaps tell me
1. Does it actually correct the problem i.e. does the NMEA message $GPGGA give a non-zero value in field 11?
2. Do I lose all my programs and data in the process
3. Which of these many radios do you recommend
4. Where do I find it/them
5. Are you sure it will work on my phone (which is apparently of Malaysian origin)?
6. What is the procedure?
Sorry for the interrogation but this is not as easy for me as it is for you.
Click to expand...
Click to collapse
1. Yes. All seemingly corrected.
2. No programs are touched as long as it's a successful flash. Radio is separate from the rest of the device's memory. Just backup your device with Sprite Backup or SPB Backup before you try it, in case you do need to do a hard reset. This way you can get your device back to exactly the way it was before.
3. The one in my sig fixed mine. However every device is different so you would need to find the best radio for your own device. I'd start with the latest and work backwards though if I were you.
4. Get them here.
5. If it doesn't work, it doesn't work. You can always re-flash your old radio if you wish. However I suggest you ask in the radio thread before trying, which radio would be best for your operator. There will be plenty of people who will know this and have tried it before you have I'm sure. The radio info is based on your operator and not on country of origin for the phone.
6. Easy procedure is in link above.
I'm not guaranteeing this will fix your problem, but it really is easy to do and well worth attempting as like I said it fixed it easily for me. It also increased battery life dramatically, and the faster gps fix like I mentioned before.
I understand that it may seem difficult on first read. I felt that way too when I first tried it. But it really is very simple and I was wondering what I was scared of after I tried it. Just follow the instructions in that thread carefully and there won't be any problems. If you use windows vista/7 then make sure you run as admin if you are flashing via the pc. Good luck.
Sorry guys.
I have followed most of the radio updates, and never noticed this being fixed. I have to admit, I never checked since I updated to 1.17 radio, so I checked just now, and it still reports 0 meters separation and at 43 meters altitude (at the coastline of Holland...) So for clarity, I logged out the NMEA messages, and all $GPGGA mssages give 43.5,M,0,M for field 9 through 12. On the latest 1.17 radio.
While theoretically possible they fix it in the radio, it still has not been done, not even at 1.17. I guess you either have the luck of living in a region where geoid and ellipsoid are very close to each other, and/or you are not aware of your true absolute altitude.
GPS height error
Thanks guys now I am confused.
I suppose we need to know what "seemingly corrected" means.
Has stuntdouble actually seen the NMEA messages with the correct data?
Rom update
I do not know about taking "20mins to try a few radios" - I have spent several times that amount just reading some of the information relating to flashing!!
But then I am a slow reader.
Following the links I eventually found what is apparently the 1.17 radio rom on a support page of the HTC site.
I am puzzled to see that it is described as for South Africa only, and concerned to see that it says it is only for ROM version less than or equal to 1.14.421.5. when my ROM is 1.18.707.3.
Should I be concerned and should I also be concerned about the caution when starting the program that it will destroy all the information on my phone?
Just being cautious, especially as I do not know what improvements if any I will see.
Hi all, I know there are threads already created for questions etc but I've an extensive list of them and I don't think its appropriate to spam them in someone else's thread. And I'll update the first post of the answers and replies I've received for the questions I've posted!
My phone's information: will5's MIUI ROM 2.5.25 GB 2.3.7
My list of questions
Android OS
::Hard rebinding hard keys::
Is that possible? My power button recently got damaged and its really tough to press the power button now which is quite a problem, is there any way to rebind the power button to say the camera button? (specifically the 2nd-click of the camera button, not the first click (focus)) MS2Toolbox is able to wake screen with the camera button but thats just soft-sided and I need to hard bind for turning on the phone and using the recovery etc... :crying:
::Allow app to stay active when screen-off and when not in foreground:: http://forum.xda-developers.com/showpost.php?p=29658020&postcount=95
I want to let my app, specifically Opera Mobile, to be constantly active as I run a script (user javascript) on it which repeats its function periodically. Is there a way to keep it active throughout deep-sleep, or when in the background? Currently its working well when I switch the screen off as long the app was in the foreground. The script and Opera Mobile still runs perfectly and I do not experience battery drain (weird). I have been doing so for the past few months and it takes probably only 30% of my battery overnight when I sleep despite the periodic data connection. However, this didn't happen on the MIUIv4 ROM when I tested it. The app is 'frozen' or suspended, it seems, the moment I switch the screen off. Tried apps which disabled deep sleep etc but didn't work. Any ideas?
Overclocking
::What are the default VSELs for the respective frequency for MS2?::
I know there's one here http://forum.xda-developers.com/showpost.php?p=11620994&postcount=1 by santiemanuel, but it gives VSELs WAY above those I'm using or the defaults from MS2Toolbox. Say, for 300MHz, the stock vsel is 33 and 30 is considered unstable. How ever the default in MS2Toolbox for that frequency is 17 if I'm not wrong. I'm using that at the moment and it seems to be running fine (used powersave governor to enforce 300MHz to test it out). Just to confirm, should I really follow that table?
WiFi
::Changing Milestone 2's WiFi MAC address::
Hi guys, I've been trying to look for a way to change my M2's MAC address but have not been able to get it to work.
I've googled up for methods but the common ones do not work.
Tried so far:
- The nvram.txt file
Can't find it in the usual folders stated.
- busybox ifconfig tiwlan0 hw ether <MAC>
- busybox ip link set dev tiwlan0 addr <MAC>
Tried these two commands but didn't work either in terminal emulator. Even did the off-on-immediately spam commands but no luck.
Unsorted
Code:
http://forum.xda-developers.com/showpost.php?p=29675172&postcount=905
::SOLVED::
Overclocking
::How do I check the current VSEL and frequency at any point in time?::
I'm trying to underclock and ultra-undervolt to save as much battery as possible and want to know how's the selected governor working in order to manually optimize the settings to my preferences.
::How do I know its an unstable VSEL?::
Q: Quite vague a question but... as said in the first question, I'm running 300MHz at a VSEL of 17 instead of 33, nearly half of the stock. How would I be able to tell if its unstable? When I'm running in powersave governor, it shows that the 'system' process stopped responding at boot and I've the wait/close option, but after selecting wait the dialog disappears and the phone still works as per usual. However its very sluggish, clearly because of the underclock. Regardless, does the system process being unresponsive at the start shows it is unstable?
A: djlooka via PM
djlooka said:
...My suggestion is: try with that setvsel app for defy (see my answer in the CM9 thread) which comes with a useful mini-stress tester app (you can install it from within the main OC app). It can stress test every single freq step, so you can find its 'sweet-spot-vsel'.
One could also think that there's some advantage in fine tuning the middle steps. IMHO it's wasted time
After some days of tweaking, I realized that our phone will stay in the two the middle steps (combined) for less than 5% of the time. So even if you could save some % of the power by losing 1 or 2 vsel points (let's say 10% of the original vsel), the "on the road" gain would be infinitesimal (10% x 5% = 0.5%).
Anyway it's fine to OCD a bit even about those 2 steps
My final word is: find the lowest possible vsel for both the top and bottom freqs by stress testing. To be extra careful, raise them by one point for rock solid.
E.g.: 300-22 is the best combo for my lowest step -> I put 300-23, and so on.
Click to expand...
Click to collapse
::3 steps shown in the bootloader but 4 shown in MS2Toolbox::
Q: This has been bugging me recently. I've read recently that the M2 has 4 steps for its CPU. So the CPU actually follows the 4 steps shown in MS2Toolbox or the 3 in the bootloader? Note: When I change the values in the bootloader, the values changes respectively in MS2Toolbox for the 2nd,3rd,4th rows (did not tick auto apply in M2T to prevent overlaps with bootloader settings). But the 1st row shows values lower than the one in the 2nd row automatically.
A: djlooka @ http://forum.xda-developers.com/showpost.php?p=29806494&postcount=908
djlooka said:
...Our phone, instead has 4 steps (300, 600, 800, 1000 MHz - the same as the Defy+).
AFAIK, when you set a configuration which allows only 3 steps (in the bootmenu), the hw internally adjusts to have the last 2 steps equal (e.g. 300, 600, 800, 800 MHz).....
Click to expand...
Click to collapse
Applications
MX Player - Does not require codecs. If it requests for ARMv7 NEON codec, get the NEON version of the player instead.
Hi,
I haven't been in here a while. Mostly because I rarely use my 32Gb (2012) N7 anymore; it is simply too painful of an experience. Typically I will pick it up for web browsing, but after the browser or keyboard hangs for tens of seconds for the fifth time in ten minutes, I feel like chucking it against a wall.
Don't tell me I need to free up some space; it has 25 GB of free space in /data
Don't tell me I need f2fs; I'm running CM 12.1 (20151117) / 5.5.1 with /data and /cache formatted as f2fs
Code:
[email protected]:/ $ mount | grep f2
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache f2fs rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,discard,user_xattr,inline_xattr,acl,inline_data,inline_dentry,active_logs=6 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data f2fs rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,discard,user_xattr,inline_xattr,acl,inline_data,inline_dentry,active_logs=6 0 0
I've filled (to within a few 100 MB) the device and deleted all those files; no real improvement.
So anyway - since I haven't been keeping up, I'm wondering if anyone had been able to shine some more light on what seems to be progressive degradation of eMMC write performance with use (independent of choice of OS, kernel, fs types etc). I suppose this is some sort of wear-leveling/write amplification thing but I can't say for sure.
I really liked this tablet for the first 18 months I owned it; I'm not trolling anyone here. Note that I don't believe this is a situation with faulty hardware (it never crashes or spontaneously reboots - eventually it always comes out of it's hangs (but maybe not for 30-40 seconds). My device has just gotten progressively worse with time, to the point of unbearability.
Have there been any new developments or findings in the last several months?
I use Parrot Mod with Stock 5.1.1 on my N7 3G and I have acceptable performance on it. Ok, Chrome is not the fastest but much faster than before applying the Mod.
http://forum.xda-developers.com/showthread.php?t=3300416
bftb0 said:
Hi,
I haven't been in here a while. Mostly because I rarely use my 32Gb (2012) N7 anymore; it is simply too painful of an experience. Typically I will pick it up for web browsing, but after the browser or keyboard hangs for tens of seconds for the fifth time in ten minutes, I feel like chucking it against a wall.
Don't tell me I need to free up some space; it has 25 GB of free space in /data
Don't tell me I need f2fs; I'm running CM 12.1 (20151117) / 5.5.1 with /data and /cache formatted as f2fs
Code:
[email protected]:/ $ mount | grep f2
/dev/block/platform/sdhci-tegra.3/by-name/CAC /cache f2fs rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,discard,user_xattr,inline_xattr,acl,inline_data,inline_dentry,active_logs=6 0 0
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data f2fs rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,discard,user_xattr,inline_xattr,acl,inline_data,inline_dentry,active_logs=6 0 0
I've filled (to within a few 100 MB) the device and deleted all those files; no real improvement.
So anyway - since I haven't been keeping up, I'm wondering if anyone had been able to shine some more light on what seems to be progressive degradation of eMMC write performance with use (independent of choice of OS, kernel, fs types etc). I suppose this is some sort of wear-leveling/write amplification thing but I can't say for sure.
I really liked this tablet for the first 18 months I owned it; I'm not trolling anyone here. Note that I don't believe this is a situation with faulty hardware (it never crashes or spontaneously reboots - eventually it always comes out of it's hangs (but maybe not for 30-40 seconds). My device has just gotten progressively worse with time, to the point of unbearability.
Have there been any new developments or findings in the last several months?
Click to expand...
Click to collapse
Just install parrotmod and you'll notice the difference
I'm using N7 as a main device with Pure Nexus ROM + parrotmod and installed Facebook, messenger, facebook groups, asphalt 8 and about 60 other apps still works fine without lag!
Thanks for the quick feedback everyone.
I'll read through that entire thread and look at the github too.
Already I see I've got Kingston eMMC (manfid 0x000070) , ugh.
Does Trimmer accomplish the same thing as trim on boot, or is it possible to re-enable trim-on-boot on a Kingston device if not? (I just leave the tablet on, so boot time isn't a huge deal to me.)
PS for anyone interested I stumbled across an older version of JESD84 (.pdf)
Please, don't think too much about chips, trimming, file systems etc. Simply apply the Mod and be happy.
Your N7 then will be faster than before.
mausbock said:
Please, don't think too much about chips, trimming, file systems etc. Simply apply the Mod and be happy.
Your N7 then will be faster than before.
Click to expand...
Click to collapse
Performance optimization is always, always about details. In particular, tuning that benefits one type of workload usually makes another one worse.
If I'm sitting behind a full queue of I/O and the CPU is idling at 8% usage, tweaking the GPU or adding BT functionality isn't going to do me a whit of good.
But I'll give lines 58-74 of 01ParrotMod.sh a roll and see how it goes.
PS for anyone else reading this thread: the Trimmer app doesn't do anything on f2fs. (That app is basically a wrapper around a BusyBox version of fstrim; it dies without doing anything but the app doesn't record that in it's log.)
It's Your life. You can spend Your whole time in analyzing this old tablet and its firmware. You can also try dozens of custom roms or custom kernels, format partitions with f2fs etc. Mostly You will still have a laggy N7.
In past I also tried many things like wiping cache, limiting background processes and other tweaks in developer options.
Parrotgeek did a lot of research and many people like are happy with the result.
By the way, f2fs is auto trimming. There is no need to call fstrim manually or by script.
mausbock said:
It's Your life. You can spend Your whole time in analyzing this old tablet and its firmware.
Click to expand...
Click to collapse
You are probably right I suppose. I guess the downside of buying inexpensive commodity hardware is that it is designed for a 2-3 year life cycle, maybe less.
Makes me wonder how much usable life span I gave up by letting the tablet sit at idle condition instead of turning it off - all those slow but non-zero write cycles inexorably chewing away at MLC/TLC write endurance lifetime, and that in turn causing progressively higher write amplification & lower usability/performance.
I can understand that - compared to other types of appliances / equipment that people buy - that expectations of usable lifetime for computers has always been rather short. Mostly because a replacement would be dramatically better/faster/more capable than the older gear. (In contrast, nobody expects to replace their toaster oven every two years - they won't be getting dramatically better toast every few years)
On the other hand, this is a subtly worse situation: not only are the replacement products better, but the older product is actually getting worse with time. Imagine buying a car model with a top speed of 100 mph; but during each year of ownership it's top speed drops by 20mph. It is impossible to remain satisfied even at a fixed level of performance if that functionality is continuously eroding.
Kind of a new-age planned obsolescence I guess. Just keep buying!
@bftb0 I am still using the N7 as my daily driver. I am running trim every two days (it helps especially when there is a lot of write access on your tablet, e.g. installing new apps, etc.) and I have set the background task limit to 4. With these settings on MM I can live quite well. Even if there are from time to time some lags, but most of the time I do not even notice them ...
AndDiSa said:
@bftb0 I am still using the N7 as my daily driver. I am running trim every two days (it helps especially when there is a lot of write access on your tablet, e.g. installing new apps, etc.) and I have set the background task limit to 4. With these settings on MM I can live quite well. Even if there are from time to time some lags, but most of the time I do not even notice them ...
Click to expand...
Click to collapse
I'm using f2fs for /data and /cache, so explicit "fstrim" is not needed. Which flash memory chip do you have? I think that probably accounts for some of the differences in reports. (The "eMMC" flash memory usage model hides some details of wear leveling and even the basic memory cell type and ECC design within the chip itself - so chips from two vendors can perform similarly at the beginning of their lifespan, but quite differently towards the end as they start to engage in more page replacement activity - the methods they use to implement wear leveling are not mandated to be identical by the eMMC specification)
I have the 32 Gb model with the eMMC flash memory chip apparently mfg'ed by Kingston. (manfid 0x70)
I do have a 16GB version with MAG2GA (Samsung), rev. 0x05 (which should have even the TRIM bug ... 8-0)
I've been using Resurrection Remix for a long time with the screen overclocked to 82 hz and also the lastest gpu adreno drivers and it is a good rom for gaming, i play mainly shooters like call of duty and pubg, but after a lot of time playing i noticed a slightly delay in the response of the screen and i am pretty sure it is not a hardware or even a software problem because I haven't installed anything on my device in a long time, so it's just my reflexes that have improved a lot, reading a little I realized that the problem is related to the screen touch sampling rate and also that you can actually know the sampling rate of your screen using adb so i tried it on my device and it gives me a value of 120 hz, another user but from the redmi k20 pro reported that gives it a value of 120 hz too but using the game booster in MIUI that value goes up to 180 hz, but the problem is, i dont like MIUI so I need the help of everyone who reads this to try it out and tell me what rom are you currently using and what value it gives, it only takes a few minutes to do
so, the steps
1: Enable the developer options and the usb deugging
2: Conect your phone and open adb command prompt.
>> Adb devices
>>Adb shell getevent -r -t -l
3: Then scroll on mobile screen and you will see the touch sampling rate
4: Post your results here obviously including the name of the rom and the version
and I am also interested in if it is possible to do screen overclock in your current rom