相关文章推荐
爱听歌的匕首  ·  MS SQL ...·  7 月前    · 
儒雅的领结  ·  电子常见问题 | Electron ...·  11 月前    · 
玩足球的红薯  ·  kafka compact ...·  1 年前    · 
幸福的墨镜  ·  应用ListTemplate后MS ...·  1 年前    · 

高通自己设计的一套辅助数据。加速定位。

是可以下发星历信息的解决法案,类似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了!