cleanup specfile for packaging
[profile/ivi/gpsd.git] / driver_ubx.h
1 /*
2  * This file is Copyright (c) 2010 by the GPSD project
3  * BSD terms apply: see the file COPYING in the distribution root for details
4  */
5 #ifndef _GPSD_UBX_H_
6 #define _GPSD_UBX_H_
7
8 #define UBX_MESSAGE_BASE_SIZE 6
9 #define UBX_MESSAGE_DATA_OFFSET UBX_MESSAGE_BASE_SIZE
10
11 typedef enum {
12     UBX_CLASS_NAV = 0x01,     /**< Navigation */
13     UBX_CLASS_RXM = 0x02,     /**< Receiver Manager */
14     UBX_CLASS_INF = 0x04,     /**< Informative text messages */
15     UBX_CLASS_ACK = 0x05,     /**< (Not) Acknowledges for cfg messages */
16     UBX_CLASS_CFG = 0x06,     /**< Configuration requests */
17     UBX_CLASS_UPD = 0x09,     /**< Firmware updates */
18     UBX_CLASS_MON = 0x0a,     /**< System monitoring */
19     UBX_CLASS_AID = 0x0b,     /**< AGPS */
20     UBX_CLASS_TIM = 0x0d,     /**< Time */
21 } ubx_classes_t;
22
23 #define UBX_MSGID(cls_, id_) (((cls_)<<8)|(id_))
24
25 typedef enum {
26     UBX_NAV_POSECEF     = UBX_MSGID(UBX_CLASS_NAV, 0x01),
27     UBX_NAV_POSLLH      = UBX_MSGID(UBX_CLASS_NAV, 0x02),
28     UBX_NAV_STATUS      = UBX_MSGID(UBX_CLASS_NAV, 0x03),
29     UBX_NAV_DOP         = UBX_MSGID(UBX_CLASS_NAV, 0x04),
30     UBX_NAV_SOL         = UBX_MSGID(UBX_CLASS_NAV, 0x06),
31     UBX_NAV_POSUTM      = UBX_MSGID(UBX_CLASS_NAV, 0x08),
32     UBX_NAV_VELECEF     = UBX_MSGID(UBX_CLASS_NAV, 0x11),
33     UBX_NAV_VELNED      = UBX_MSGID(UBX_CLASS_NAV, 0x12),
34     UBX_NAV_TIMEGPS     = UBX_MSGID(UBX_CLASS_NAV, 0x20),
35     UBX_NAV_TIMEUTC     = UBX_MSGID(UBX_CLASS_NAV, 0x21),
36     UBX_NAV_CLOCK       = UBX_MSGID(UBX_CLASS_NAV, 0x22),
37     UBX_NAV_SVINFO      = UBX_MSGID(UBX_CLASS_NAV, 0x30),
38     UBX_NAV_DGPS        = UBX_MSGID(UBX_CLASS_NAV, 0x31),
39     UBX_NAV_SBAS        = UBX_MSGID(UBX_CLASS_NAV, 0x32),
40     UBX_NAV_EKFSTATUS   = UBX_MSGID(UBX_CLASS_NAV, 0x40),
41
42     UBX_RXM_RAW         = UBX_MSGID(UBX_CLASS_RXM, 0x10),
43     UBX_RXM_SFRB        = UBX_MSGID(UBX_CLASS_RXM, 0x11),
44     UBX_RXM_SVSI        = UBX_MSGID(UBX_CLASS_RXM, 0x20),
45     UBX_RXM_ALM         = UBX_MSGID(UBX_CLASS_RXM, 0x30),
46     UBX_RXM_EPH         = UBX_MSGID(UBX_CLASS_RXM, 0x31),
47     UBX_RXM_POSREQ      = UBX_MSGID(UBX_CLASS_RXM, 0x40),
48
49     UBX_INF_ERROR       = UBX_MSGID(UBX_CLASS_INF, 0X00),
50     UBX_INF_WARNING     = UBX_MSGID(UBX_CLASS_INF, 0X01),
51     UBX_INF_NOTICE      = UBX_MSGID(UBX_CLASS_INF, 0x02),
52     UBX_INF_TEST        = UBX_MSGID(UBX_CLASS_INF, 0x03),
53     UBX_INF_DEBUG       = UBX_MSGID(UBX_CLASS_INF, 0x04),
54     UBX_INF_USER        = UBX_MSGID(UBX_CLASS_INF, 0x07),
55
56     UBX_ACK_NAK         = UBX_MSGID(UBX_CLASS_ACK, 0x00),
57     UBX_ACK_ACK         = UBX_MSGID(UBX_CLASS_ACK, 0x01),
58
59     UBX_CFG_PRT         = UBX_MSGID(UBX_CLASS_CFG, 0x00),
60
61     UBX_UPD_DOWNL       = UBX_MSGID(UBX_CLASS_UPD, 0x01),
62     UBX_UPD_UPLOAD      = UBX_MSGID(UBX_CLASS_UPD, 0x02),
63     UBX_UPD_EXEC        = UBX_MSGID(UBX_CLASS_UPD, 0x03),
64     UBX_UPD_MEMCPY      = UBX_MSGID(UBX_CLASS_UPD, 0x04),
65
66     UBX_MON_SCHED       = UBX_MSGID(UBX_CLASS_MON, 0x01),
67     UBX_MON_IO          = UBX_MSGID(UBX_CLASS_MON, 0x02),
68     UBX_MON_IPC         = UBX_MSGID(UBX_CLASS_MON, 0x03),
69     UBX_MON_VER         = UBX_MSGID(UBX_CLASS_MON, 0x04),
70     UBX_MON_EXCEPT      = UBX_MSGID(UBX_CLASS_MON, 0x05),
71     UBX_MON_MSGPP       = UBX_MSGID(UBX_CLASS_MON, 0x06),
72     UBX_MON_RXBUF       = UBX_MSGID(UBX_CLASS_MON, 0x07),
73     UBX_MON_TXBUF       = UBX_MSGID(UBX_CLASS_MON, 0x08),
74     UBX_MON_HW          = UBX_MSGID(UBX_CLASS_MON, 0x09),
75     UBX_MON_USB         = UBX_MSGID(UBX_CLASS_MON, 0x0a),
76
77     UBX_AID_REQ         = UBX_MSGID(UBX_CLASS_AID, 0x00),
78     UBX_AID_INI         = UBX_MSGID(UBX_CLASS_AID, 0x01),
79     UBX_AID_HUI         = UBX_MSGID(UBX_CLASS_AID, 0x02),
80     UBX_AID_DATA        = UBX_MSGID(UBX_CLASS_AID, 0x10),
81     UBX_AID_ALM         = UBX_MSGID(UBX_CLASS_AID, 0x30),
82     UBX_AID_EPH         = UBX_MSGID(UBX_CLASS_AID, 0x31),
83
84     UBX_TIM_TP          = UBX_MSGID(UBX_CLASS_TIM, 0x01),
85     UBX_TIM_TM          = UBX_MSGID(UBX_CLASS_TIM, 0x02),
86     UBX_TIM_TM2         = UBX_MSGID(UBX_CLASS_TIM, 0x03),
87     UBX_TIM_SVIN        = UBX_MSGID(UBX_CLASS_TIM, 0x04),
88 } ubx_message_t;
89
90 typedef enum {
91     UBX_MODE_NOFIX  = 0x00,     /* no fix available */
92     UBX_MODE_DR     = 0x01,     /* Dead reckoning */
93     UBX_MODE_2D     = 0x02,     /* 2D fix */
94     UBX_MODE_3D     = 0x03,     /* 3D fix */
95     UBX_MODE_GPSDR  = 0x04,     /* GPS + dead reckoning */
96     UBX_MODE_TMONLY = 0x05,     /* Time-only fix */
97 } ubx_mode_t;
98
99 #define UBX_SOL_FLAG_GPS_FIX_OK 0x01
100 #define UBX_SOL_FLAG_DGPS 0x02
101 #define UBX_SOL_VALID_WEEK 0x04
102 #define UBX_SOL_VALID_TIME 0x08
103
104 /* from UBX_NAV_SVINFO */
105 #define UBX_SAT_USED 0x01
106 #define UBX_SAT_DGPS 0x02
107 #define UBX_SAT_EPHALM 0x04
108 #define UBX_SAT_EPHEM 0x08
109 #define UBX_SAT_UNHEALTHY 0x10
110
111 #define UBX_SIG_IDLE 0
112 #define UBX_SIG_SRCH1 1
113 #define UBX_SIG_SRCH2 2
114 #define UBX_SIG_DETECT 3
115 #define UBX_SIG_CDLK 4
116 #define UBX_SIG_CDCRLK1 5
117 #define UBX_SIG_CDCRLK2 6
118 #define UBX_SIG_NAVMSG 7
119
120 #endif /* _GPSD_UBX_H_ */