summaryrefslogtreecommitdiff
path: root/src/nmea.h
blob: 514aabc89a3fa0b1c5c56a765b4f6bcf3168166e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef NMEA_H
#define NMEA_H

#define LAYERID_TRANSPORT	 0
#define LAYERID_APPL		20

/* NMEA only allows space for 12 sats */
#define SAT_MAX_COUNT	12

/* the highest value of sat svid */
#define MAX_SAT_SVID	32

#define GSV_FIELDS 19
#define GSA_FIELDS 17
#define GGA_FIELDS 14
#define RMC_FIELDS 12

typedef enum {
	POSITION_NONE		= 0,
	POSITION_LATITUDE	= 1 << 0,
	POSITION_LONGITUDE	= 1 << 1,
	POSITION_ALTITUDE	= 1 << 2
} PositionFields;

typedef enum {
	COURSE_NONE		= 0,
	COURSE_SPEED		= 1 << 0,
	COURSE_DIRECTION	= 1 << 1,
	COURSE_CLIMB		= 1 << 2
} CourseFields;

typedef enum {
	FIX_INVALID = 0,
	FIX_NONE,
	FIX_2D,
	FIX_3D
} FixType;

typedef enum {
	ACCURACY_NONE		= 0,
	ACCURACY_POSITION	= 1 << 0, /* 3D */
	ACCURACY_HORIZONTAL	= 1 << 1, /* 2D */
	ACCURACY_VERTICAL	= 1 << 2, /* Altitude */
} AccuracyFields;

#endif