#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