QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
GPSFamilyProtocol.h File Reference
#include <chrono>
#include <cstdint>
#include <memory>
#include <optional>
#include <span>
#include <string_view>
#include <utility>
#include <vector>
#include <QtCore/QByteArray>
#include <QtCore/QByteArrayView>
#include <QtCore/QLatin1StringView>
#include <QtCore/QString>
#include "GPSCommand.h"
#include "GPSProtocolEvent.h"
#include "GPSReceiverConfig.h"
#include "GPSStreamDemux.h"
#include "GPSType.h"
+ Include dependency graph for GPSFamilyProtocol.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  GPSConfig
 The receiver configuration requested for one configure() attempt. More...
 
struct  GPSReceiverFamily
 
class  GPSDecodeContext
 
struct  GPSNavigationDecode
 What a decode-only runtime decodes from a receiver configured elsewhere (GPSFamilyProtocol::armNavigationDecode()). More...
 
class  GPSFamilyProtocol
 

Typedefs

using GPSLogCategory = const QLoggingCategory &(*)()
 A family's logging category function, as declared by Q_DECLARE_LOGGING_CATEGORY; usable as qCWarning(category).
 
using GPSSignatureFunction = QLatin1StringView(*)(const GPSFrame &frame)
 

Functions

QString gpsReceiverIdentity (const QByteArray &model, const QByteArray &firmware)
 A receiver identity as GPSFamilyProtocol::identity() reports it: "<model> <firmware>", or whichever is known.
 
template<typename Protocol >
std::unique_ptr< GPSFamilyProtocol > gpsCreateProtocol ()
 The create of a family whose protocol is default-constructed: .create = &gpsCreateProtocol<Protocol>.
 

Typedef Documentation

◆ GPSLogCategory

using GPSLogCategory = const QLoggingCategory& (*)()

A family's logging category function, as declared by Q_DECLARE_LOGGING_CATEGORY; usable as qCWarning(category).

Definition at line 29 of file GPSFamilyProtocol.h.

◆ GPSSignatureFunction

using GPSSignatureFunction = QLatin1StringView (*)(const GPSFrame& frame)

Recognises one frame, framed with every framer enabled, as traffic only this family's receivers send.

Returns
what identified it, such as "UBX frames", or an empty view.

Definition at line 33 of file GPSFamilyProtocol.h.

Function Documentation

◆ gpsCreateProtocol()

template<typename Protocol >
std::unique_ptr< GPSFamilyProtocol > gpsCreateProtocol ( )

The create of a family whose protocol is default-constructed: .create = &gpsCreateProtocol<Protocol>.

Definition at line 275 of file GPSFamilyProtocol.h.

◆ gpsReceiverIdentity()

QString gpsReceiverIdentity ( const QByteArray &  model,
const QByteArray &  firmware 
)
inline

A receiver identity as GPSFamilyProtocol::identity() reports it: "<model> <firmware>", or whichever is known.

Definition at line 268 of file GPSFamilyProtocol.h.

Referenced by UBX::Protocol::identity().