📄 gps.h
字号:
/******************************************************************************
MODE: AML--#GPS+accelerator+compass
MCU: Cyan eCOG1k
COMPILER: CyanIDE v1.41
FILE NAME: GPS head files
******************************************************************************/
#ifndef gps_parameter_h
#define gps_parameter_h
//------------------------------------------------------------
#ifndef gps_code
#define gps_ext extern
#else
#define gps_ext
#endif //gps_code
/******************************************************************************
Project level include files.
******************************************************************************/
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include <math.h>
#include <ecog.h>
#include <ecog1.h>
#include "cyan_base_driver.h"
/******************************************************************************
Private constants and types.
******************************************************************************/
#define TEMP_BUF_SIZE 128
#define RX_BUF_SIZE 128 // Receive buffer size
#define CR '\r'
#define LF '\n'
#define OTHER 0
#define RMC_TIME 1
#define RMC_WORK_STATE 2
#define RMC_LATITUDE 3
#define RMC_LATITUDE_ASPECT 4
#define RMC_LONGITUDE 5
#define RMC_LONGITUDE_ASPECT 6
#define RMC_SPEED 7
#define RMC_ASPECT 8
#define RMC_DATE 9
#define RMC_SUN_DATA1 10
#define RMC_SUN_DATA2 11
#define RMC_CHECKSUM 12
#define RMC_OTHER 13
#define GGA_TIME 1
#define GGA_LATITUDE 2
#define GGA_LATITUDE_ASPECT 3
#define GGA_LONGITUDE 4
#define GGA_LONGITUDE_ASPECT 5
#define GGA_QUALITY 6
#define GGA_STAR_SUM 7
#define GGA_LEVEL_PRECISION 8
#define GGA_ANTENNA_HEIGHT 9
#define GGA_AH_UNIT 11
#define GGA_EARTH_HEIGHT 12
#define GGA_EH_UNIT 13
#define GGA_UN_USE1 14
#define GGA_CHECKSUM 15
#define GGA_OTHER 16
#define GSV_SUM 1
#define GSV_ITEM 2
#define GSV_UN_USE 3
#define GSV_CHECKSUM 4
#define GSV_OTHER 5
#define GSA_MODE 1
#define GSA_STATE 2
#define GSA_UN_USE 3
#define GSA_CHECKSUM 4
#define GSA_OTHER 5
#define _GPGGA_ 1
#define _GPGSA_ 2
#define _GPGSV_ 3
#define _GPRMC_ 4
#define _OTHER_ 5
#define _GPHAD_ 6
#define _GPEND_ 7
#define GSA_UN_USE_LENGTH 54
#define GSV_UN_USE_LENGTH 60
#define TX_GPGGA 1
#define TX_GPGSA 2
#define TX_GPGSV1 3
#define TX_GPGSV2 4
#define TX_GPGSV3 5
#define TX_GPGSV4 6
#define TX_GPRMC 7
#define TX_OTHER 8
/******************************************************************************
Global variables.
******************************************************************************/
typedef struct
{
char head[7];
char UTC_timer[10]; //(1)
char latitude[10]; //(2)
char latitude_aspect[2]; //(3)
char longitude[11]; //(4)
char longitude_aspect[2]; //(5)
char quality[2]; //(6)
char star_sum[3]; //(7)
char level_precision[5]; //(8)
char antenna_height[9]; //(9)//evan : +/-???
char AH_unit[2]; //
char earth_height[7]; //(10)
char EH_unit[2]; //
char un_use1[5]; //(11)//(12)
char end_flag;
char checksum[2];
char CR_LF[2];
}GPS_GPGGA;
/*
typedef struct
{
char head[7];
char wrok_mode[2];
char position_MSG[2];
char star_ID1[3];
char star_ID2[3];
char star_ID3[3];
char star_ID4[3];
char star_ID5[3];
char star_ID6[3];
char star_ID7[3];
char star_ID8[3];
char star_ID9[3];
char star_ID10[3];
char star_ID11[3];
char star_ID12[3];
char position_precision[5];
char plumb_precision[5];
char level_precision[5];
char end_flag;
char checksum[2];
char CR_LF[2];
}GPS_GPGSA;
*/
typedef struct
{
char head[7];
char wrok_mode[2];
char position_MSG[2];
char un_use[GSA_UN_USE_LENGTH];
char end_flag;
char checksum[2];
char CR_LF[2];
}GPS_GPGSA;
typedef struct
{
char head[7];
char GSV_sum[2];
char GSV_item[2];
char un_use[GSV_UN_USE_LENGTH];//55
char end_flag;
char checksum[2];
char CR_LF[2];
}GPS_GPGSV;
typedef struct
{
char head[7];
char UTC_timer[10]; //(1)
char work_state[2]; //(2)
char latitude[10]; //(3)
char latitude_aspect[2]; //(4)
char longitude[11]; //(5)
char longitude_aspect[2]; //(6)
char speed[6]; //(7)
char bearing_pointer[6]; //(8)
char UTC_date[7]; //(9)
char sun_data1[6]; //(10)
char sun_data2[4]; //(11)
char end_flag;
char checksum[2];
char CR_LF[2];
}GPS_GPRMC;
/*
typedef struct
{
GPS_GPGGA GPGGA;
GPS_GPGSA GPGSA;
GPS_GPGSV GPGSV[4];
GPS_GPRMC GPRMC;
char _end_;
}GPS_frame;
*/
gps_ext GPS_GPRMC GPRMC;
gps_ext GPS_GPGSA GPGSA;
gps_ext GPS_GPGGA GPGGA;
gps_ext GPS_GPGSV GPGSV1;
gps_ext GPS_GPGSV GPGSV2;
gps_ext GPS_GPGSV GPGSV3;
gps_ext GPS_GPGSV GPGSV4;
gps_ext char _GSV_sum_[2];
gps_ext char _GSV_TX_sum_;
gps_ext char _GSV_item_[2];
gps_ext GPS_GPGSV *GSV_pointer;
gps_ext unsigned int group_receive_done_flag; // Receive buffer
gps_ext char string_head_buf[6];
gps_ext char *GPS_data_buf;
gps_ext unsigned int data_length;
gps_ext char checksum;
gps_ext char c1;
gps_ext char c2;
gps_ext char c;
gps_ext unsigned int receive_buffer_count;
gps_ext unsigned int GPS_TX_count;
gps_ext unsigned int GPS_read_data_poiter;
gps_ext unsigned int GPS_TX_ready_flag;
gps_ext unsigned int GPS_TX_gradation_flag;
gps_ext char *GPGGA_TX_pointer;
gps_ext char *GPGSA_TX_pointer;
gps_ext char *GPGSV1_TX_pointer;
gps_ext char *GPGSV2_TX_pointer;
gps_ext char *GPGSV3_TX_pointer;
gps_ext char *GPGSV4_TX_pointer;
gps_ext char *GPRMC_TX_pointer;
gps_ext unsigned int receive_flag;
gps_ext unsigned int str_head_flag;
gps_ext unsigned int GPS_error_count;
gps_ext char gps_state;
/******************************************************************************
Declaration of extern functions.
******************************************************************************/
gps_ext void display_gps_data(void);
gps_ext void gps_initialization(void);
/******************************************************************************
end
******************************************************************************/
#endif //gps_parameter_h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -