MTK/Android GPS 相关

前言

分享下相关笔记跟概念吧,具体流程不好外传,MTK 有相关文档的
书籍参考 《深入理解 Android: WiFi 模块 NFC 和 GPS 卷》

相关概念

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

MTK GPS Log 解析

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

相关流程接口

LocationManager

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

GPSLP

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

AGPS

在这里插入图片描述

GPS JNI 与 HAL 层

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Gps 应用编程

public class LocationTest extends Activity 
{
    private LocationManager mLocationManager = null;
    public void onCreate(Bundle savedInstanceState) {

        mLocationManager = (LocationManager)getSystemService(context.LOCATION_SERVICE);

    }

    public void onResume() {
        mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, null, null, mLocListener);
        mLocationManager.addGpsStatusListener(mGpsListener);
    }
    
    public void onPause() {
        mLocationManager.removeUpdates(mLocListener);
        mLocationManager.removeGpsStatusListener(mGpsListener);
    }
    
    public final LocationListener mLocListener = new LocationListener() 
    {
        public void onLocationChanged(Location location) {/*TODO*/}
        public void onProviderDisabled(String provider) {/*TODO*/}
        public void onProviderEnabled(String provider) {/*TODO*/}
        public void onStatusChanged(String provider, int status, Bundle extras)
        {
        
            if (status == LocationProvider.AVAILABLE) {}
            else if (status == LocationProvider.OUT_OF_SERVICE) {}
            else if (status == LocationProvider.TEMPORARILY_UNAVAILABLE) {}
        }
    }
    public final GpsStatus.Listener mGpsListener = new GpsStatus.Listener() 
    {
        public void onGpsStatusChanged(int event) 
        {
            if (event == GpsStatus.GPS_EVENT_STARTED) {}
            else if (event == GpsStatus.GPS_EVENT_STOPPED) {}
            else if (event == GpsStatus.GPS_EVENT_FIRST_FIX) {}
            else if (event == GpsStatus.GPS_EVENT_SATELLITE_STATUS) {}
        }
    }
}

MTK GPS 搜星类型修改

位置:
Gps_controller.c (vendor\mediatek\proprietary\hardware\connectivity\gps\mtk_mnld\mnld_entity\src)
    static MNL_CONFIG_T mnl_config ={
        .GNSSOPMode = 2,     // 0: G+Gl; 1: G+B, 2:G+Gl+B,3:G, 4:B,5:Gl,6:G+Gl+B+Ga
    }
    
结构体位置:
    typedef enum
    {
      MTK_CONFIG_GPS_GLONASS = 0,
      MTK_CONFIG_GPS_BEIDOU,
      MTK_CONFIG_GPS_GLONASS_BEIDOU,
      MTK_CONFIG_GPS_ONLY,
      MTK_CONFIG_BEIDOU_ONLY,
      MTK_CONFIG_GLONASS_ONLY,
      MTK_CONFIG_GPS_GLONASS_BEIDOU_GALILEO
    } MTK_GNSS_CONFIGURATION;
    
    位置:Mtk_gps_type.h (vendor\mediatek\proprietary\hardware\connectivity\gps\mtk_mnld\mnl\inc)
Contents 文档的目的 ....................................................................................................................................... 1 版本信息 ........................................................................................................................................... 2 GPS 基本知识 .................................................................................................................................. 4 Ø 1.1)GPS 定位和网络定位有什么不同? ...................................................................... Ø 1.2)3D 定位和2D 定位的区别? ................................................................................. Ø 1.3)卫星分布对GPS performance 有很大影响吗? .................................................... Ø1.4)如何同步GPS 时间到本地时间? ......................................................................... Ø 1.5)各个卫星系统的卫星编号是多少? ...................................................................... Ø 1.6)GPS 定位精度能够达到多少? .............................................................................. MTK ALPS GPS 的特殊知识 .............................................................................................................. Ø 2.1)FULL start、COLD start、WARM start、HOT start 这些启动方式是什么意思? Ø 2.2)各种启动方式的 TTFF 是多少? ............................................................................ Ø 2.3)辅助定位技术有哪些? .......................................................................................... Ø 2.4)如何快速获取 MNL Version? ................................................................................ Ø 2.5)Galieo 是否支持? ..................................................................................................... Ø 2.6)Gps 在工作期间,上报数据的频率是多少?.......................................................... Ø 2.7)是否支持 SBAS? ....................................................................................................... Ø 2.8)对GNSS 的支持是如何的? ...................................................................................... Ø 2.9)GPS 在工作期间,是否有休眠的机制? ................................................................. Ø 2.10)GPS 芯片使用的 TCXO 物料的频偏不同,软件是否需要配置? ........................ Ø 2.11)软件如何配置使用什么卫星系统? ....................................................................... LOG 相关 ......................................................................................................................................... Ø 3.1)MTK 的工程师为什么总是需要提供 gps debug log? ........................................... Ø 3.2)Gps debug log 存放在哪里? .................................................................................. Ø 3.3)Gps debug log 的存放目录是否可以修改? ........................................................... Ø 3.4)抓取什么 log,才能够方便MTK 工程师快速的分析GPS 问题。 ...................... Ø 3.5)GPS NMEA sentence 是否可以在mtklog 中出现? ............................................... Ø 3.6)如何通过 log 判断GPS 软件工作正常? ............................................................... Ø 3.7)如何确定导航系统选择的就是软件配置的 ........................................................... Code Flow 相关 ............................................................................................................................... Ø 4.1)EPO 的下载过程。 ................................................................................................... Ø 4.2)开发GPS tool,参考 CWtest、meta gps、ftm gps 的流程。 ............................... Ø 4.3)GPS LNA GPIO 的控制流程。 .................................................................................. GPS 无法搜到卫星 ......................................................................................................................... Ø 4.1)确认GPS 软件工作正常。在open sky 的环境下是有卫星讯号的,但是为什么我的设 备一颗卫星搜不到?我应该怎么检查这类问题? ...................................... Ø 4.2)对于使用 6752/6732 的平台,对GPS LNA GPIO 的pin 的控制无效,导致无法搜 星 问题如何处理? .......................................................................................................... Coclock 相关 ................................................................................................................................... Ø 5.1)目前支持 Coclock 的平台有哪些? ........................................................................Ø 5.2)什么是Coclock 方案? ............................................................................................ Ø 5.3)Coclock 为何需要校准? ......................................................................................... Ø 5.4)Coclock 方案和TCXO 方案,在end user 使用上有什么不同? .......................... Ø 5.5)Coclock 下软件如何配置? ..................................................................................... Ø 5.6)Log 中有什么地方表示我选择的 coclock 方案? .................................................. Ø 5.7)如何判断有校准成功?........................................................................................... Ø 5.8)如何检查 clock 的稳定性? .................................................................................... AGPS 认证相关 .............................................................................................................................. Ø 6.1)测试AGPS sensitivity 之前,为什么需要先3D fix? ............................................. Ø 6.2)AGPS 认证测试之前,需要经过软硬件的检查有哪些? ..................................... Ø 6.3)AGPS 认证测试的地点一般有哪些? ..................................................................... Ø 6.4)有没有认证测试的 SOP? ....................................................................................... 测试相关......................................................................................................................................... Ø 7.1)如何测试FULL start、WARM start、COLD start、HOT start 这几种启动方式的TTFF? Ø 7.2)GPS field trial 测试,该如何进行? ........................................................................ Ø 7.3)如何去测试EPO 的辅助效果? .............................................................................. Ø 7.4)如何去测试Hotstill 的辅助效果? ......................................................................... Ø 7.6)客户制定了自己的测试方法和标准,测完 fail,why? ...................................... GPS 资料 ......................................................................................................................................... Ø 8.1)请从 DCC 上查找如下: ....................................................................................... Ø 8.2)MTK online 上的eCourse 有哪些GPS 资源? .................................................... Ø 8.3)porting MT3332 有哪些资料? ............................................................................. Ø 8.4)如果我要分析 gps performance,我可以参考什么 log? .................................. MAUI GPS 特殊知识 ...................................................................................................................... Ø 9.1)Makefile 中有哪些GPS 相关项? ........................................................................ Ø 9.2)FULL start、COLD start、WARM start、HOT start 这些启动方式是什么意思? Ø 9.3)各种启动方式的 TTFF 是多少? .......................................................................... Ø 9.4)辅助定位技术有哪些? ........................................................................................ Ø 9.5)GPS 不工作问题如何调试? ................................................................................ Ø 9.6)GPS 搜不到卫星问题如何调试? ........................................................................ Ø 9.7)GPS 搜星慢问题如何调试? ................................................................................ Ø 9.8)如何用 miniGPS tool 检查 gps 搜星状况? ....................................................... Ø 9.9)如何在 MAUI 上开发GPS? ................................................................................. Ø 9.10)如何在 MAUI 上测试 GPS Performance? ......................................................... Ø 9.11)如何调试EPO 下载失败的问题? ..................................................................... Ø 9.12)如何在 PHONE 上将EPO 支持起来? ............................................................... Ø 9.13)GPS 的启动流程是什么样的? .......................................................................... Ø 9.14)GPS 支持哪些command? .................................................................................Ø 9.15)如果将 gps log 保存在本地设备中? ................................................................ Ø 9.16)AGPS 认证需要抓取什么log? .......................................................................... Ø 9.17)MT6261M 是否支持GPS chip MT3332/MT3336? ........................................... Ø 9.18)MAUI 上是否支持MT3333/ MT3339/MT3329/MT3337 等 GPS chip? ........... Ø 9.19)如何同步GPS 到系统时间? ............................................................................ Ø 9.20)MT3332 如何切换到GPS+BEIDOU 模式? ........................................................ Ø 9.21)EPO 是否可以通过BT 下载? ............................................................................ Ø 9.22)Tracker 、IOT 上GPS 的功耗多少? .................................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值