40 #define UBLOX_SET_BINARY "\265\142\006\001\003\000\001\006\001\022\117$PUBX,41,1,0023,0001,115200,0*1C\r\n" 42 #define UBLOX_RXM_RAW_LOGGING 1 43 #define UBLOX_MAX_RXM_RAW_SATS 22 44 #define UBLOX_MAX_RXM_RAWX_SATS 32 45 #define UBLOX_GNSS_SETTINGS 1 47 #define UBLOX_MAX_GNSS_CONFIG_BLOCKS 7 48 #define UBX_MSG_TYPES 2 50 #define UBLOX_MAX_PORTS 6 61 #define CONFIG_RATE_NAV (1<<0) 62 #define CONFIG_RATE_POSLLH (1<<1) 63 #define CONFIG_RATE_STATUS (1<<2) 64 #define CONFIG_RATE_SOL (1<<3) 65 #define CONFIG_RATE_VELNED (1<<4) 66 #define CONFIG_RATE_DOP (1<<5) 67 #define CONFIG_RATE_MON_HW (1<<6) 68 #define CONFIG_RATE_MON_HW2 (1<<7) 69 #define CONFIG_RATE_RAW (1<<8) 70 #define CONFIG_VERSION (1<<9) 71 #define CONFIG_NAV_SETTINGS (1<<10) 72 #define CONFIG_GNSS (1<<11) 73 #define CONFIG_SBAS (1<<12) 74 #define CONFIG_RATE_PVT (1<<13) 76 #define CONFIG_REQUIRED_INITIAL (CONFIG_RATE_NAV | CONFIG_RATE_POSLLH | CONFIG_RATE_STATUS | CONFIG_RATE_VELNED) 78 #define CONFIG_ALL (CONFIG_RATE_NAV | CONFIG_RATE_POSLLH | CONFIG_RATE_STATUS | CONFIG_RATE_SOL | CONFIG_RATE_VELNED \ 79 | CONFIG_RATE_DOP | CONFIG_RATE_MON_HW | CONFIG_RATE_MON_HW2 | CONFIG_RATE_RAW | CONFIG_VERSION \ 80 | CONFIG_NAV_SETTINGS | CONFIG_GNSS | CONFIG_SBAS) 83 #define SAVE_CFG_IO (1<<0) 84 #define SAVE_CFG_MSG (1<<1) 85 #define SAVE_CFG_INF (1<<2) 86 #define SAVE_CFG_NAV (1<<3) 87 #define SAVE_CFG_RXM (1<<4) 88 #define SAVE_CFG_RINV (1<<9) 89 #define SAVE_CFG_ANT (1<<10) 90 #define SAVE_CFG_ALL (SAVE_CFG_IO|SAVE_CFG_MSG|SAVE_CFG_INF|SAVE_CFG_NAV|SAVE_CFG_RXM|SAVE_CFG_RINV|SAVE_CFG_ANT) 105 #if CONFIG_HAL_BOARD != HAL_BOARD_SITL 113 #endif // CONFIG_HAL_BOARD != HAL_BOARD_SITL 120 bool get_lag(
float &lag_sec)
const override;
122 const char *
name()
const override {
return "u-blox"; }
133 #if UBLOX_GNSS_SETTINGS 245 uint8_t month, day, hour, min,
sec;
256 int32_t
velN, velE, velD, gspeed;
261 uint8_t reserved1[6];
263 uint8_t reserved2[4];
323 uint8_t reserved0[3];
325 uint32_t reserved1[2];
340 #if UBLOX_RXM_RAW_LOGGING 362 uint8_t reserved1[3];
412 #if UBLOX_GNSS_SETTINGS 417 #if UBLOX_RXM_RAW_LOGGING 555 void _update_checksum(uint8_t *data, uint16_t len, uint8_t &ck_a, uint8_t &ck_b);
556 bool _send_message(uint8_t msg_class, uint8_t msg_id,
void *msg, uint16_t size);
563 void _verify_rate(uint8_t msg_class, uint8_t msg_id, uint8_t rate);
573 return (uint8_t)(ubx_msg + (state.instance *
UBX_MSG_TYPES));
ubx_cfg_msg_rate_6 msg_rate_6
AP_GPS_UBLOX(AP_GPS &_gps, AP_GPS::GPS_State &_state, AP_HAL::UARTDriver *_port)
bool _send_message(uint8_t msg_class, uint8_t msg_id, void *msg, uint16_t size)
void Write_DataFlash_Log_Startup_messages() const override
#define UBLOX_MAX_GNSS_CONFIG_BLOCKS
int32_t altitude_ellipsoid
#define DEFINE_BYTE_ARRAY_METHODS
uint32_t heading_accuracy
void log_rxm_raw(const struct ubx_rxm_raw &raw)
void log_rxm_rawx(const struct ubx_rxm_rawx &raw)
uint32_t _last_config_time
uint32_t time_to_first_fix
#define UBLOX_MAX_RXM_RAW_SATS
uint32_t _last_cfg_sent_time
void send_next_rate_update(void)
uint32_t _unconfigured_messages
ubx_cfg_msg_rate msg_rate
uint32_t horizontal_accuracy
Receiving valid messages and 3D RTK Fixed.
void _configure_sbas(bool enable)
union AP_GPS_UBLOX::PACKED _buffer
ubx_cfg_nav_rate nav_rate
AP_GPS & gps
access to frontend (for parameters)
GPS_Status
GPS status codes.
void unexpected_message(void)
bool _request_message_rate(uint8_t msg_class, uint8_t msg_id)
void _update_checksum(uint8_t *data, uint16_t len, uint8_t &ck_a, uint8_t &ck_b)
DEFINE_BYTE_ARRAY_METHODS ubx_nav_posllh posllh
void broadcast_configuration_failure_reason(void) const override
static bool _detect(struct UBLOX_detect_state &state, uint8_t data)
const char * name() const override
uint32_t position_accuracy_3d
void _verify_rate(uint8_t msg_class, uint8_t msg_id, uint8_t rate)
AP_GPS::GPS_State & state
public state for this instance
struct ubx_mon_ver _version
uint8_t differential_status
void _request_next_config(void)
uint16_t _payload_counter
void _configure_rate(void)
AP_GPS::GPS_Status highest_supported_status(void)
uint32_t vertical_accuracy
#define UBLOX_MAX_RXM_RAWX_SATS
bool get_lag(float &lag_sec) const override
ubx_cfg_nav_settings nav_settings
uint8_t _ubx_msg_log_index(uint8_t ubx_msg)
ubx_nav_svinfo_header svinfo_header
uint8_t _hardware_generation
bool _configure_message_rate(uint8_t msg_class, uint8_t msg_id, uint8_t rate)
ubx_nav_solution solution
AP_GPS::GPS_Status next_fix
uint8_t _num_cfg_save_tries
void _request_version(void)