Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
gps_ubx.h File Reference

UBX protocol specific code. More...

#include "modules/gps/gps.h"
#include "mcu_periph/uart.h"
#include "pprzlink/pprzlink_device.h"
+ Include dependency graph for gps_ubx.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  GpsUbx
 

Macros

#define PRIMARY_GPS   GPS_UBX
 
#define gps_ubx_periodic_check()   gps_periodic_check(&gps_ubx.state)
 
#define GPS_UBX_NB_CHANNELS   40
 
#define GPS_UBX_MAX_PAYLOAD   512
 
#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 gps_ubx_init (void)
 
void gps_ubx_event (void)
 
void gps_ubx_parse_HITL_UBX (uint8_t *buf)
 
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)
 

Variables

struct GpsUbx gps_ubx
 

Detailed Description

UBX protocol specific code.

Definition in file gps_ubx.h.


Data Structure Documentation

◆ GpsUbx

struct GpsUbx

Definition at line 55 of file gps_ubx.h.

+ Collaboration diagram for GpsUbx:
Data Fields
uint8_t ck_a
uint8_t ck_b
uint8_t error_cnt
uint8_t error_last
uint16_t len
bool msg_available
uint8_t msg_buf[GPS_UBX_MAX_PAYLOAD]
uint8_t msg_class
uint8_t msg_id
uint16_t msg_idx
bool pacc_valid
uint8_t reset
uint8_t send_ck_a
uint8_t send_ck_b
uint8_t sol_flags
struct GpsState state
uint8_t status
uint8_t status_flags

Macro Definition Documentation

◆ CFG_RST_BBR_Coldstart

#define CFG_RST_BBR_Coldstart   0xffff

Definition at line 126 of file gps_ubx.h.

◆ CFG_RST_BBR_Hotstart

#define CFG_RST_BBR_Hotstart   0x0000

Definition at line 124 of file gps_ubx.h.

◆ CFG_RST_BBR_Warmstart

#define CFG_RST_BBR_Warmstart   0x0001

Definition at line 125 of file gps_ubx.h.

◆ CFG_RST_Reset_Controlled

#define CFG_RST_Reset_Controlled   0x01

Definition at line 119 of file gps_ubx.h.

◆ CFG_RST_Reset_Controlled_GPS_only

#define CFG_RST_Reset_Controlled_GPS_only   0x02

Definition at line 120 of file gps_ubx.h.

◆ CFG_RST_Reset_Controlled_GPS_start

#define CFG_RST_Reset_Controlled_GPS_start   0x09

Definition at line 122 of file gps_ubx.h.

◆ CFG_RST_Reset_Controlled_GPS_stop

#define CFG_RST_Reset_Controlled_GPS_stop   0x08

Definition at line 121 of file gps_ubx.h.

◆ CFG_RST_Reset_Hardware

#define CFG_RST_Reset_Hardware   0x00

Definition at line 118 of file gps_ubx.h.

◆ GPS_UBX_MAX_PAYLOAD

#define GPS_UBX_MAX_PAYLOAD   512

Definition at line 54 of file gps_ubx.h.

◆ GPS_UBX_NB_CHANNELS

#define GPS_UBX_NB_CHANNELS   40

Definition at line 52 of file gps_ubx.h.

◆ gps_ubx_periodic_check

#define gps_ubx_periodic_check ( )    gps_periodic_check(&gps_ubx.state)

Definition at line 50 of file gps_ubx.h.

◆ gps_ubx_Reset

#define gps_ubx_Reset (   _val)
Value:
{ \
gps_ubx.reset = _val; \
gps_ubx.reset = CFG_RST_BBR_Coldstart; \
ubx_send_cfg_rst(&(UBX_GPS_LINK).device, gps_ubx.reset, CFG_RST_Reset_Controlled); \
}
#define CFG_RST_BBR_Coldstart
Definition: gps_ubx.h:126
struct GpsUbx gps_ubx
Definition: gps_ubx.c:76
uint8_t reset
Definition: gps_ubx.h:68
#define CFG_RST_Reset_Controlled
Definition: gps_ubx.h:119
#define CFG_RST_BBR_Warmstart
Definition: gps_ubx.h:125

Definition at line 128 of file gps_ubx.h.

◆ PRIMARY_GPS

#define PRIMARY_GPS   GPS_UBX

Definition at line 43 of file gps_ubx.h.

Function Documentation

◆ gps_ubx_event()

void gps_ubx_event ( void  )

◆ gps_ubx_init()

◆ gps_ubx_msg()

◆ gps_ubx_parse()

◆ gps_ubx_parse_HITL_UBX()

void gps_ubx_parse_HITL_UBX ( uint8_t buf)

◆ gps_ubx_read_message()

◆ ubx_header()

void ubx_header ( struct link_device *  dev,
uint8_t  nav_id,
uint8_t  msg_id,
uint16_t  len 
)

Definition at line 641 of file gps_ubx.c.

References dev, gps_ubx, GpsUbx::send_ck_a, GpsUbx::send_ck_b, and ubx_send_1byte().

+ Here is the call graph for this function:

◆ ubx_send_bytes()

void ubx_send_bytes ( struct link_device *  dev,
uint8_t  len,
uint8_t bytes 
)

Definition at line 660 of file gps_ubx.c.

References dev, and ubx_send_1byte().

+ Here is the call graph for this function:

◆ ubx_send_cfg_rst()

void ubx_send_cfg_rst ( struct link_device *  dev,
uint16_t  bbr,
uint8_t  reset_mode 
)

Definition at line 668 of file gps_ubx.c.

References dev.

Referenced by gps_ubx_event().

+ Here is the caller graph for this function:

◆ ubx_trailer()

void ubx_trailer ( struct link_device *  dev)

Definition at line 653 of file gps_ubx.c.

References dev, gps_ubx, GpsUbx::send_ck_a, and GpsUbx::send_ck_b.

Variable Documentation

◆ gps_ubx