Hi,
I try Sailfish some time ago, and I see that we have some function that can be share between linux os for phone. Lot of works use by other OS has been made by Sailfish (thanks a lot).
I share you an idea and test, that we have with Vlad.
I think it could help, if you want to download it, or it could be use if anyone from UBT or Droidian, develop it before !
Hi !
To be sure we deal of the same function, aGPS or a-GPS is :
A-GNSS works by providing the necessary data to the device via a radio network instead of the slow satellite link, essentially “warming up” the receiver for a fix.
Every GPS device requires orbital data about the satellites to calculate its position. The data rate of the satellite signal is only 50 bit/s, so downloading orbital information like ephemerides and the almanac directly from satellites typically takes a long time.
An A-GPS-capable device can connect to these servers (a cache server for GPS data)and download this information using mobile-network radio bearers such as GSM, CDMA, WCDMA, LTE or even using other radio bearers such as Wi-Fi or LoRa.
(a-GPS Wikipedia)
So the a-GPS it is just the fact to download the ephemerides and the almanac by Internet (by a connection of a cache server, so the connection can be with mobile data (4G, 5G …) or Wi-Fi) instead of satellites, to have a very quick first fix.
It is not link to other way of localization based on localization of Wi-Fi … (like High accuracy in Android), it is just link and use the GPS chip.
We deal it and try it with Vlad (an Ubuntu Touch user) on Waydroid. a-GPS already works on Waydroid.
Vlad see an interesting fact : if he force a download of aGPS with SatScan (on Waydroid), it could have a very quick fast fix on UBT sat app. If it retry after few hour it continue to quick fix.
So the aGPS data is usable by UBT.
So I try the same with Droidian :
Start Waydroid
start Satscan
Download aGPS data on satscan
Stop Waydroid
Enable GPS on Droidian
Start maps, and the GPS fix very quickly (few seconds).
I try to disable GPS on Droidian, reboot, enable GPS and start maps again and it fix very quickly (I move about 30 meter during the boot)
I make a second test yesterday, after few day without using the GPS, moving about 50km, kee disable GPS on Droidian and Waydroid, download aGPS with SatScan, stop Waydroid, enable GPS on Droidian, start maps (cartes) and the GPS fix very quickly, like the test before.
So the aGPS data are store in hal ?
With Vlad we look at SatScan source (can be see on original post) and the aGPS is download and store by Android.
So we both think that it is possible to copy Android function that download the aGPS data on internet and the function that send this data to the GPS (with hal command ?).
Do you think we are right ?
Android have 2 functions :
locationmanager1.sendExtraCommand(“gps”, “force_xtra_injection”, bundle); (if I’m right download + put it in the GPS chip or hal)
locationmanager1.sendExtraCommand(“gps”, “force_time_injection”, bundle);
(link on original post)
Do you think it could be possible ?
I found this project Elastos5 (link on original post) that use GPS Xtra (from Android ?) with a c++ code.
So no modifications to do on GPS software, just a function to call each 24h or 48h if user want aGPS.
I’m sorry, I think I can’t do more.
Thanks in advance
This is the original post : Add aGPS on Droidian (and maybe UBT and Sailfish) - possible way · Issue #51 · droidian/droidian · GitHub