Android 12 - iFly GPS for Android - iFly EFB

iFly GPS Forum

We have a new Forum!  Go here to get started: https://adventurepilot.community.forum.  
The new forum is easier to use and much more capable than the old, we hope you will join our community! 

Below is a copy of the old forum. This will remain available for a short period so you can access and review the information contained here. To continue a conversation, or start a new one, please register and create a post at our new forum location.
HomeHomeDiscussionsDiscussionsiFly GPS for An...iFly GPS for An...Android 12Android 12
Previous
 
Next
New Post
1/21/2022 4:01 PM
 

You raise good points I wasn't thinking about.  You are correct that my ADSB (Stratux) with the $15 GPS module is more accurate than the gps on either of my two devices.  It is also true that the Pixel running Android 12 is the worst accuracy of all three...sometimes being approx 100+ft below what I believe to be accurate.  I look forward to see what you find out.

v/r,
cab


CHAD A. BAKER | PA-28 140 | Building a Cozy IV | Life is Short, Live Your Dream and Share Your Passion!
 
New Post
1/23/2022 12:35 PM
 

My altitude tests are as follows.

To shorten things up, I'll refer to iFly as "IF", the GPS Essentials app as "GE", and the GPS Status app as "GS". My Samsung S21+ phone will just be "S21", the Android-running Samsung Tab E tablet in my plane will just be "TabE" and the other tablet in my plane, a generic Android, will be "TabX". In the plane, my electronic barometric Attitude/Altitude Indicator will be "AV30", and my copilot's iPhone (using his compass app) will be "IP".

The S21 is running Android 12, and iFly 11.1.38. The tablets are running (I believe) Android 8, and they're (definitely) running iFly 11.1.26.

On the drive to the airport, switching back and forth between IF, GE, and GS on my phone, whenever I switched between GS and IF/GE (both IF & GE always giving the same reading), GS was always reporting 50' to 70' higher than IF/GE. This difference was very consistent, and much closer to "reality". Though still not accurate, because...

At one point in the drive, there is about a 5 mile straight and level section of I-5 at an altitude very close to sea level (I would guess about 20'). The readings were very steady at:

  • GS: -12 (not great)
  • IF/GE: -78 (horrible)

At the airport, in my plane in front of my hangar at KAWO, at a known altitude of 142' with ADS-B powered down, all of the devices (except the iPhone and the AV30-C) were too low. The readings were:

  • AV30: 170 (when set to baro reading of 30.54 from the KAWO AWOS)
  • IF on S21: 31
  • IF on TabE: 115
  • IF on TabX: 85
  • GE on S21: 34
  • GE on TabE: 33
  • GE on TabX: 30
  • GS on S21: 79 (error: +/- 12')
  • GS on TabE: 72 (error: +/- 12')
  • GS on TabX: 69 (error: +/- 12')
  • IP: 140

Same situation, but with the ADS-B unit powered up and iFly connected to it:

  • IF on S21/TabE/TabX: 65

In the air, I used my AV30 as the altimeter since it has a nice digital display. (Note: it was always in agreement with my steam gauge altimeter.) I would get the plane stablized at 2000' (manually -- I don't have an autopilot), and then I/copilot would take readings off the devices and my copilot would write them down. There are variations to be expected, since I was manually trying to fly level (or re-establish level), and we also could not be expected to read/note all devices exactly simultaneously. 

With the ADS-B powered down, the readings were:

  • IF on S21: 1860
  • IF on TabE: 1933
  • IF on TabX: 1913
  • GE on S21: 1863
  • GE on TabE: 1865
  • GE on TabX: 1860
  • GS on S21: 1900 (error: +/- 12')
  • GS on TabE: 1887 (error: +/- 12')
  • GS on TabX: 1880 (error: +/- 12')
  • IP: 1900

With the ADS-B unit powered up and iFly connected to it:

  • IF on S21/TabE/TabX: 1860

If we make an assumption that the iPhone is a better altitude sensor, based on its ground performance (140' readout vs known 142'), and if we make a big assumption of extrapolating that to the flight (where the iPhone read 1900'), then we might assume that I was actually flying closer to 1900' instead of 2000'.  That would make better sense of the other device readings.

There are a few reasons that my AV30 was possibly not giving me a good altitude during the test: it was a very cold day, so the altimeter would be expected to overstate my altitude the higher I go; I was not doing the test over my airport, so the baro pressure I input into the device may no longer have been "accurate" at that location; and from the get-go it was 28' high (170' vs airport altitude of 142').

If 1900' was closer to my true altitude, then the 1860' readings from the ADS-B unit via the ADS-B stream were reasonably close. Also, the 1933' and 1913' from the tablets via the API, were close. 

But the S21+ had the same issue in the air as it did on the ground: when altitude was derived via the API (using IF or GE) it was about 50' lower than the other devices. Whereas, when derived via whatever process GS uses, it was in agreement with those other devices. To me it is clear that the API does not provide accurate altitude on the S21+. It showed that in all cases: on the drive, while sitting at the airport, and in the air. 

Interestingly, the API does seem to provide reasonable numbers on the tablets. I was surprised by that. I was expecting the API to be universally wrong across all devices.

At first, you might jump to the conclusion that this API issue with the S21+ phone is simply due to the difference in hardware (phone vs tablets). As in: maybe the phone's GPS hardware is less accurate than the tablets'. But the GS app, running on the same phone, provides better numbers than the API. With a real consistent difference of around 50'. That says to me that the phone GPS hardware is not the issue (or at least it's not the total issue -- it may naturally give numbers lower than the tablets). It's the API that IF (and presumable GE) is using that's the issue -- but only on the phone

So... is the Android version the issue? The phone is version 12, and the tablets are older version(s).  Or did the API change between iFly 11.1.26 and 11.1.38? Or does the API behave differently on one device versus another?


Powrachute PC 2000; Aventura II; Cherokee 180
 
New Post
1/27/2022 12:29 PM
 

Hey guys,

Regarding altitudes - none of the parsing or interpretation code has been touched so whatever is going on there is a mystery.  We are accurately reporting the data as it comes from the GPS.  But I have some theories, it may be related to elipsoide vs geoid altitude.  I've put this on my todo list.

For now I'm focused on getting the bigger GPS issue resolved.  I just put 11.1.40 on the www.iflygps.com/androidapk page.  It makes a few more corrections:  The last release fixed the GPS issue with newer androids, but broke GPS for very old (OS 4.3, 5.0, etc) versions.  So a minor tweak to get that working again.  Also we fixed an issue where some phones were crashing when launched in Landscape mode.  And we updated the icon to support OS12 round icons.  And finally, I removed the gratuitous logging and debug code so this build is production ready.  

So please give this a try and let me know if you have any problems.  Testing on our devices looks good, so if I don't hear of any issues this will be pushed to the play store tomorrow.

Thanks!
Walter


Walter Boyd
President, Adventure Pilot
 
New Post
1/27/2022 2:26 PM
 

Thanks for looking into it (eventually).

You might be right that it's a geometric calculation issue. The GPS Status app is either getting different info, or applying different calculations. It's a very consistent offset, I would expect that GPS Status is getting info directly (as directly as it can) from the hardware, since it also shows other info (like a map of the satellites, their signal strength, etc.), whereas I expect the API is a simpler interface that provides less granular data.


Powrachute PC 2000; Aventura II; Cherokee 180
 
New Post
1/28/2022 9:15 AM
 

11.1.40 looks to be performing as expected from my ground checks. GPS position, direction, movement and speed nicely responsive and stable.

Thanks iFly crew!

John

 
Previous
 
Next
HomeHomeDiscussionsDiscussionsiFly GPS for An...iFly GPS for An...Android 12Android 12