Paparazzi UAS  v5.17_devel-3-g5993d39
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
gps_ubx.c File Reference
#include "subsystems/gps/gps_ubx.h"
#include "subsystems/abi.h"
#include "led.h"
#include "ubx_protocol.h"
+ Include dependency graph for gps_ubx.c:

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)
 
static void gps_ubx_parse_nav_pvt (void)
 
static void gps_ubx_parse_nav_sol (void)
 
static void gps_ubx_parse_nav_posecef (void)
 
static void gps_ubx_parse_nav_posllh (void)
 
static void gps_ubx_parse_nav_posutm (void)
 
static void gps_ubx_parse_velecef (void)
 
static void gps_ubx_parse_nav_velned (void)
 
static void gps_ubx_parse_nav_svinfo (void)
 
static void gps_ubx_parse_nav_sat (void)
 
static void gps_ubx_parse_nav_status (void)
 
static void gps_ubx_parse_nav_relposned (void)
 
static void gps_ubx_parse_rxm_raw (void)
 
static void gps_ubx_parse_rxm_rtcm (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
 

Macro Definition Documentation

#define DEBUG_PRINT (   ...)    {}

Definition at line 45 of file gps_ubx.c.

Referenced by gps_ubx_parse_rxm_rtcm().

#define GOT_CHECKSUM1   8

Definition at line 60 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GOT_CLASS   3

Definition at line 55 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GOT_ID   4

Definition at line 56 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GOT_LEN1   5

Definition at line 57 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GOT_LEN2   6

Definition at line 58 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GOT_PAYLOAD   7

Definition at line 59 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GOT_SYNC1   1

Definition at line 53 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GOT_SYNC2   2

Definition at line 54 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GPS_UBX_ERR_CHECKSUM   3

Definition at line 68 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GPS_UBX_ERR_MSG_TOO_LONG   2

Definition at line 67 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GPS_UBX_ERR_NONE   0

Definition at line 65 of file gps_ubx.c.

Referenced by gps_ubx_init().

#define GPS_UBX_ERR_OUT_OF_SYNC   5

Definition at line 70 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GPS_UBX_ERR_OVERRUN   1

Definition at line 66 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define GPS_UBX_ERR_UNEXPECTED   4

Definition at line 69 of file gps_ubx.c.

Referenced by gps_ubx_parse().

#define gps_ubx_ucenter_event (   void)    {}

Definition at line 631 of file gps_ubx.c.

Referenced by gps_ubx_msg().

#define NAV_RELPOSNED_VERSION   0x00

Definition at line 63 of file gps_ubx.c.

Referenced by gps_ubx_parse_nav_relposned().

#define RXM_RTCM_VERSION   0x02

Definition at line 62 of file gps_ubx.c.

Referenced by gps_ubx_parse_rxm_rtcm().

#define UNINIT   0

Includes macros generated from ubx.xml.

Definition at line 52 of file gps_ubx.c.

Referenced by gps_ubx_init(), and gps_ubx_parse().

#define USE_GPS_UBX_RTCM   0

Definition at line 28 of file gps_ubx.c.

#define UTM_HEM_NORTH   0

Definition at line 72 of file gps_ubx.c.

#define UTM_HEM_SOUTH   1

Definition at line 73 of file gps_ubx.c.

Referenced by gps_ubx_parse_nav_posutm().

Function Documentation

void gps_ublox_write ( struct link_device *  dev,
uint8_t buff,
uint32_t  n 
)

Definition at line 671 of file gps_ubx.c.

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:

static void gps_ubx_parse_nav_posecef ( void  )
static
static void gps_ubx_parse_nav_posllh ( void  )
static
static void gps_ubx_parse_nav_posutm ( void  )
static
static void gps_ubx_parse_nav_sat ( void  )
static
static void gps_ubx_parse_nav_status ( void  )
static

Definition at line 339 of file gps_ubx.c.

References GpsState::fix, gps_ubx, GpsUbx::msg_buf, GpsUbx::state, GpsUbx::status_flags, and GpsState::tow.

Referenced by gps_ubx_read_message().

+ Here is the caller graph for this function:

static void gps_ubx_parse_nav_svinfo ( void  )
static

Definition at line 299 of file gps_ubx.c.

References SVinfo::azim, SVinfo::cno, SVinfo::elev, SVinfo::flags, GPS_NB_CHANNELS, gps_ubx, Min, GpsUbx::msg_buf, GpsState::nb_channels, SVinfo::qi, GpsUbx::state, SVinfo::svid, and GpsState::svinfos.

Referenced by gps_ubx_read_message().

+ Here is the caller graph for this function:

static void gps_ubx_parse_nav_velned ( void  )
static
static void gps_ubx_parse_rxm_raw ( void  )
static

Definition at line 386 of file gps_ubx.c.

References gps_ubx, GPS_UBX_NB_CHANNELS, Min, and GpsUbx::msg_buf.

Referenced by gps_ubx_read_message().

+ Here is the caller graph for this function:

static void gps_ubx_parse_rxm_rtcm ( void  )
static

Definition at line 406 of file gps_ubx.c.

References RtcmMan::Cnt105, RtcmMan::Cnt177, RtcmMan::Cnt187, RtcmMan::Crc105, RtcmMan::Crc177, RtcmMan::Crc187, DEBUG_PRINT, gps_ubx, GpsUbx::msg_buf, RtcmMan::MsgType, RtcmMan::RefStation, rtcm_man, RTCMgetbitu(), and RXM_RTCM_VERSION.

Referenced by gps_ubx_read_message().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void gps_ubx_parse_velecef ( void  )
static
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:

static void ubx_send_1byte ( struct link_device *  dev,
uint8_t  byte 
)
static

Definition at line 589 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().

+ Here is the caller 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