Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
838 MikeW 1
#define    _B1(bit)             (1 << (bit))  
2
#define    _B0(bit)             (0 << (bit))
3
#define    MIN(a, b) ((a) < (b) ? (a) : (b)) 
4
#define    MAX(a, b) ((a) > (b) ? (a) : (b)) 
5
 
6
//#define       BAUDRATE        129             // = 9600 baud
7
//#define       BAUDRATE        64              // = 19200 baud
8
 #define        BAUDRATE        32              // = 38400 baud
9
//#define       BAUDRATE        21              // = 57600 baud
10
//#define       BAUDRATE        10              // = 115200 baud
11
 
12
#define UBX_NOFIX 0
13
#define UBX_2DFIX 2
14
#define UBX_3DFIX 3
15
 
16
#define GPS_EMPTY       0
17
#define GPS_SYNC1       1
18
#define GPS_SYNC2       2
19
#define GPS_CLASS       3
20
#define GPS_LEN1            4
21
#define GPS_LEN2            5
22
#define GPS_FILLING     6
23
#define GPS_CKA         7
24
#define GPS_CKB         8
25
 
26
/* some uBlox UBX format defines */
27
#define SYNC_CHAR1              0xb5
28
#define SYNC_CHAR2              0x62
29
#define CLASS_NAV               0x01
30
#define MSGID_POSLLH    0x02
31
#define MSGID_STATUS    0x03
32
#define MSGID_POSUTM    0x08
33
#define MSGID_VELNED    0x12
34
 
35
typedef struct {
36
        long            north;                  // in cm (+ = north)
37
        long            east;                   // in cm (+ = east)
38
        long            altitude;               // in cm
39
        long            velNorth;
40
        long            velEast;
41
        long            velDown;
42
        long            groundSpeed;
43
        long            heading;
44
 
45
    unsigned long ITOW;
46
        uint8_t         state;                          // status of data: 0 = invlid; 1 = valid
47
        uint8_t         noSV;                           // number of sats
48
} gpsInfo_t;
49
 
50
typedef struct {
51
        unsigned long   ITOW;                   // time of week
52
        uint8_t                 GPSfix;                 // GPSfix Type, range 0..6
53
        uint8_t                 Flags;                          // Navigation Status Flags
54
        uint8_t                 DiffS;                          // Differential Status 
55
        uint8_t                 res;                                    // reserved
56
        unsigned long   TTFF;                   // Time to first fix (millisecond time tag) 
57
        unsigned long   MSSS;           // Milliseconds since Startup / Reset 
58
        uint8_t                 packetStatus;
59
} NAV_STATUS_t;
60
 
61
typedef struct {
62
        unsigned long   ITOW;                   // time of week
63
        long                    LON;                                    // longitude in 1e-07 deg
64
        long                    LAT;                                    // lattitude
65
        long                    HEIGHT;                         // height in mm
66
        long                    HMSL;                           // height above mean sea level im mm
67
        unsigned long   Hacc;                   // horizontal accuracy in mm
68
        unsigned long   Vacc;                   // vertical accuracy in mm
69
        uint8_t                 packetStatus;
70
} NAV_POSLLH_t;
71
 
72
typedef struct {
73
        unsigned long   ITOW;                   // time of week
74
        long                    EAST;                           // cm  UTM Easting  
75
        long                    NORTH;                          // cm  UTM Nording  
76
        long                    ALT;                                    // cm  altitude
77
        uint8_t                 ZONE;                   // UTM zone number
78
        uint8_t                 HEM;                            // Hemisphere Indicator (0=North, 1=South)  
79
        uint8_t                 packetStatus;
80
} NAV_POSUTM_t;
81
 
82
typedef struct {
83
        unsigned long   ITOW;           // ms  GPS Millisecond Time of Week  
84
        long                    VEL_N;                          // cm/s  NED north velocity  
85
        long                    VEL_E;                          // cm/s  NED east velocity  
86
        long                    VEL_D;                          // cm/s  NED down velocity  
87
        unsigned long   Speed;          // cm/s  Speed (3-D)  
88
        unsigned long   GSpeed;         // cm/s  Ground Speed (2-D)  
89
        long                    Heading;                        // deg (1e-05)  Heading 2-D  
90
        unsigned long   SAcc;                   // cm/s  Speed Accuracy Estimate  
91
        unsigned long   CAcc;                   // deg  Course / Heading Accuracy Estimate  
92
        uint8_t                 packetStatus;
93
} NAV_VELNED_t;
94
 
95
 
96
 
97