mcu_hi3321_watch/tjd/ble/protocol/ble_gps_server.h
2025-05-26 20:15:20 +08:00

78 lines
1.8 KiB
C

#ifndef _BLE_GPS_SERVER_H_
#define _BLE_GPS_SERVER_H_
#include "ble_protocol.h"
/********************************
*4.18.5 APP 下发 GPS 坐标点到设备
**********************************/
typedef enum
{
APP_GPS_LONGITUDE_TYPE = 1,
APP_GPS_LATITUDE_TYPE,
APP_GPS_DISTANCES_TYPE,
} APPGPSInfo;
/********************************
* 4.18.3 设备主动请求GPS 信息
**********************************/
typedef enum
{
DEVICE_GPS_REQUEST_TYPE = 1,
DEVICE_GPS_STATUS_ACK_TYPE,
} deviceRequestGpsStatus;
/********************************
4.18.6 APP 下发 GPS 坐标点到设备
**********************************/
typedef enum
{
DEVICE_GPS_STATUS_TYPE = 1,
} appGpsStatus;
//命令
enum
{
APP_ASK_IS_ISSUE_EPHEMERISFILE_ID = 0X01,
DEVICE_REQ_EPHEMERIS_STA_ID,
DEVICE_REQ_PHONE_GPS_INFO_ID,
SET_APP_GPS_INFO_TO_DEVICE_ID,
DEVICE_RECEIVE_GPS_INFO_ID,
DEVICE_RECEIVE_GPS_STATUS_ID,
GPS_SERVERE_MAX_ID,
};
/**
* @struct FitGpsInfo
* @brief GPS信息结构体.
* @details 用于记录户外运动GPS.
*/
typedef struct {
uint8_t vaild; // gps有效性
uint32_t longtitude; // 经度
uint32_t latitude; // 纬度
uint32_t distance; // 距离 cm
} FitGpsInfo;
void BLE_deviceRequestGpsInfoACK(uint8_t *in_data,uint16_t in_len,uint8_t *out_data,uint16_t *out_len);
void deviceRequestphoneGpsInfo(uint8_t command);
void BLE_dReceiveAppGpsInfo(uint8_t *in_data,uint16_t in_len,uint8_t
*out_data,uint16_t *out_len);
void BLE_ReceiveAppGpsStatus(uint8_t *in_data,uint16_t in_len,uint8_t
*out_data,uint16_t *out_len);
extern const p_func_t GpsServerFunc[GPS_SERVERE_MAX_ID];
#endif