34 #define GPS_NB_CHANNELS 16
35 #define SIRF_MAXLEN 255
54 #define Invert2Bytes(x) ((x>>8) | (x<<8))
55 #define Invert4Bytes(x) ((x>>24) | ((x<<8) & 0x00FF0000) | ((x>>8) & 0x0000FF00) | (x<<24))
84 } __attribute__((packed));
125 } __attribute__((packed));
arch independent UART (Universal Asynchronous Receiver/Transmitter) API
void sirf_parse_msg(void)
uint16_t distance_err
in meters
uint32_t tow
time of week in seconds *10^3]
uint32_t evpe
estimated vertical position error, in meters * 10^2
uint32_t ete
estimated time error, in seconds * 10^2
int16_t vx
x-velocity * 8 in m/s
uint32_t clock_bias_err
in m * 10^2
uint8_t ch1prn
pseudo-random noise, 12 channels
int32_t longitude
in degrees (+= East) *10*7
int16_t vy
y-velocity * 8 in m/s
int16_t climb_rate
in m/s * 10^2
uint8_t msg_id
hex value 0x29 (= decimal 41)
uint32_t ehpe
estimated horizontal position error, in meters * 10^2
static void GpsEvent(void)
void * periph
pointer to parent implementation
int16_t mag_var
not implemented
int32_t x_pos
x-position in m
int16_t vz
z-velocity * 8 in m/s
int32_t z_pos
z-position in m
uint8_t msg_id
hex value 0x02 ( = decimal 2)
uint32_t tow
time of week in seconds * 10^2
uint16_t sog
speed over ground, in m/s * 10^2
uint16_t ehve
estimated horizontal velocity error in m/s * 10^2
uint8_t num_sat
Number of satellites used for solution.
void sirf_parse_char(uint8_t c)
get_byte_t get_byte
get a new char
int16_t heading_rate
in deg/s * 10^2
uint8_t hdop
horizontal dilution of precision *5 (0.2 precision)
static const struct usb_device_descriptor dev
char msg_buf[SIRF_MAXLEN]
buffer for storing one nmea-line
uint16_t cog
course over ground, in degrees clockwise from true north * 10^2
uint8_t add_info
Additional mode info.
uint32_t distance
Distance traveled since reset in m.
int32_t latitude
in degrees (+= North) *10^7
uint16_t heading_err
in degrees * 10^2
char_available_t char_available
check if a new character is available
int32_t y_pos
y-position in m
uint8_t hdop
Horizontal dilution of precision x 5 (0.2 precision)
int32_t clock_drift
in m/s * 10^2
int32_t alt_ellipsoid
in meters *10^2
uint16_t nav_valid
if equal to 0x0000, then navigation solution is valid
int32_t alt_msl
in meters *10^2
uint16_t extended_week_number
uint8_t num_sat
Number of satellites in fix.
int32_t clock_bias
in m * 10^2
uint32_t clock_drift_err
in m/s * 10^2
uint32_t sat_id
satellites used in solution. Each satellite corresponds with a bit, e.g. bit 1 ON = SV 1 is used in s...