Paparazzi UAS  v6.0_unstable-94-gda5b527-dirty
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
gps_ubx.h File Reference

UBX protocol specific code. More...

#include "subsystems/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


#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)


void gps_ubx_init (void)
void gps_ubx_event (void)
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)


struct GpsUbx gps_ubx

Detailed Description

UBX protocol specific code.

Definition in file gps_ubx.h.

Data Structure Documentation

struct GpsUbx

Definition at line 54 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
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

#define CFG_RST_BBR_Coldstart   0xffff

Definition at line 123 of file gps_ubx.h.

#define CFG_RST_BBR_Hotstart   0x0000

Definition at line 121 of file gps_ubx.h.

#define CFG_RST_BBR_Warmstart   0x0001

Definition at line 122 of file gps_ubx.h.

#define CFG_RST_Reset_Controlled   0x01

Definition at line 116 of file gps_ubx.h.

#define CFG_RST_Reset_Controlled_GPS_only   0x02

Definition at line 117 of file gps_ubx.h.

#define CFG_RST_Reset_Controlled_GPS_start   0x09

Definition at line 119 of file gps_ubx.h.

#define CFG_RST_Reset_Controlled_GPS_stop   0x08

Definition at line 118 of file gps_ubx.h.

#define CFG_RST_Reset_Hardware   0x00

Definition at line 115 of file gps_ubx.h.

#define GPS_UBX_MAX_PAYLOAD   512

Definition at line 53 of file gps_ubx.h.

Referenced by gps_ubx_parse().

#define GPS_UBX_NB_CHANNELS   40

Definition at line 51 of file gps_ubx.h.

Referenced by gps_ubx_parse_rxm_raw().

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

Definition at line 49 of file gps_ubx.h.

#define gps_ubx_Reset (   _val)
{ \
gps_ubx.reset = _val; \
ubx_send_cfg_rst(&(UBX_GPS_LINK).device, gps_ubx.reset, CFG_RST_Reset_Controlled); \
#define CFG_RST_Reset_Controlled
Definition: gps_ubx.h:116
void ubx_send_cfg_rst(struct link_device *dev, uint16_t bbr, uint8_t reset_mode)
Definition: gps_ubx.c:623
struct GpsUbx gps_ubx
Definition: gps_ubx.c:75
#define CFG_RST_BBR_Coldstart
Definition: gps_ubx.h:123
#define CFG_RST_BBR_Warmstart
Definition: gps_ubx.h:122

Definition at line 125 of file gps_ubx.h.


Definition at line 43 of file gps_ubx.h.

Function Documentation

void gps_ubx_event ( void  )

Definition at line 108 of file gps_ubx.c.

References dev, gps_ubx, gps_ubx_msg(), gps_ubx_parse(), and GpsUbx::msg_available.

+ Here is the call graph for this function:

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

Definition at line 596 of file gps_ubx.c.

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

+ Here is the call graph for this function:

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

Definition at line 615 of file gps_ubx.c.

References ubx_send_1byte().

+ Here is the call graph for this function:

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

Definition at line 623 of file gps_ubx.c.

void ubx_trailer ( struct link_device *  dev)

Definition at line 608 of file gps_ubx.c.

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

Variable Documentation