QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
RTCMMAVLinkPacket.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4
5#include <QtCore/QByteArray>
6#include <QtCore/QByteArrayView>
7#include <QtCore/QList>
8
10{
11 uint8_t flags = 0;
12 QByteArray data;
13};
14
17{
18public:
19 static constexpr qsizetype kFragmentLen = 180;
20 static constexpr qsizetype kMaxFragments = 4;
21 static constexpr qsizetype kMaxAssembledLen = kFragmentLen * kMaxFragments;
22
23 struct [[nodiscard]] PackResult
24 {
25 QList<GPSRTCMPacket> packets;
26 uint8_t nextSequenceId = 0;
27 };
28
29 static PackResult pack(QByteArrayView data, uint8_t sequenceId);
30
31private:
32 static uint8_t _makeFlags(bool fragmented, uint8_t fragmentId, uint8_t sequenceId);
33};
Pure GPS_RTCM_DATA fragmentation; no vehicle, link, or application dependencies.
static constexpr qsizetype kMaxAssembledLen
static PackResult pack(QByteArrayView data, uint8_t sequenceId)
static constexpr qsizetype kMaxFragments
static constexpr qsizetype kFragmentLen
QList< GPSRTCMPacket > packets