GpsLocation結構: 表示定位相關資訊
typedef struct {
// set to
sizeof(GpsLocation)
size_t size;
//旗標位元
uint16_t flags;
//緯度
double latitude;
//經度
double longitude;
//高度
double altitude;
//速度
float speed;
//方位
float bearing;
//精準度
float accuracy;
//時間戳記
GpsUtcTime timestamp;
}
GpsLocation;
GpsStatusValue定義: 表示GPS晶片狀態
typedef
uint16_t GpsStatusValue; //儲存GPS狀態
下面狀態的 0~4
#define
GPS_STATUS_NONE 0
#define
GPS_STATUS_SESSION_BEGIN 1//啟動導航
#define
GPS_STATUS_SESSION_END 2//停止導航
#define
GPS_STATUS_ENGINE_ON 3//未啟動導航
#define
GPS_STATUS_ENGINE_OFF 4//電源關閉
GpsSvInfo結構: 描述衛星狀態
typedef struct {
size_t size;
int prn; //偽亂碼 即衛星編號
float snr;//衛星訊號
float elevation;//高度
float azimuth;//方位角
} GpsSvInfo;
GpsInterface結構: 連通上下層 為主要GPS的架構
typedef struct {
size_t size;
int (*init)( GpsCallbacks* callbacks );//初始化 並設定回調函數
int (*start)( void );//啟動導航
int (*stop)( void ); //關閉導航
void
(*cleanup)( void );
int (*inject_time)(GpsUtcTime time, int64_t
timeReference, int uncertainty);//插入目前時間
int (*inject_location)(double
latitude, double longitude, float
accuracy);//插入位置資訊
void (*delete_aiding_data)(GpsAidingData flags);//刪除輔助資訊
int (*set_position_mode)(GpsPositionMode mode,
GpsPositionRecurrence recurrence, uint32_t
min_interval, uint32_t preferred_accuracy,
uint32_t preferred_time);//設定位置模式
const
void* (*get_extension)(const char*
name);//取得擴充介面
}
GpsInterface;
沒有留言:
張貼留言