0,0 → 1,53 |
#ifndef _UBX_H |
#define _UBX_H |
|
#include <inttypes.h> |
|
#define INVALID 0x00 |
#define VALID 0x01 |
#define PROCESSED 0x02 |
|
|
#define SATFIX_NONE 0x00 |
#define SATFIX_DEADRECKOING 0x01 |
#define SATFIX_2D 0x02 |
#define SATFIX_3D 0x03 |
#define SATFIX_GPS_DEADRECKOING 0x04 |
#define SATFIX_TIMEONLY 0x05 |
|
|
/* enable the UBX protocol at the gps receiver with the following messages enabled |
01-02 NAV - POSLLH |
01-03 NAV - STATUS |
01-08 NAV - POSUTM |
01-12 NAV - VELNED */ |
|
|
typedef struct |
{ |
uint8_t satfix; // type of satfix |
int32_t utmnorth; // in cm (+ = north) |
int32_t utmeast; // in cm (+ = east) |
int32_t utmalt; // in cm (+ = top) |
int32_t velnorth; // in cm/s |
int32_t veleast; // in cm/s |
int32_t veltop; // in cm/s |
int32_t longitude; // in 1e-07 deg |
int32_t latitude; // in 1e-07 deg |
int32_t altitude; // in mm |
uint8_t status; // status of data: invalid | valid |
} GPS_INFO_t; |
|
//here you will find the current gps info |
extern GPS_INFO_t GPSInfo; // measured position (last gps record) |
|
// this variable should be decremted by the application |
extern volatile uint8_t GPSTimeout; // is reset to 255 if a new UBX msg was received |
|
// initialized the upx parser |
extern void ubx_init(void); |
|
// this function should be called within the UART RX ISR |
extern void ubx_parser(uint8_t c); |
|
#endif //_UBX_H |