|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include <RTCMParser.h>
Public Member Functions | |
| RTCMParser () | |
| void | reset () |
| void | setWhitelist (const QVector< int > &ids) |
| bool | isWhitelisted (uint16_t id) const |
| bool | addByte (uint8_t byte) |
| uint8_t * | message () |
| uint16_t | messageLength () const |
| uint16_t | messageId () const |
| const uint8_t * | crcBytes () const |
| bool | validateCrc () const |
| QByteArray | currentFrame () const |
| QByteArray | extractValidFrames (const QByteArray &in, int *framesFound=nullptr, int *framesDropped=nullptr) |
Static Public Member Functions | |
| static uint32_t | crc24q (const uint8_t *data, size_t len) |
Static Public Attributes | |
| static constexpr uint8_t | kPreamble = 0xD3 |
| static constexpr int | kCrcSize = 3 |
| static constexpr int | kHeaderSize = 3 |
Definition at line 9 of file RTCMParser.h.
| RTCMParser::RTCMParser | ( | ) |
Definition at line 3 of file RTCMParser.cc.
References reset().
| bool RTCMParser::addByte | ( | uint8_t | byte | ) |
Definition at line 17 of file RTCMParser.cc.
References addByte(), kCrcSize, kHeaderSize, kPreamble, and reset().
Referenced by addByte(), and extractValidFrames().
|
static |
Definition at line 75 of file RTCMParser.cc.
Referenced by validateCrc().
|
inline |
Definition at line 29 of file RTCMParser.h.
| QByteArray RTCMParser::currentFrame | ( | ) | const |
Bytes of the just-completed frame (header + payload + CRC). Valid only immediately after addByte() returned true, before the next reset().
Definition at line 103 of file RTCMParser.cc.
References kCrcSize, and kHeaderSize.
Referenced by extractValidFrames().
| QByteArray RTCMParser::extractValidFrames | ( | const QByteArray & | in, |
| int * | framesFound = nullptr, |
||
| int * | framesDropped = nullptr |
||
| ) |
Feed a buffer through the parser, carrying state across calls, and return the concatenation of every complete CRC-valid frame found. Whitelist filtering is NOT applied. Optionally reports frame counts for caller logging.
Definition at line 110 of file RTCMParser.cc.
References addByte(), currentFrame(), reset(), and validateCrc().
|
inline |
Definition at line 19 of file RTCMParser.h.
|
inline |
Definition at line 23 of file RTCMParser.h.
| uint16_t RTCMParser::messageId | ( | ) | const |
Definition at line 67 of file RTCMParser.cc.
|
inline |
Definition at line 25 of file RTCMParser.h.
| void RTCMParser::reset | ( | ) |
Definition at line 8 of file RTCMParser.cc.
Referenced by addByte(), extractValidFrames(), RTCMParser(), and RTCMUdpInput::start().
|
inline |
Definition at line 17 of file RTCMParser.h.
| bool RTCMParser::validateCrc | ( | ) | const |
Definition at line 91 of file RTCMParser.cc.
References crc24q(), and kHeaderSize.
Referenced by extractValidFrames().
|
staticconstexpr |
Definition at line 31 of file RTCMParser.h.
Referenced by addByte(), and currentFrame().
|
staticconstexpr |
Definition at line 32 of file RTCMParser.h.
Referenced by addByte(), currentFrame(), and validateCrc().
|
staticconstexpr |
Definition at line 12 of file RTCMParser.h.
Referenced by addByte().