Nv_write_item 1959 0xEA 0x06 或(Nv_write_item 1959 0xEA 0x11)
四.GPS工作模式及相关配置 4.1 GPS工作模式
1.1 AEEGPS_MODE_ONE_SHOT
此模式为默认模式,仅可进行一次位置测定请求,因此对nFixes和nInterval的设置
会被忽略。此种模式下的定位请求和引擎的定位设置无关,定位引擎会根据设置的optim
决定以何种最优方式定位。
1.2 AEEGPS_MODE_DLOAD_FIRST
此模式适用的应用程序可能需要重复进行多次位置测定请求,从服务器上下载初始数据后,在本地移动设备上计算结果。
此种模式下定位,初始时,辅助定位信息(星历数据)会从服务器上下载,之后,手机会去计算最终的定位结果。此外,用户可以通过参数来控制从定位服务器上下载已有的星历数据,还是让服务器重新获取最新的星历数据,然后再下载到手机上。此时调用接口获取位置信息时,需要设置参数:AEE_GPSINFO_NONE。底层会底层通过pdsm_set_parameters(),设置
PDSM_PA_KEEP_WARM
来进行控制。见
80-V8350-1_E_gpsOne_PD-API.pdf,Page 17。
1.3 AEEGPS_MODE_TRACK_LOCAL
此模式适用于打算执行跟踪,并需要频繁快速的位置/速度/海拔信息的应用程序。在获取位置测定信息时,此模式需向网络发出的请求最少。这种模式会使用从本地服务器上下载的辅助卫星数据,例如星历表,在移动设备上进行位置计算。如果不能正常获取辅助数据或是辅助数据获取不正确,移动设备会自动从本地服务器中直接获取信息。这种模式不支持连续的跟踪,应用程序需要每隔一段时间,自己调用IPOSDET_GetGPSInfo()获取位置信息。
1.4 AEEGPS_MODE_TRACK_NETWORK 尚未对此模式进行测试。
1.5 AEEGPS_MODE_TRACK_OPTIMAL
此种模式下的定位请求和引擎的定位设置无关,定位引擎会根据设置的optim决定以何种最优方式定位。
1.6 AEEGPS_MODE_TRACK_STANDALONE
这种模式不借助于任何定位服务器,由移动设备自发获取位置信息。特别适用于无线移动设备不能使用的情况。在这种模式下,移动设备通过解析GPS信号获取GPS星历数据。这种工作模式和AEEGPS_MODE_TRACK_LOCAL不同,因为AEEGPS_MODE_TRACK_LOCAL模式会通过TCP/IP从定位服务器上获取星历数据。
1.7 AEEGPS_MODE_DEFAUL
默认的操作模式,被设置为AEEGPS_MODE_ONE_SHOT
当上层将GPS工作模式设置为AEEGPS_MODE_TRACK_OPTIMAL或AEEGPS_MODE_ONE_SHOT时,底层会根据optim的设置,将定位模式进行转化。见Pdsm.h中定义的pdsm_pd_session_operation_e_type。
4.2 GPS相关配置
调用接口:int IPOSDET_SetGPSConfig(IPosDet *pIPosDet,AEEGPSConfig *pConfig)
其中:
typedef struct _AEEGPSConfig { AEEGPSMode mode; uint16 nFixes; uint16 nInterval; AEEGPSOpt optim; AEEGPSQos qos;
AEEGPSServer server; } AEEGPSConfig;
nFixes:将使用此接口进行的位置测定请求的大概数量。
此参数的设置会告知定位引擎用户大概的定位请求次数,使其可以根据当前的电池电量和每次定位需要的时间去优化自身性能。每一次定位请求,IPOSDET接口都会把nFixes的值减1,直到nFixes=1,nFixes的值会一直等于1直到使用IPOSDET_SetGPSConfig()接口对其进行新的设置。设置nFixes的值大于1,不会导致IPOSDET_GetGPSInfo()接口被多次调用。当只进行一次定位时,需要将nFixes的值设置为1。设置数值为0时,表示定位次数未知。
在之前的版本上pdsm_get_position()会根据nFixes的值被多次调用。详见文档:gpsOne Application-based Tracking.pdf
nInterval:两次定位之间大致的时间间隔(秒)。
和nFixes相似,此参数的设置会告知定位引擎客户定位请求时间间隔,使引擎可以根据电池电量和每次定位需要的时间去优化自身性能。
用户进行连续定位时,需要多次调用IPOSDET_GetGPSInfo(),但是两次定位的间隔不一定严格等于nInterval。
Optim:此接口所需的优化。
此参数的设置,会告诉定位引擎如何去优化自身的性能。
AEEGPS_OPT_NONE:不使用任何优化方法。
AEEGPS_OPT_SPEED:以最快的方式定位。
移动设备会根据当前的状态,选取最优的方法,在最短的时间内定位。这种优化方式和AEEGPS_MODE_TRACK_OPTIMAL或者 AEEGPS_MODE_ONE_SHOT定位模式共同使用时,定位最快。
AEEGPS_OPT_ACCURACY:以最精确的方式定位。
这种方式需要比较长的时间计算位置信息,同时,还有可能引入网络连接从而获取更多的信息。这种优化方式和
AEEGPS_MODE_TRACK_OPTIMAL
或者
AEEGPS_MODE_ONE_SHOT定位模式共同使用时,定位最精确。
AEEGPS_OPT_PAYLOAD:以和远程服务器最少的数据交换进行定位。
例如,如果移动设备是以standalone方式定位,这种优化方式会使移动设备和定位服务器之间的数据交换最少。
AEEGPS_OPT_DEFAULT:默认的优化设置。
被设置为AEEGPS_OPT_NONE。
Qos:服务质量。
应用程序限定的定位引擎搜索卫星的最长时间。在野外,即使Qos设置值较大,搜索卫星可能也只需要几秒的时间。此值的有效范围介于 0-255 之间,设为 255 时,服务质量最高。然而,服务质量越高,意味着定位需要的时间越长。
将Qos设置为0,意味着不花费时间去寻找卫星。此时,移动设备会依赖服务器提供的信
息
去
定
位
。
因
此
,
在
AEEGPS_MODE_TRACK_LOCAL
和
AEEGPS_MODE_TRACK_STANDALONE模式下,不能将Qos设置为0。
将Qos设置为0时的定位精度会受到定位服务器的基站星历数据的精确度等因素影响。
Server:服务器配置。
此结构用于指定服务器类型和配置。可能的服务器类型为: AEEGPS_SERVER_DEFAULT AEEGPS_SERVER_IP AEEGPS_SERVER_DBURST
如果服务器类型设置为AEEGPS_SERVER_IP,需要设置IP地址和端口号。如果端口号设置为0,连接时会使用设备默认的端口号。
相关推荐: