Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
|
UBX protocol specific code. More...
Go to the source code of this file.
Data Structures | |
struct | GpsUbx |
Macros | |
#define | GPS_NB_CHANNELS 16 |
#define | GPS_UBX_MAX_PAYLOAD 255 |
#define | CFG_RST_Reset_Hardware 0x00 |
#define | CFG_RST_Reset_Controlled 0x01 |
#define | CFG_RST_Reset_Controlled_GPS_only 0x02 |
#define | CFG_RST_Reset_Controlled_GPS_stop 0x08 |
#define | CFG_RST_Reset_Controlled_GPS_start 0x09 |
#define | CFG_RST_BBR_Hotstart 0x0000 |
#define | CFG_RST_BBR_Warmstart 0x0001 |
#define | CFG_RST_BBR_Coldstart 0xffff |
#define | gps_ubx_Reset(_val) |
Functions | |
void | ubx_header (struct link_device *dev, uint8_t nav_id, uint8_t msg_id, uint16_t len) |
void | ubx_trailer (struct link_device *dev) |
void | ubx_send_bytes (struct link_device *dev, uint8_t len, uint8_t *bytes) |
void | ubx_send_cfg_rst (struct link_device *dev, uint16_t bbr, uint8_t reset_mode) |
void | gps_ubx_read_message (void) |
void | gps_ubx_parse (uint8_t c) |
void | gps_ubx_msg (void) |
static void | GpsEvent (void) |
Variables | |
struct GpsUbx | gps_ubx |
UBX protocol specific code.
Definition in file gps_ubx.h.
struct GpsUbx |
Data Fields | ||
---|---|---|
uint8_t | ck_a | |
uint8_t | ck_b | |
uint8_t | error_cnt | |
uint8_t | error_last | |
uint8_t | have_velned | |
uint16_t | len | |
bool_t | msg_available | |
uint8_t | msg_buf[GPS_UBX_MAX_PAYLOAD] | |
uint8_t | msg_class | |
uint8_t | msg_id | |
uint8_t | msg_idx | |
uint8_t | send_ck_a | |
uint8_t | send_ck_b | |
uint8_t | sol_flags | |
uint8_t | status | |
uint8_t | status_flags |
#define GPS_UBX_MAX_PAYLOAD 255 |
Definition at line 38 of file gps_ubx.h.
Referenced by gps_ubx_parse().
#define gps_ubx_Reset | ( | _val | ) |
void gps_ubx_msg | ( | void | ) |
Definition at line 323 of file gps_ubx.c.
References FALSE, GpsState::fix, get_sys_time_usec(), gps, GPS_FIX_3D, gps_ubx, GPS_UBX_ID, gps_ubx_read_message(), gps_ubx_ucenter_event, GpsUbx::have_velned, GpsState::last_3dfix_ticks, GpsState::last_3dfix_time, GpsState::last_msg_ticks, GpsState::last_msg_time, GpsUbx::msg_available, GpsUbx::msg_class, GpsUbx::msg_id, sys_time::nb_sec, and sys_time::nb_sec_rem.
Referenced by GpsEvent().
void gps_ubx_parse | ( | uint8_t | c | ) |
Definition at line 192 of file gps_ubx.c.
References GpsUbx::ck_a, GpsUbx::ck_b, GpsUbx::error_cnt, GpsUbx::error_last, GOT_CHECKSUM1, GOT_CLASS, GOT_ID, GOT_LEN1, GOT_LEN2, GOT_PAYLOAD, GOT_SYNC1, GOT_SYNC2, gps_ubx, GPS_UBX_ERR_CHECKSUM, GPS_UBX_ERR_MSG_TOO_LONG, GPS_UBX_ERR_OUT_OF_SYNC, GPS_UBX_ERR_OVERRUN, GPS_UBX_ERR_UNEXPECTED, GPS_UBX_MAX_PAYLOAD, GpsUbx::len, GpsUbx::msg_available, GpsUbx::msg_buf, GpsUbx::msg_class, GpsUbx::msg_id, GpsUbx::msg_idx, GpsUbx::status, TRUE, and UNINIT.
Referenced by GpsEvent().
void gps_ubx_read_message | ( | void | ) |
Definition at line 74 of file gps_ubx.c.
References LlaCoor_i::alt, UtmCoor_i::alt, SVinfo::azim, GpsState::cacc, SVinfo::cno, GpsState::course, UtmCoor_f::east, UtmCoor_i::east, GpsState::ecef_pos, GpsState::ecef_vel, SVinfo::elev, GpsState::fix, SVinfo::flags, gps, GPS_FIX_3D, GPS_NB_CHANNELS, gps_time_sync, gps_ubx, GpsState::gspeed, GpsUbx::have_velned, GpsState::hmsl, LlaCoor_i::lat, LED_ON, LED_TOGGLE, LLA_FLOAT_OF_BFP, GpsState::lla_pos, LlaCoor_i::lon, Min, GpsUbx::msg_buf, GpsUbx::msg_class, GpsUbx::msg_id, nav_utm_zone0, GpsState::nb_channels, sys_time::nb_tick, GpsState::ned_vel, UtmCoor_f::north, UtmCoor_i::north, GpsState::num_sv, GpsState::pacc, GpsState::pdop, SVinfo::qi, GpsState::sacc, GpsUbx::sol_flags, GpsState::speed_3d, GpsUbx::status_flags, SVinfo::svid, GpsState::svinfos, GpsTimeSync::t0_ticks, GpsTimeSync::t0_tow, GpsTimeSync::t0_tow_frac, GpsState::tow, UTM_HEM_SOUTH, utm_of_lla_f(), GpsState::utm_pos, GpsState::week, EcefCoor_i::x, NedCoor_i::x, EcefCoor_i::y, NedCoor_i::y, EcefCoor_i::z, NedCoor_i::z, UtmCoor_f::zone, and UtmCoor_i::zone.
Referenced by gps_ubx_msg().
|
inlinestatic |
Definition at line 101 of file gps_ubx.h.
References link_device::char_available, dev, link_device::get_byte, gps_ubx, gps_ubx_msg(), gps_ubx_parse(), GpsUbx::msg_available, and link_device::periph.
void ubx_header | ( | struct link_device * | dev, |
uint8_t | nav_id, | ||
uint8_t | msg_id, | ||
uint16_t | len | ||
) |
Definition at line 283 of file gps_ubx.c.
References gps_ubx, link_device::periph, link_device::put_byte, GpsUbx::send_ck_a, GpsUbx::send_ck_b, and ubx_send_1byte().
void ubx_send_bytes | ( | struct link_device * | dev, |
uint8_t | len, | ||
uint8_t * | bytes | ||
) |
Definition at line 302 of file gps_ubx.c.
References ubx_send_1byte().
void ubx_send_cfg_rst | ( | struct link_device * | dev, |
uint16_t | bbr, | ||
uint8_t | reset_mode | ||
) |
void ubx_trailer | ( | struct link_device * | dev | ) |
Definition at line 295 of file gps_ubx.c.
References gps_ubx, link_device::periph, link_device::put_byte, GpsUbx::send_ck_a, GpsUbx::send_ck_b, and link_device::send_message.
struct GpsUbx gps_ubx |
Definition at line 58 of file gps_ubx.c.
Referenced by ArduIMU_periodicGPS(), gps_impl_init(), gps_ubx_msg(), gps_ubx_parse(), gps_ubx_read_message(), gps_ubx_ucenter_event(), GpsEvent(), ubx_header(), ubx_send_1byte(), and ubx_trailer().