Paparazzi UAS  v4.2.2_stable-4-gcc32f65
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gps_nmea.c File Reference

Parser for the NMEA protocol. More...

#include "subsystems/gps.h"
#include "led.h"
#include "math/pprz_geodetic_float.h"
#include <inttypes.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
+ Include dependency graph for gps_nmea.c:

Go to the source code of this file.

Functions

void parse_nmea_GPGSA (void)
 parse GPGSA-nmea-messages stored in nmea_msg_buf . More...
 
void parse_nmea_GPRMC (void)
 parse GPRMC-nmea-messages stored in gps_nmea.msg_buf . More...
 
void parse_nmea_GPGGA (void)
 parse GPGGA-nmea-messages stored in gps_nmea.msg_buf . More...
 
void gps_impl_init (void)
 
void nmea_parse_msg (void)
 parse_nmea_char() has a complete line. More...
 
void nmea_parse_char (uint8_t c)
 This is the actual parser. More...
 

Variables

struct GpsNmea gps_nmea
 

Detailed Description

Parser for the NMEA protocol.

TODO: THIS NMEA-PARSER IS NOT WELL TESTED AND INCOMPLETE!!! Status: Parsing GGA and RMC is complete, GSA and other records are incomplete.

Definition in file gps_nmea.c.

Function Documentation

void gps_impl_init ( void  )
void nmea_parse_char ( uint8_t  c)

This is the actual parser.

The function to be called when a characted friom the device is available.

It reads one character at a time setting gps_nmea.msg_available to TRUE after a full line.

Definition at line 410 of file gps_nmea.c.

References c, gps_nmea, GpsNmea::msg_available, GpsNmea::msg_buf, GpsNmea::msg_len, NMEA_MAXLEN, and TRUE.

void nmea_parse_msg ( void  )

parse_nmea_char() has a complete line.

Find out what type of message it is and hand it to the parser for that type.

Definition at line 371 of file gps_nmea.c.

References gps_nmea, GpsNmea::msg_buf, GpsNmea::msg_len, NMEA_PRINT, parse_nmea_GPGGA(), parse_nmea_GPGSA(), and parse_nmea_GPRMC().

+ Here is the call graph for this function:

void parse_nmea_GPGSA ( void  )

parse GPGSA-nmea-messages stored in nmea_msg_buf .

Definition at line 73 of file gps_nmea.c.

References GpsState::fix, gps, gps_nmea, GpsNmea::msg_buf, GpsNmea::msg_len, and NMEA_PRINT.

Referenced by nmea_parse_msg().

+ Here is the caller graph for this function:

void parse_nmea_GPRMC ( void  )

parse GPRMC-nmea-messages stored in gps_nmea.msg_buf .

Definition at line 114 of file gps_nmea.c.

References GpsState::course, gps, gps_nmea, GpsState::gspeed, GpsNmea::msg_buf, GpsNmea::msg_len, NMEA_PRINT, and speed.

Referenced by nmea_parse_msg().

+ Here is the caller graph for this function:

Variable Documentation