Toshihisa T / Mbed 2 deprecated ENVLogger

Dependencies:   ChaNFSSD mbed BMP085 SHT2x

Committer:
tosihisa
Date:
Mon Dec 26 15:58:32 2011 +0000
Revision:
0:6089ae824f06
Child:
1:83960ee4d9a2
1st Release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tosihisa 0:6089ae824f06 1
tosihisa 0:6089ae824f06 2 #ifndef _NMEA_PARSE_H
tosihisa 0:6089ae824f06 3 #define _NMEA_PARSE_H
tosihisa 0:6089ae824f06 4 #ifdef __cplusplus
tosihisa 0:6089ae824f06 5 extern "C" {
tosihisa 0:6089ae824f06 6 #endif
tosihisa 0:6089ae824f06 7
tosihisa 0:6089ae824f06 8 #define LIBNMEA_PARSE_NONE (0)
tosihisa 0:6089ae824f06 9 #define LIBNMEA_PARSE_SUMOK (10)
tosihisa 0:6089ae824f06 10 #define LIBNMEA_PARSE_COMPLETE (100)
tosihisa 0:6089ae824f06 11
tosihisa 0:6089ae824f06 12 #define LIBNMEA_NUMSOFARRAY(array) (sizeof((array))/sizeof((array)[0]))
tosihisa 0:6089ae824f06 13
tosihisa 0:6089ae824f06 14 typedef double libNMEA_realnum_t;
tosihisa 0:6089ae824f06 15 typedef long libNMEA_intnum_t;
tosihisa 0:6089ae824f06 16
tosihisa 0:6089ae824f06 17 typedef struct {
tosihisa 0:6089ae824f06 18 // unsigned char isValid;
tosihisa 0:6089ae824f06 19 unsigned char active; /* '0' or '1' = Fix not available,'2' = 2D,'3' = 3D */
tosihisa 0:6089ae824f06 20 unsigned char positioning; /* 'A' = 単独測位,D = DGPS,N = 無効 */
tosihisa 0:6089ae824f06 21 } libNMEA_gps_status_t;
tosihisa 0:6089ae824f06 22
tosihisa 0:6089ae824f06 23 typedef struct {
tosihisa 0:6089ae824f06 24 unsigned long res1:1;
tosihisa 0:6089ae824f06 25 unsigned long year:12;
tosihisa 0:6089ae824f06 26 unsigned long mon:4;
tosihisa 0:6089ae824f06 27 unsigned long day:6;
tosihisa 0:6089ae824f06 28 unsigned long res2:9;
tosihisa 0:6089ae824f06 29 } libNMEA_gps_date_t;
tosihisa 0:6089ae824f06 30
tosihisa 0:6089ae824f06 31 typedef struct {
tosihisa 0:6089ae824f06 32 unsigned long res:1;
tosihisa 0:6089ae824f06 33 unsigned long hour:5;
tosihisa 0:6089ae824f06 34 unsigned long min:6;
tosihisa 0:6089ae824f06 35 unsigned long sec:6;
tosihisa 0:6089ae824f06 36 unsigned long msec:14;
tosihisa 0:6089ae824f06 37 } libNMEA_gps_time_t;
tosihisa 0:6089ae824f06 38
tosihisa 0:6089ae824f06 39 typedef struct {
tosihisa 0:6089ae824f06 40 // unsigned char isValid;
tosihisa 0:6089ae824f06 41 unsigned char unit;
tosihisa 0:6089ae824f06 42 libNMEA_realnum_t deg;
tosihisa 0:6089ae824f06 43 } libNMEA_gps_deg_t;
tosihisa 0:6089ae824f06 44
tosihisa 0:6089ae824f06 45 typedef struct {
tosihisa 0:6089ae824f06 46 unsigned char lat_unit; /* 'N'(Nouth) or 'S'(South) */
tosihisa 0:6089ae824f06 47 unsigned char lon_unit; /* 'W'(West) or 'E'(East) */
tosihisa 0:6089ae824f06 48 libNMEA_realnum_t latitude;
tosihisa 0:6089ae824f06 49 libNMEA_realnum_t longitude;
tosihisa 0:6089ae824f06 50 } libNMEA_gps_latlon_t;
tosihisa 0:6089ae824f06 51
tosihisa 0:6089ae824f06 52 typedef struct {
tosihisa 0:6089ae824f06 53 // unsigned char isValid;
tosihisa 0:6089ae824f06 54 libNMEA_realnum_t ground;
tosihisa 0:6089ae824f06 55 } libNMEA_gps_speed_t;
tosihisa 0:6089ae824f06 56
tosihisa 0:6089ae824f06 57 typedef struct {
tosihisa 0:6089ae824f06 58 // unsigned char isValid;
tosihisa 0:6089ae824f06 59 libNMEA_realnum_t dop;
tosihisa 0:6089ae824f06 60 } libNMEA_gps_dop_t;
tosihisa 0:6089ae824f06 61
tosihisa 0:6089ae824f06 62 typedef struct {
tosihisa 0:6089ae824f06 63 libNMEA_gps_deg_t trueNorth;
tosihisa 0:6089ae824f06 64 libNMEA_gps_deg_t magnetic;
tosihisa 0:6089ae824f06 65 libNMEA_gps_deg_t mag_dec;
tosihisa 0:6089ae824f06 66 } libNMEA_gps_direction_t;
tosihisa 0:6089ae824f06 67
tosihisa 0:6089ae824f06 68 typedef struct {
tosihisa 0:6089ae824f06 69 libNMEA_gps_dop_t h;
tosihisa 0:6089ae824f06 70 libNMEA_gps_dop_t v;
tosihisa 0:6089ae824f06 71 libNMEA_gps_dop_t p;
tosihisa 0:6089ae824f06 72 } libNMEA_gps_accuracy_t;
tosihisa 0:6089ae824f06 73
tosihisa 0:6089ae824f06 74 typedef struct {
tosihisa 0:6089ae824f06 75 unsigned long status:1; /* これが1ならば,GPS のデータを信用する */
tosihisa 0:6089ae824f06 76 unsigned long active:1;
tosihisa 0:6089ae824f06 77 unsigned long positioning:1;
tosihisa 0:6089ae824f06 78 unsigned long date:1;
tosihisa 0:6089ae824f06 79 unsigned long timeRMC:1;
tosihisa 0:6089ae824f06 80 unsigned long timeZDA:1;
tosihisa 0:6089ae824f06 81 unsigned long latitude:1;
tosihisa 0:6089ae824f06 82 unsigned long longitude:1;
tosihisa 0:6089ae824f06 83 unsigned long speed:1;
tosihisa 0:6089ae824f06 84 unsigned long direction:1;
tosihisa 0:6089ae824f06 85 unsigned long accuracy_hdop:1;
tosihisa 0:6089ae824f06 86 unsigned long accuracy_vdop:1;
tosihisa 0:6089ae824f06 87 unsigned long accuracy_pdop:1;
tosihisa 0:6089ae824f06 88 unsigned long res:19;
tosihisa 0:6089ae824f06 89 } libNMEA_gps_valid_t;
tosihisa 0:6089ae824f06 90
tosihisa 0:6089ae824f06 91 typedef struct {
tosihisa 0:6089ae824f06 92 libNMEA_gps_valid_t valid;
tosihisa 0:6089ae824f06 93 libNMEA_gps_status_t status;
tosihisa 0:6089ae824f06 94 libNMEA_gps_date_t date;
tosihisa 0:6089ae824f06 95 libNMEA_gps_time_t time;
tosihisa 0:6089ae824f06 96 libNMEA_gps_latlon_t latlon;
tosihisa 0:6089ae824f06 97 libNMEA_gps_speed_t speed;
tosihisa 0:6089ae824f06 98 libNMEA_gps_direction_t direction;
tosihisa 0:6089ae824f06 99 libNMEA_gps_accuracy_t accuracy;
tosihisa 0:6089ae824f06 100 } libNMEA_gps_info_t;
tosihisa 0:6089ae824f06 101
tosihisa 0:6089ae824f06 102 typedef struct {
tosihisa 0:6089ae824f06 103 short cjobst;
tosihisa 0:6089ae824f06 104 unsigned char raw[82+2];
tosihisa 0:6089ae824f06 105 short rawLength;
tosihisa 0:6089ae824f06 106 unsigned char sum;
tosihisa 0:6089ae824f06 107 unsigned char sumwk;
tosihisa 0:6089ae824f06 108 short argc;
tosihisa 0:6089ae824f06 109 short argv[31]; /* NMEA センテンスで処理できる最大トークン数.メモリを節約したいのでポインタではなく先頭からのオフセットにしている. */
tosihisa 0:6089ae824f06 110 } libNMEA_data_t;
tosihisa 0:6089ae824f06 111
tosihisa 0:6089ae824f06 112 extern short libNMEA_Parse1Char(unsigned char c,libNMEA_data_t *buffer);
tosihisa 0:6089ae824f06 113 short libNMEA_Parse1Line(libNMEA_data_t *buffer,libNMEA_gps_info_t *GPSinfo);
tosihisa 0:6089ae824f06 114
tosihisa 0:6089ae824f06 115 #ifdef __cplusplus
tosihisa 0:6089ae824f06 116 }
tosihisa 0:6089ae824f06 117 #endif
tosihisa 0:6089ae824f06 118
tosihisa 0:6089ae824f06 119 #endif /* _NMEA_PARSE_H */