TuyaOS
结构体 | 宏定义 | 类型定义 | 枚举 | 函数
tkl_cellular_gnss.h 文件参考
#include "tuya_cloud_types.h"
tkl_cellular_gnss.h 的引用(Include)关系图:

浏览源代码.

结构体

struct  TUYA_CELLULAR_GNSS_MODE_INFO_T
 

宏定义

#define TUYA_CELLULAR_GNSS_MAX_SEVER_ADDR_LENGTH   255 /** Maximum generic server address length for the host name. */
 
#define TUYA_GNSS_NMEA_MAX_LENGTH   1823 /** NMEA string maximum length. 1023 ->1823*/
 
#define TUYA_GPS_SUPPORT_SVS_MAX   80 /** Maximum number of satellites in view. */
 
#define TY_CELL_GNSS_GPS_SSID_BUF_SIZE   32 /** Maximum SSID (Service Set Identifier) buffer size. */
 
#define TY_CELL_GNSS_IPV6_ADDR_LEN   16 /** IPv6 address length. */
 

类型定义

typedef VOID(* TKL_GNSS_REGISTION_NOTIFY) (TUYA_CELLULAR_GNSS_NOTIFY_MSG_ID_E msg, VOID *data, INT_T len)
 
typedef UINT32_T TUYA_CELLULAR_GNSS_DEV_HANDLE
 

枚举

enum  TUYA_CELLULAR_GNSS_CAPABILITY_T {
  TY_CELL_GNSS_CAPABILITY_SCHEDULING = 0x01 , TY_CELL_GNSS_CAPABILITY_MSB = 0x02 , TY_CELL_GNSS_CAPABILITY_MSA = 0x04 , TY_CELL_GNSS_CAPABILITY_SINGLE_SHOT = 0x08 ,
  TY_CELL_GNSS_CAPABILITY_ON_DEMAND_TIME = 0x10
}
 
enum  TUYA_CELLULAR_GNSS_NOTIFY_MSG_ID_E {
  TY_CELL_GNSS_NFY_MSG_ID_STATUS_INFO = 0 , TY_CELL_GNSS_NFY_MSG_ID_LOCATION_INFO , TY_CELL_GNSS_NFY_MSG_ID_SV_INFO , TY_CELL_GNSS_NFY_MSG_ID_NMEA_INFO ,
  TY_CELL_GNSS_NFY_MSG_ID_CAPABILITIES_INFO , TY_CELL_GNSS_NFY_MSG_ID_AGPS_STATUS , TY_CELL_GNSS_NFY_MSG_ID_NI_NOTIFICATION , TY_CELL_GNSS_NFY_MSG_ID_XTRA_REPORT_SERVER
}
 
enum  TUYA_CELLULAR_GNSS_POS_MODE_E { TY_CELL_GNSS_POS_MODE_STANDALONE = 0 , TY_CELL_GNSS_POS_MODE_MS_BASED = 1 , TY_CELL_GNSS_POS_MODE_MS_ASSISTED = 2 }
 
enum  TUYA_CELLULAR_GNSS_POS_RECURRENCE_T { TY_CELL_GNSS_POS_RECURRENCE_PERIODIC = 0 , TY_CELL_GNSS_POS_RECURRENCE_SINGLE = 1 }
 
enum  TUYA_CELLULAR_GNSS_STATUS_E {
  TY_CELL_GNSS_STATUS_NONE = 0 , TY_CELL_GNSS_STATUS_SESSION_BEGIN = 1 , TY_CELL_GNSS_STATUS_SESSION_END = 2 , TY_CELL_GNSS_STATUS_ENGINE_ON = 3 ,
  TY_CELL_GNSS_STATUS_ENGINE_OFF = 4
}
 
enum  TUYA_CELLULAR_GNSS_SYS_MODE_E {
  TY_CELL_GNSS_GPS_BDS = 0x00 , TY_CELL_GNSS_GPS_GLONASS = 0x01 , TY_CELL_GNSS_GPS = 0x02 , TY_CELL_GNSS_BDS = 0x03 ,
  TY_CELL_GNSS_GLONASS = 0x04 , TY_CELL_GNSS_GALILEO = 0x05
}
 
enum  TY_CELL_GNSS_AGPS_STATUS_E {
  TY_CELL_GNSS_REQUEST_AGPS_DATA_CONN = 1 , TY_CELL_GNSS_RELEASE_AGPS_DATA_CONN = 2 , TY_CELL_GNSS_AGPS_DATA_CONNECTED = 3 , TY_CELL_GNSS_AGPS_DATA_CONN_DONE = 4 ,
  TY_CELL_GNSS_AGPS_DATA_CONN_FAILED = 5
}
 
enum  TY_CELL_GNSS_AGPS_TYPE_E {
  TY_CELL_GNSS_AGPS_TYPE_INVALID = -1 , TY_CELL_GNSS_AGPS_TYPE_ANY = 0 , TY_CELL_GNSS_AGPS_TYPE_SUPL = 1 , TY_CELL_GNSS_AGPS_TYPE_C2K = 2 ,
  TY_CELL_GNSS_AGPS_TYPE_WWAN_ANY = 3 , TY_CELL_GNSS_AGPS_TYPE_WIFI = 4 , TY_CELL_GNSS_AGPS_TYPE_SUPL_ES = 5
}
 
enum  TY_CELL_GNSS_LOACTION_VAILD_FLAG_E {
  TY_CELL_GNSS_LOCATION_LAT_LONG_VALID = 0x0001 , TY_CELL_GNSS_LOCATION_ALTITUDE_VALID = 0x0002 , TY_CELL_GNSS_LOCATION_SPEED_VALID = 0x0004 , TY_CELL_GNSS_LOCATION_BEARING_VALID = 0x0008 ,
  TY_CELL_GNSS_LOCATION_ACCURACY_VALID = 0x0010 , TY_CELL_GNSS_LOCATION_SOURCE_INFO_VALID = 0x0020 , TY_CELL_GNSS_LOCATION_IS_INDOOR_VALID = 0x0040 , TY_CELL_GNSS_LOCATION_FLOOR_NUMBE_VALID = 0x0080 ,
  TY_CELL_GNSS_LOCATION_MAP_URL_VALID = 0x0100 , TY_CELL_GNSS_LOCATION_MAP_INDEX_VALID = 0x0200
}
 

函数

OPERATE_RET tkl_cellular_gnss_deinit (TUYA_CELLULAR_GNSS_DEV_HANDLE handle)
 去初始化蜂窝GNSS服务 更多...
 
OPERATE_RET tkl_cellular_gnss_get_location (TUYA_CELLULAR_GNSS_DEV_HANDLE handle, TUYA_CELLULAR_GNSS_LOCATION_INFO_T *location, INT_T timeout_sec)
 获取当前的位置信息 更多...
 
OPERATE_RET tkl_cellular_gnss_init (TUYA_CELLULAR_GNSS_DEV_HANDLE *handle)
 初始化蜂窝GNSS服务 更多...
 
OPERATE_RET tkl_cellular_gnss_injectlocation (TUYA_CELLULAR_GNSS_DEV_HANDLE handle, TUYA_CELLULAR_GNSS_INJECT_LOCATION_INFO_T *pt_info)
 直接注入位置信息 更多...
 
OPERATE_RET tkl_cellular_gnss_injecttime (TUYA_CELLULAR_GNSS_DEV_HANDLE handle, TUYA_CELLULAR_GNSS_INJECT_TIME_INFO_T *pt_info)
 直接注入时间数据 更多...
 
OPERATE_RET tkl_cellular_gnss_ioctl (TUYA_CELLULAR_GNSS_DEV_HANDLE handle, INT_T cmd, VOID *pdata, INT_T datalen)
 GNSS服务的自定义接口 更多...
 
OPERATE_RET tkl_cellular_gnss_register_notify (TKL_GNSS_REGISTION_NOTIFY notify)
 注册蜂窝GNSS服务消息回调函数 更多...
 
OPERATE_RET tkl_cellular_gnss_set_position_mode (TUYA_CELLULAR_GNSS_DEV_HANDLE nohandletify, TUYA_CELLULAR_GNSS_MODE_INFO_T pt_mode)
 设置蜂窝GNSS定位模式 更多...
 
OPERATE_RET tkl_cellular_gnss_set_system_mode (TUYA_CELLULAR_GNSS_DEV_HANDLE nohandletify, TUYA_CELLULAR_GNSS_SYS_MODE_E pt_mode)
 设置蜂窝GNSS定位系统模式 更多...
 
OPERATE_RET tkl_cellular_gnss_start_navigation (TUYA_CELLULAR_GNSS_DEV_HANDLE handle)
 启动导航 更多...
 
OPERATE_RET tkl_cellular_gnss_stop_navigation (TUYA_CELLULAR_GNSS_DEV_HANDLE handle)
 停止导航 更多...
 

详细描述

版本
0.1
日期
2022-09-15

Permission is hereby granted, to any person obtaining a copy of this software and associated documentation files (the "Software"), Under the premise of complying with the license of the third-party open source software contained in the software, to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

枚举类型说明

◆ TUYA_CELLULAR_GNSS_CAPABILITY_T

枚举值
TY_CELL_GNSS_CAPABILITY_SCHEDULING 

GPS HAL schedules fixes for GPS_POSITION_RECURRENCE_PERIODIC mode. If this is not set, the framework uses
1000 ms for min_interval and will call start() and stop() to schedule the GPS.

TY_CELL_GNSS_CAPABILITY_MSB 

GPS supports MS-Based AGPS mode.

TY_CELL_GNSS_CAPABILITY_MSA 

GPS supports MS-Assisted AGPS mode.

TY_CELL_GNSS_CAPABILITY_SINGLE_SHOT 

GPS supports single-shot fixes.

TY_CELL_GNSS_CAPABILITY_ON_DEMAND_TIME 

GPS supports on-demand time injection.

◆ TUYA_CELLULAR_GNSS_NOTIFY_MSG_ID_E

枚举值
TY_CELL_GNSS_NFY_MSG_ID_STATUS_INFO 

pv_data = &TUYA_CELLULAR_GNSS_STATUS_E

TY_CELL_GNSS_NFY_MSG_ID_LOCATION_INFO 

pv_data = &TUYA_CELLULAR_GNSS_LOCATION_INFO_T

TY_CELL_GNSS_NFY_MSG_ID_SV_INFO 

pv_data = &TUYA_CELLULAR_GNSS_SV_STATUS_T

TY_CELL_GNSS_NFY_MSG_ID_NMEA_INFO 

pv_data = &TUYA_CELLULAR_GNSS_NMEA_T

TY_CELL_GNSS_NFY_MSG_ID_CAPABILITIES_INFO 

pv_data = &TUYA_CELLULAR_GNSS_CAPABILITY_T

TY_CELL_GNSS_NFY_MSG_ID_AGPS_STATUS 

pv_data = &TUYA_CELLULAR_GNSS_AGPS_STATUS_T

TY_CELL_GNSS_NFY_MSG_ID_XTRA_REPORT_SERVER 

pv_data = &UYA_CELLULAR_GNSS_XRTA_REPT_SERVER_INFO_T

◆ TUYA_CELLULAR_GNSS_POS_MODE_E

枚举值
TY_CELL_GNSS_POS_MODE_STANDALONE 

Mode for running GPS standalone (no assistance).

TY_CELL_GNSS_POS_MODE_MS_BASED 

AGPS MS-Based mode.

TY_CELL_GNSS_POS_MODE_MS_ASSISTED 

AGPS MS-Assisted mode.

◆ TUYA_CELLULAR_GNSS_POS_RECURRENCE_T

枚举值
TY_CELL_GNSS_POS_RECURRENCE_PERIODIC 

Receive GPS fixes on a recurring basis at a specified period.

TY_CELL_GNSS_POS_RECURRENCE_SINGLE 

Request a single-shot GPS fix.

◆ TUYA_CELLULAR_GNSS_STATUS_E

枚举值
TY_CELL_GNSS_STATUS_NONE 

GPS status unknown.

TY_CELL_GNSS_STATUS_SESSION_BEGIN 

GPS has begun navigating.

TY_CELL_GNSS_STATUS_SESSION_END 

GPS has stopped navigating.

TY_CELL_GNSS_STATUS_ENGINE_ON 

GPS has powered on but is not navigating.

TY_CELL_GNSS_STATUS_ENGINE_OFF 

GPS is powered off.

◆ TY_CELL_GNSS_AGPS_STATUS_E

枚举值
TY_CELL_GNSS_REQUEST_AGPS_DATA_CONN 

GPS requests a data connection for AGPS.

TY_CELL_GNSS_RELEASE_AGPS_DATA_CONN 

GPS releases the AGPS data connection.

TY_CELL_GNSS_AGPS_DATA_CONNECTED 

AGPS data connection is initiated

TY_CELL_GNSS_AGPS_DATA_CONN_DONE 

AGPS data connection is completed.

TY_CELL_GNSS_AGPS_DATA_CONN_FAILED 

AGPS data connection failed.

◆ TY_CELL_GNSS_AGPS_TYPE_E

枚举值
TY_CELL_GNSS_AGPS_TYPE_INVALID 

Invalid.

TY_CELL_GNSS_AGPS_TYPE_ANY 

Any.

TY_CELL_GNSS_AGPS_TYPE_SUPL 

SUPL.

TY_CELL_GNSS_AGPS_TYPE_C2K 

C2K.

TY_CELL_GNSS_AGPS_TYPE_WWAN_ANY 

WWAN any.

TY_CELL_GNSS_AGPS_TYPE_WIFI 

Wi-Fi.

TY_CELL_GNSS_AGPS_TYPE_SUPL_ES 

SUPL_ES.

◆ TY_CELL_GNSS_LOACTION_VAILD_FLAG_E

枚举值
TY_CELL_GNSS_LOCATION_LAT_LONG_VALID 

GPS location has valid latitude and longitude.

TY_CELL_GNSS_LOCATION_ALTITUDE_VALID 

GPS location has a valid altitude.

TY_CELL_GNSS_LOCATION_SPEED_VALID 

GPS location has a valid speed.

TY_CELL_GNSS_LOCATION_BEARING_VALID 

GPS location has a valid bearing.

TY_CELL_GNSS_LOCATION_ACCURACY_VALID 

GPS location has valid accuracy.

TY_CELL_GNSS_LOCATION_SOURCE_INFO_VALID 

GPS location has valid source information.

TY_CELL_GNSS_LOCATION_IS_INDOOR_VALID 

GPS location has a valid "is indoor?" flag.

TY_CELL_GNSS_LOCATION_FLOOR_NUMBE_VALID 

GPS location has a valid floor number.

TY_CELL_GNSS_LOCATION_MAP_URL_VALID 

GPS location has a valid map URL.

TY_CELL_GNSS_LOCATION_MAP_INDEX_VALID 

GPS location has a valid map index.

函数说明

◆ tkl_cellular_gnss_deinit()

OPERATE_RET tkl_cellular_gnss_deinit ( TUYA_CELLULAR_GNSS_DEV_HANDLE  handle)

去初始化蜂窝GNSS服务

参数
handle蜂窝GNSS设备服务句柄
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_get_location()

OPERATE_RET tkl_cellular_gnss_get_location ( TUYA_CELLULAR_GNSS_DEV_HANDLE  handle,
TUYA_CELLULAR_GNSS_LOCATION_INFO_T location,
INT_T  timeout_sec 
)

获取当前的位置信息

参数
handle蜂窝GNSS设备服务句柄
location位置信息
timeout_sec获取位置信息的超时时间
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_init()

OPERATE_RET tkl_cellular_gnss_init ( TUYA_CELLULAR_GNSS_DEV_HANDLE *  handle)

初始化蜂窝GNSS服务

参数
handle返回蜂窝GNSS设备服务句柄
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_injectlocation()

OPERATE_RET tkl_cellular_gnss_injectlocation ( TUYA_CELLULAR_GNSS_DEV_HANDLE  handle,
TUYA_CELLULAR_GNSS_INJECT_LOCATION_INFO_T pt_info 
)

直接注入位置信息

参数
handle蜂窝GNSS设备服务句柄
pt_info位置数据
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_injecttime()

OPERATE_RET tkl_cellular_gnss_injecttime ( TUYA_CELLULAR_GNSS_DEV_HANDLE  handle,
TUYA_CELLULAR_GNSS_INJECT_TIME_INFO_T pt_info 
)

直接注入时间数据

参数
handle蜂窝GNSS设备服务句柄
pt_info时间数据
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_ioctl()

OPERATE_RET tkl_cellular_gnss_ioctl ( TUYA_CELLULAR_GNSS_DEV_HANDLE  handle,
INT_T  cmd,
VOID *  pdata,
INT_T  datalen 
)

GNSS服务的自定义接口

参数
handle蜂窝GNSS设备服务句柄
cmdGNSS命令
pdata数据指针
datalenpdata size
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_register_notify()

OPERATE_RET tkl_cellular_gnss_register_notify ( TKL_GNSS_REGISTION_NOTIFY  notify)

注册蜂窝GNSS服务消息回调函数

参数
notifyTKL_GNSS_REGISTION_NOTIFY 回调函数
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_set_position_mode()

OPERATE_RET tkl_cellular_gnss_set_position_mode ( TUYA_CELLULAR_GNSS_DEV_HANDLE  nohandletify,
TUYA_CELLULAR_GNSS_MODE_INFO_T  pt_mode 
)

设置蜂窝GNSS定位模式

参数
handle蜂窝GNSS设备服务句柄
pt_mode定位模式
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_set_system_mode()

OPERATE_RET tkl_cellular_gnss_set_system_mode ( TUYA_CELLULAR_GNSS_DEV_HANDLE  nohandletify,
TUYA_CELLULAR_GNSS_SYS_MODE_E  pt_mode 
)

设置蜂窝GNSS定位系统模式

参数
handle蜂窝GNSS设备服务句柄
pt_mode定位模式
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_start_navigation()

OPERATE_RET tkl_cellular_gnss_start_navigation ( TUYA_CELLULAR_GNSS_DEV_HANDLE  handle)

启动导航

参数
handle蜂窝GNSS设备服务句柄
返回
0 成功 其它 失败

◆ tkl_cellular_gnss_stop_navigation()

OPERATE_RET tkl_cellular_gnss_stop_navigation ( TUYA_CELLULAR_GNSS_DEV_HANDLE  handle)

停止导航

参数
handle蜂窝GNSS设备服务句柄
返回
0 成功 其它 失败