0,0 → 1,97 |
#define _B1(bit) (1 << (bit)) |
#define _B0(bit) (0 << (bit)) |
#define MIN(a, b) ((a) < (b) ? (a) : (b)) |
#define MAX(a, b) ((a) > (b) ? (a) : (b)) |
|
//#define BAUDRATE 129 // = 9600 baud |
//#define BAUDRATE 64 // = 19200 baud |
#define BAUDRATE 32 // = 38400 baud |
//#define BAUDRATE 21 // = 57600 baud |
//#define BAUDRATE 10 // = 115200 baud |
|
#define UBX_NOFIX 0 |
#define UBX_2DFIX 2 |
#define UBX_3DFIX 3 |
|
#define GPS_EMPTY 0 |
#define GPS_SYNC1 1 |
#define GPS_SYNC2 2 |
#define GPS_CLASS 3 |
#define GPS_LEN1 4 |
#define GPS_LEN2 5 |
#define GPS_FILLING 6 |
#define GPS_CKA 7 |
#define GPS_CKB 8 |
|
/* some uBlox UBX format defines */ |
#define SYNC_CHAR1 0xb5 |
#define SYNC_CHAR2 0x62 |
#define CLASS_NAV 0x01 |
#define MSGID_POSLLH 0x02 |
#define MSGID_STATUS 0x03 |
#define MSGID_POSUTM 0x08 |
#define MSGID_VELNED 0x12 |
|
typedef struct { |
long north; // in cm (+ = north) |
long east; // in cm (+ = east) |
long altitude; // in cm |
long velNorth; |
long velEast; |
long velDown; |
long groundSpeed; |
long heading; |
|
unsigned long ITOW; |
uint8_t state; // status of data: 0 = invlid; 1 = valid |
uint8_t noSV; // number of sats |
} gpsInfo_t; |
|
typedef struct { |
unsigned long ITOW; // time of week |
uint8_t GPSfix; // GPSfix Type, range 0..6 |
uint8_t Flags; // Navigation Status Flags |
uint8_t DiffS; // Differential Status |
uint8_t res; // reserved |
unsigned long TTFF; // Time to first fix (millisecond time tag) |
unsigned long MSSS; // Milliseconds since Startup / Reset |
uint8_t packetStatus; |
} NAV_STATUS_t; |
|
typedef struct { |
unsigned long ITOW; // time of week |
long LON; // longitude in 1e-07 deg |
long LAT; // lattitude |
long HEIGHT; // height in mm |
long HMSL; // height above mean sea level im mm |
unsigned long Hacc; // horizontal accuracy in mm |
unsigned long Vacc; // vertical accuracy in mm |
uint8_t packetStatus; |
} NAV_POSLLH_t; |
|
typedef struct { |
unsigned long ITOW; // time of week |
long EAST; // cm UTM Easting |
long NORTH; // cm UTM Nording |
long ALT; // cm altitude |
uint8_t ZONE; // UTM zone number |
uint8_t HEM; // Hemisphere Indicator (0=North, 1=South) |
uint8_t packetStatus; |
} NAV_POSUTM_t; |
|
typedef struct { |
unsigned long ITOW; // ms GPS Millisecond Time of Week |
long VEL_N; // cm/s NED north velocity |
long VEL_E; // cm/s NED east velocity |
long VEL_D; // cm/s NED down velocity |
unsigned long Speed; // cm/s Speed (3-D) |
unsigned long GSpeed; // cm/s Ground Speed (2-D) |
long Heading; // deg (1e-05) Heading 2-D |
unsigned long SAcc; // cm/s Speed Accuracy Estimate |
unsigned long CAcc; // deg Course / Heading Accuracy Estimate |
uint8_t packetStatus; |
} NAV_VELNED_t; |
|
|
|
|