Paparazzi UAS
v5.14.0_stable-0-g3f680d1
Paparazzi is a free software Unmanned Aircraft System.
|
#include "subsystems/gps/gps_ubx.h"
#include "subsystems/abi.h"
#include "led.h"
#include "ubx_protocol.h"
Go to the source code of this file.
Macros | |
#define | USE_GPS_UBX_RTCM 0 |
#define | DEBUG_PRINT(...) {} |
#define | UNINIT 0 |
Includes macros generated from ubx.xml. More... | |
#define | GOT_SYNC1 1 |
#define | GOT_SYNC2 2 |
#define | GOT_CLASS 3 |
#define | GOT_ID 4 |
#define | GOT_LEN1 5 |
#define | GOT_LEN2 6 |
#define | GOT_PAYLOAD 7 |
#define | GOT_CHECKSUM1 8 |
#define | RXM_RTCM_VERSION 0x02 |
#define | NAV_RELPOSNED_VERSION 0x00 |
#define | GPS_UBX_ERR_NONE 0 |
#define | GPS_UBX_ERR_OVERRUN 1 |
#define | GPS_UBX_ERR_MSG_TOO_LONG 2 |
#define | GPS_UBX_ERR_CHECKSUM 3 |
#define | GPS_UBX_ERR_UNEXPECTED 4 |
#define | GPS_UBX_ERR_OUT_OF_SYNC 5 |
#define | UTM_HEM_NORTH 0 |
#define | UTM_HEM_SOUTH 1 |
#define | gps_ubx_ucenter_event() {} |
Functions | |
void | gps_ubx_init (void) |
void | gps_ubx_event (void) |
void | gps_ubx_read_message (void) |
void | gps_ubx_parse (uint8_t c) |
static void | ubx_send_1byte (struct link_device *dev, uint8_t byte) |
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_msg (void) |
void | gps_ublox_write (struct link_device *dev, uint8_t *buff, uint32_t n) |
Variables | |
struct GpsUbx | gps_ubx |
bool | safeToInject = true |
struct GpsTimeSync | gps_ubx_time_sync |
#define DEBUG_PRINT | ( | ... | ) | {} |
Definition at line 43 of file gps_ubx.c.
Referenced by gps_ubx_read_message().
#define GOT_CHECKSUM1 8 |
Definition at line 58 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GOT_CLASS 3 |
Definition at line 53 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GOT_ID 4 |
Definition at line 54 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GOT_LEN1 5 |
Definition at line 55 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GOT_LEN2 6 |
Definition at line 56 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GOT_PAYLOAD 7 |
Definition at line 57 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GOT_SYNC1 1 |
Definition at line 51 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GOT_SYNC2 2 |
Definition at line 52 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GPS_UBX_ERR_CHECKSUM 3 |
Definition at line 66 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GPS_UBX_ERR_MSG_TOO_LONG 2 |
Definition at line 65 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GPS_UBX_ERR_NONE 0 |
Definition at line 63 of file gps_ubx.c.
Referenced by gps_ubx_init().
#define GPS_UBX_ERR_OUT_OF_SYNC 5 |
Definition at line 68 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GPS_UBX_ERR_OVERRUN 1 |
Definition at line 64 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define GPS_UBX_ERR_UNEXPECTED 4 |
Definition at line 67 of file gps_ubx.c.
Referenced by gps_ubx_parse().
#define gps_ubx_ucenter_event | ( | void | ) | {} |
Definition at line 431 of file gps_ubx.c.
Referenced by gps_ubx_msg().
#define NAV_RELPOSNED_VERSION 0x00 |
Definition at line 61 of file gps_ubx.c.
Referenced by gps_ubx_read_message().
#define RXM_RTCM_VERSION 0x02 |
Definition at line 60 of file gps_ubx.c.
Referenced by gps_ubx_read_message().
#define UNINIT 0 |
Includes macros generated from ubx.xml.
Definition at line 50 of file gps_ubx.c.
Referenced by gps_ubx_init(), and gps_ubx_parse().
#define UTM_HEM_SOUTH 1 |
Definition at line 71 of file gps_ubx.c.
Referenced by gps_ubx_read_message().
void gps_ubx_event | ( | void | ) |
Definition at line 109 of file gps_ubx.c.
References dev, gps_ubx, gps_ubx_msg(), gps_ubx_parse(), and GpsUbx::msg_available.
void gps_ubx_init | ( | void | ) |
Definition at line 99 of file gps_ubx.c.
References GpsState::comp_id, GpsUbx::error_cnt, GpsUbx::error_last, gps_ubx, GPS_UBX_ERR_NONE, GPS_UBX_ID, GpsUbx::msg_available, GpsUbx::state, GpsUbx::status, and UNINIT.
void gps_ubx_msg | ( | void | ) |
Definition at line 436 of file gps_ubx.c.
References GpsState::fix, get_sys_time_usec(), GPS_FIX_3D, gps_ubx, GPS_UBX_ID, gps_ubx_read_message(), gps_ubx_ucenter_event, GPS_VALID_VEL_NED_BIT, 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, sys_time::nb_sec_rem, GpsUbx::state, and GpsState::valid_fields.
Referenced by gps_ubx_event().
void gps_ubx_parse | ( | uint8_t | c | ) |
Definition at line 305 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, pprzLogFile, GpsUbx::status, and UNINIT.
Referenced by gps_ubx_event().
void gps_ubx_read_message | ( | void | ) |
Definition at line 121 of file gps_ubx.c.
References GpsRelposNED::accD, GpsRelposNED::accE, GpsRelposNED::accN, LlaCoor_i::alt, UtmCoor_i::alt, SVinfo::azim, GpsState::cacc, GpsRelposNED::carrSoln, SVinfo::cno, RtcmMan::Cnt105, RtcmMan::Cnt177, RtcmMan::Cnt187, GpsState::course, RtcmMan::Crc105, RtcmMan::Crc177, RtcmMan::Crc187, DEBUG_PRINT, GpsRelposNED::diffSoln, UtmCoor_i::east, GpsState::ecef_pos, GpsState::ecef_vel, SVinfo::elev, GpsState::fix, SVinfo::flags, GpsRelposNED::gnssFixOK, GPS_FIX_3D, GPS_NB_CHANNELS, gps_relposned, gps_ubx, GPS_UBX_NB_CHANNELS, gps_ubx_time_sync, GPS_VALID_COURSE_BIT, GPS_VALID_HMSL_BIT, GPS_VALID_POS_ECEF_BIT, GPS_VALID_POS_LLA_BIT, GPS_VALID_POS_UTM_BIT, GPS_VALID_VEL_ECEF_BIT, GPS_VALID_VEL_NED_BIT, GpsState::gspeed, GpsState::hmsl, GpsRelposNED::iTOW, LlaCoor_i::lat, LED_ON, LED_TOGGLE, GpsState::lla_pos, LlaCoor_i::lon, Min, GpsUbx::msg_buf, GpsUbx::msg_class, GpsUbx::msg_id, RtcmMan::MsgType, NAV_RELPOSNED_VERSION, GpsState::nb_channels, sys_time::nb_tick, GpsState::ned_vel, UtmCoor_i::north, GpsState::num_sv, GpsState::pacc, GpsState::pdop, SVinfo::qi, RtcmMan::RefStation, GpsRelposNED::refStationId, GpsRelposNED::relPosD, GpsRelposNED::relPosE, GpsRelposNED::relPosHPD, GpsRelposNED::relPosHPE, GpsRelposNED::relPosHPN, GpsRelposNED::relPosN, GpsRelposNED::relPosValid, rtcm_man, RTCMgetbitu(), RXM_RTCM_VERSION, GpsState::sacc, GpsUbx::sol_flags, GpsState::speed_3d, GpsUbx::state, GpsUbx::status_flags, SVinfo::svid, GpsState::svinfos, GpsTimeSync::t0_ticks, GpsTimeSync::t0_tow, GpsTimeSync::t0_tow_frac, GpsState::tow, UTM_HEM_SOUTH, GpsState::utm_pos, GpsState::valid_fields, GpsState::week, EcefCoor_i::x, NedCoor_i::x, EcefCoor_i::y, NedCoor_i::y, EcefCoor_i::z, NedCoor_i::z, and UtmCoor_i::zone.
Referenced by gps_ubx_msg().
Definition at line 396 of file gps_ubx.c.
References gps_ubx, GpsUbx::send_ck_a, GpsUbx::send_ck_b, and ubx_send_1byte().
|
static |
Definition at line 389 of file gps_ubx.c.
References byte, gps_ubx, GpsUbx::send_ck_a, and GpsUbx::send_ck_b.
Referenced by ubx_header(), and ubx_send_bytes().
Definition at line 415 of file gps_ubx.c.
References ubx_send_1byte().
void ubx_trailer | ( | struct link_device * | dev | ) |
Definition at line 408 of file gps_ubx.c.
References gps_ubx, GpsUbx::send_ck_a, and GpsUbx::send_ck_b.
struct GpsUbx gps_ubx |
Definition at line 73 of file gps_ubx.c.
Referenced by ArduIMU_periodicGPS(), gps_ubx_event(), gps_ubx_init(), gps_ubx_msg(), gps_ubx_parse(), gps_ubx_read_message(), gps_ubx_ucenter_event(), ubx_header(), ubx_send_1byte(), and ubx_trailer().
struct GpsTimeSync gps_ubx_time_sync |
Definition at line 97 of file gps_ubx.c.
Referenced by gps_ubx_read_message().