---【gps框架分析】
文章平均质量分 85
Achillisjack
这个作者很懒,什么都没留下…
展开
-
android gps机制分析--定位数据传输到Java
7 gps数据从HAL传输到Java上面UlpLocation类型的mLocation作为参数传入,这里传递的还是UlpLocation类型的数据,不是hal层使用的GpsLocation类型,因此我们看一下UlpLocation类型的数据转换成GpsLocation类型的数据的过程:hardware/qcom/gps/loc_api/libloc_api_50001/loc.cp原创 2017-05-23 18:08:16 · 2522 阅读 · 0 评论 -
android gps机制分析--之八
5 gps数据从modem到AP从loc_api层的locClientIndCb开始走起:vendor/qcom/opensource/location/loc_api/loc_api_v02/loc_api_v02_client.clocClientIndCb的主要作用是根据indications的类型,将解析出来的数据发给相应的callback处理:首先获取me原创 2017-05-21 20:32:59 · 3200 阅读 · 0 评论 -
android gps机制分析--之七
4 NMEA数据的解析先看一段QXDM log,是获取NMEA的一个大致流程:loc_middleware_proc中打印Received IPC Message with id 10.Loc enabled 1因为cmd_type是1,也就是LOC_CMD_TYPE_REPORT_POSITION:modem_proc\gps\gnss\loc_mw\原创 2017-05-21 20:21:35 · 2003 阅读 · 0 评论 -
android gps机制分析--之六
3 Modem流程分析modem_proc\gps\gnss\loc_mw\src\ loc_task.c首先初始化middlewaremodule,设置IPC以及timers,初始化QMI等一系列工作:通过os_IpcReceive接受消息,调用loc_middleware_proc对p_msg进行处理:在loc_middleware_pr原创 2017-05-21 20:10:33 · 3523 阅读 · 0 评论 -
android gps机制分析--之五
1. 概述 上面的几篇文章论述了gps的打开启动初始化等动作,万事俱备只欠东风了。这一系列文章主要讲的是Position信息如何从modem层传递到loc eng层最后一直到Java上层的。由于loc eng层到modem层是属于消息触发的,也就是说正常的流程是:modem层传上来一个消息,经过一系列处理传递到loc eng层,loc eng层传递给gps库,android原创 2017-05-21 19:50:25 · 2905 阅读 · 1 评论 -
android gps机制分析--之三
1 gps打开/初始化在Java层打开gps,其实对于gps库来说,就是执行初始化过程。1.1 Java层分析android系统中打开GPS的方法往数据库里面写值,private void enableGps(boolean enable) {try { Settings.Secure.setLocationProviderEnabled(getContentResolver(原创 2017-05-21 19:20:33 · 4143 阅读 · 1 评论 -
android gps机制分析--之二
1,概述在android系统中,GPS对应的系统服务为LocationManagerService,本文主要论述LocationManagerService服务的启动以及初始化过程。 SystemServer.java的startOtherServices方法中添加LocationManagerService方法的代码如下,location = new LocationManage原创 2017-05-21 16:10:21 · 7145 阅读 · 5 评论 -
android gps机制分析--之一
1,android gps实现方案整个流程图如下,android 系统中高通定位方案架构图如下,GPS Application(各种GPS定位的apk)都通过android系统的LocationManager对GPS进行打开/关闭/启动等操作。然后等待数据的上报。所以架构中有2个流程,由上往下的控制流,由下往上的数据流。1, GPS Applicatio原创 2017-05-21 15:40:24 · 6774 阅读 · 2 评论 -
HAL so库加载机制---之二
4, HAL库加载4.1 HAL库加载过程下面以GPS为例,分析上层是如何使用HAL库来访问硬件设备的。com_android_server_location_GpsLocationProvider.cpp中加载gps.default.so库的代码如下,hw_module_t* module;err = hw_get_module(GPS_HARDWARE_MODULE_ID,原创 2017-05-20 21:39:40 · 2721 阅读 · 0 评论 -
HAL so库加载机制---之一
1,概述Android HAL(Hardware Abstract Layer)硬件抽象层,从字面意思可以看出是对硬件设备的抽象和封装,为Android在不同硬件设备提供统一的访问接口。HAL处于Android framework和Linux kernel driver之间,HAL存在的意义有以下2个方面:1,HAL屏蔽了不同硬件设备的差异,为Android提供了统一的访问硬件设备原创 2017-05-20 21:33:39 · 3884 阅读 · 0 评论 -
gps 简介---之一
3.GPS接收机3.1 接收机的组成1)天线单元 GPS信号接收机的天线单元为接收设备的前置部分。天线单元包含接收天线和前置放大器两部分。其中天线部分可能是全向振子天线或小型螺旋天线或微带天线,但从发展趋势来看,以微带天线用的最广、最有前途。 为了提高信号强度,一般在天线后端设置前置放大器(LNA),前置放大器的作用是将由极微弱的GPS信号的电磁波能原创 2017-05-20 21:23:17 · 6305 阅读 · 1 评论 -
gps 简介---之一
1. GNSS GNSS的全称是全球导航卫星系统(Global NavigationSatellite System),它是泛指所有的卫星导航系统,包括全球的、区域的和增强的,如美国的GPS、俄罗斯的Glonass、欧洲的Galileo、中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统)、欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功原创 2017-05-20 20:29:18 · 6332 阅读 · 1 评论 -
android gps机制分析--之四
2,启动GPS2.1 Java层分析在gps定位的apk中,启动GPS的方法如下,mLocationManager.requestLocationUpdates(provider, 500, 0, mLocationListener);调用LocationManager的requestLocationUpdates方法,调用流程图如下,在startNavigat原创 2017-05-21 19:47:08 · 2808 阅读 · 1 评论 -
android gps机制分析--定位数据HAL处理
6 gps数据在HAL中处理reportPosition的实现,前面提到的包含了position信息的qmiLocEventPositionReportIndMsgT_v02数据类型作为参数传入:解析出qmiLocEventPositionReportIndMsgT_v02里的相应的数据,填充到UlpLocation结构中,以下是经纬度,填充到UlpLocation l原创 2017-05-21 20:56:05 · 2930 阅读 · 1 评论