高通自己设计的一套辅助数据。加速定位。
是可以下发星历信息的解决法案,类似AGPS。 都是辅助定位用的。
【注意】:
XTRA+年历-------解析出-------->星历(较为准确)。
2)
Broadcom
LTO
:
"Long Term Orbit" 的缩写.
自己设计的一套辅助数据。加速定位。
六、
SUPL
谷歌
服务器。
七、
GPS分析
主要有五部分。
1)
App层
在android原生系统上,没有内置的定位app,只有Settings.
packages/apps/Settings/src/com/android/settings/location/
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/
Android平台中,GPS的开启和关闭主要在Settings中。其模式有三种:
1.High accruacy 高精度
使用GPS,Networks,Wi-Fi和Bluetooth进行定位;
准确度最好,但比较费电
2.Battery saving
使用Wi-Fi, Bluetooth和Networks进行定位;
速度快,省电,但是精度较差。
3.Device only
只使用GPS进行定位。
当Location为“ON”,Mode为“High accruacy”或者“Device Only”时,settings数据库location_providers_allowed字段将被修改为“network,gps”或者“gps”(修改字段的代码在LocationSettings.java中)。
2)
Framework
Client端
frameworks/base/location/java/android/location/
这里主要是API包,供App调用的。(LocationManager.java)
frameworks/base/location/java/com/android/internal/location/
这个目录是 Framework 对 Location 服务的内部实现。
Service端
frameworks/base/services/core/java/com/android/server/LocationManagerService.java
frameworks/base/services/core/java/com/android/server/location/
3)
HAL
一般GPS的修改都在gps.conf里做,其他都是源生,不需要修改。
路径如下:
hardware/qcom/gps/etc/gps.conf
4)
Modem(Kernel)
GPS的驱动接口有
URAT、QMI
等;
Linux底层驱动只需要有uart接口就可以接收到gps数据了,而android的hal层会调用linux内核层的uart驱动,所以,只要hal层打开串口,然后read就可以了。
而gps的标准数据格式为NMEA格式,有以下几个类型。
1、GPS定位信息 GPGGA
2、当前卫星信息 GPGSA
3、可见卫星信息 GPGSV
4、推荐最小定位信息 GPRMC
5)
固件Log
代码就是生活的一部分。
坚持每天积累一点,时间久了,你就牛b了!