Subversion Repositories FlightCtrl

Rev

Rev 828 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
684 killagreg 1
#ifndef _UBX_H
2
#define _UBX_H
3
 
726 killagreg 4
#include <inttypes.h>
5
 
684 killagreg 6
#define INVALID    0x00
7
#define VALID      0x01
8
#define PROCESSED  0x02
9
 
10
 
11
#define SATFIX_NONE                      0x00
12
#define SATFIX_DEADRECKOING      0x01
13
#define SATFIX_2D                                0x02
14
#define SATFIX_3D                                0x03
15
#define SATFIX_GPS_DEADRECKOING  0x04
16
#define SATFIX_TIMEONLY                  0x05
17
 
18
 
19
/* enable the UBX protocol at the gps receiver with the following messages enabled
20
  01-02 NAV - POSLLH
752 killagreg 21
  01-06 Nav - SOL
684 killagreg 22
  01-12 NAV - VELNED */
23
 
24
typedef struct
25
{
781 killagreg 26
        uint8_t         status;     // status of data: invalid | valid
752 killagreg 27
        uint8_t         satnum;         // number of satelites
684 killagreg 28
        uint8_t         satfix;         // type of satfix
781 killagreg 29
        int32_t         longitude;  // in 1e-07 deg
30
        int32_t         latitude;       // in 1e-07 deg
31
        int32_t         altitude;   // in mm
752 killagreg 32
        uint32_t    PAcc;               // in cm 3d position accuracy
684 killagreg 33
        int32_t         velnorth;       // in cm/s
34
        int32_t         veleast;        // in cm/s
35
        int32_t         veltop;     // in cm/s
828 killagreg 36
        uint32_t    velground;  // 2D ground speed in cm/s
752 killagreg 37
        uint32_t        VAcc;           // in cm/s 3d velocity accuracy
684 killagreg 38
} GPS_INFO_t;
39
 
40
//here you will find the current gps info
702 killagreg 41
extern GPS_INFO_t GPSInfo;      // measured position (last gps record)
684 killagreg 42
 
726 killagreg 43
// this variable should be decremted by the application
44
extern volatile uint8_t GPSTimeout; // is reset to 255 if a new UBX msg was received
45
 
724 killagreg 46
// initialized the upx parser
47
extern void ubx_init(void);
48
 
684 killagreg 49
// this function should be called within the UART RX ISR
50
extern void ubx_parser(uint8_t c);
51
 
52
#endif //_UBX_H