3#include <QtCore/QLoggingCategory>
4#include <QtQmlIntegration/QtQmlIntegration>
23 Q_INVOKABLE virtual
void disconnect() = 0;
25 virtual
bool isConnected() const = 0;
26 virtual
bool isLogReplay()
const {
return false; }
31 uint8_t mavlinkChannel()
const;
32 bool mavlinkChannelIsSet()
const;
35 void writeBytesThreadSafe(
const char *bytes,
int length);
37 void removeVehicleReference();
38 bool initMavlinkSigning();
39 void setSigningSignatureFailure(
bool failure);
40 void reportMavlinkV1Traffic();
55 virtual bool _allocateMavlinkChannel();
57 virtual void _freeMavlinkChannel();
59 void _connectionRemoved();
65 virtual void _writeBytes(
const QByteArray &bytes) = 0;
69 virtual bool _connect() = 0;
71 uint8_t _mavlinkChannel = std::numeric_limits<uint8_t>::max();
72 bool _decodedFirstMavlinkPacket =
false;
73 int _vehicleReferenceCount = 0;
74 bool _signingSignatureFailure =
false;
75 bool _mavlinkV1TrafficReported =
false;
Q_DECLARE_LOGGING_CATEGORY(AndroidSerialLog)
std::shared_ptr< LinkConfiguration > SharedLinkConfigurationPtr
std::shared_ptr< LinkInterface > SharedLinkInterfacePtr
std::weak_ptr< LinkInterface > WeakLinkInterfacePtr
The link interface defines the interface for all links used to communicate with the ground station ap...
void bytesReceived(LinkInterface *link, const QByteArray &data)
void setDecodedFirstMavlinkPacket(bool decodedFirstMavlinkPacket)
void addVehicleReference()
bool decodedFirstMavlinkPacket() const
const SharedLinkConfigurationPtr linkConfiguration() const
virtual bool isSecureConnection() const
Returns true if the connection is secure (e.g. USB, wired ethernet)
void communicationError(const QString &title, const QString &error)
void bytesSent(LinkInterface *link, const QByteArray &data)
SharedLinkConfigurationPtr linkConfiguration()
SharedLinkConfigurationPtr _config
Manage communication links The Link Manager organizes the physical Links. It can manage arbitrary lin...