dRonin
adbada4
dRonin GCS
|
Provide a higher level of telemetry control on top of UAVTalk including setting up transactions and acknowledging their receipt or timeout. More...
Classes | |
class | TransactionKey |
The TransactionKey class A key for the QMap to track transactions. More... | |
class | ObjectTransactionInfo |
class | Telemetry |
struct | Telemetry::TelemetryStats |
class | TelemetryManager |
class | TelemetryMonitor |
struct | TelemetryMonitor::objStruc |
class | UAVTalk |
struct | UAVTalk::ComStats |
struct | UAVTalk::UAVTalkHeader |
struct | UAVTalk::UAVTalkFileData |
class | UAVTalkPlugin |
Signals | |
void | TelemetryManager::connected () |
void | TelemetryManager::disconnected () |
void | TelemetryManager::connectedChanged (bool) |
void | TelemetryMonitor::connected () |
void | TelemetryMonitor::disconnected () |
void | TelemetryMonitor::telemetryUpdated (double txRate, double rxRate) |
void | UAVTalk::ackReceived (UAVObject *obj) |
void | UAVTalk::nackReceived (UAVObject *obj) |
void | UAVTalk::fileDataReceived (quint32 fileId, quint32 offset, quint8 *data, quint32 dataLen, bool eof, bool lastInSeq) |
Public Slots | |
void | TelemetryMonitor::transactionCompleted (UAVObject *obj, bool success, bool nacked) |
void | TelemetryMonitor::processStatsUpdates () |
void | TelemetryMonitor::flightStatsUpdated (UAVObject *obj) |
Protected Slots | |
void | UAVTalkPlugin::onDeviceConnect (QIODevice *dev) |
void | UAVTalkPlugin::onDeviceDisconnect () |
Properties | |
bool | TelemetryManager::connected |
Provide a higher level of telemetry control on top of UAVTalk including setting up transactions and acknowledging their receipt or timeout.
Implementation of the UAVTalk protocol which serializes and deserializes UAVObjects.
The UAVTalk protocol plugin.
QByteArray * TelemetryManager::downloadFile | ( | quint32 | fileId, |
quint32 | maxSize, | ||
std::function< void(quint32)> | progressCb | ||
) |
Definition at line 81 of file telemetrymanager.cpp.
QByteArray * Telemetry::downloadFile | ( | quint32 | fileId, |
quint32 | maxSize, | ||
std::function< void(quint32)> | progressCb = nullptr |
||
) |
Definition at line 406 of file telemetry.cpp.
UAVTalk::ComStats UAVTalk::getStats | ( | ) |
Get the statistics counters
Definition at line 97 of file uavtalk.cpp.
Telemetry::TelemetryStats Telemetry::getStats | ( | ) |
Definition at line 702 of file telemetry.cpp.
|
inline |
Definition at line 52 of file telemetrymanager.h.
|
protected |
Execute the requested transaction on an object.
[in] | obj | Object |
[in] | type | Transaction type TYPE_OBJ: send object with no ack, TYPE_OBJ_REQ: request object update TYPE_OBJ_ACK: send object with an ack |
[in] | allInstances | If set true then all instances will be updated |
Definition at line 174 of file uavtalk.cpp.
ObjectTransactionInfo::ObjectTransactionInfo | ( | QObject * | parent | ) |
Definition at line 766 of file telemetry.cpp.
|
inline |
Definition at line 76 of file telemetry.cpp.
|
inline |
Definition at line 71 of file telemetry.cpp.
bool UAVTalk::processInput | ( | ) |
Process a frame from input, if available.
Definition at line 214 of file uavtalk.cpp.
|
protected |
Processes a frame containing file data.
fielId | the received file id |
data | Buffer to the file data header |
length | Number of bytes of file data header + file data. |
Definition at line 189 of file uavtalk.cpp.
|
protected |
Receive an object. This function process objects received through the telemetry stream.
[in] | type | Type of received message (TYPE_OBJ, TYPE_OBJ_REQ, TYPE_OBJ_ACK, TYPE_ACK, TYPE_NACK) |
[in] | obj | Handle of the received object |
[in] | instId | The instance ID of UAVOBJ_ALL_INSTANCES for all instances. |
[in] | data | Data buffer |
[in] | length | Buffer length |
Definition at line 353 of file uavtalk.cpp.
bool UAVTalk::requestFile | ( | quint32 | fileId, |
quint32 | offset | ||
) |
Send a request for file data.
[in] | fileId | The file id to request. |
[in] | offset | The first requested chunk of the file. |
Definition at line 610 of file uavtalk.cpp.
bool UAVTalk::sendObject | ( | UAVObject * | obj, |
bool | acked, | ||
bool | allInstances | ||
) |
Send the specified object through the telemetry link.
[in] | obj | Object to send |
[in] | acked | Selects if an ack is required |
[in] | allInstances | If set true then all instances will be updated |
Definition at line 155 of file uavtalk.cpp.
bool UAVTalk::sendObjectRequest | ( | UAVObject * | obj, |
bool | allInstances | ||
) |
Request an update for the specified object, on success the object data would have been updated by the GCS.
[in] | obj | Object to update |
[in] | allInstances | If set true then all instances will be updated |
Definition at line 143 of file uavtalk.cpp.
void TelemetryManager::start | ( | QIODevice * | dev | ) |
Definition at line 46 of file telemetrymanager.cpp.
void TelemetryManager::stop | ( | ) |
Definition at line 55 of file telemetrymanager.cpp.
Telemetry::Telemetry | ( | UAVTalk * | utalk, |
UAVObjectManager * | objMngr | ||
) |
Constructor
Definition at line 90 of file telemetry.cpp.
TelemetryManager::TelemetryManager | ( | ) |
Definition at line 32 of file telemetrymanager.cpp.
TelemetryMonitor::TelemetryMonitor | ( | UAVObjectManager * | objMngr, |
Telemetry * | tel | ||
) |
Constructor
Definition at line 96 of file telemetrymonitor.cpp.
|
inline |
Definition at line 56 of file telemetry.cpp.
|
inline |
Definition at line 63 of file telemetry.cpp.
void Telemetry::transactionTimeout | ( | ObjectTransactionInfo * | transInfo | ) |
Called when a transaction is not completed within the timeout period (timer event)
Definition at line 375 of file telemetry.cpp.
|
protected |
Perform the final work of transmitting a frame from the txBuffer.
[in] | length | Frame length, not including checksum. |
[in] | incrTxObj | Boolean, default true, wheter to update tx object counters. |
Definition at line 568 of file uavtalk.cpp.
|
protected |
Transmit a NACK through the telemetry link. This method is separate from transmitsingleobject because we are using an objectID for an unknown object.
[in] | objId | the ObjectID we rejected |
Definition at line 552 of file uavtalk.cpp.
|
protected |
Send an object through the telemetry link.
[in] | obj | Object to send |
[in] | type | Transaction type |
[in] | allInstances | True is all instances of the object are to be sent |
Definition at line 512 of file uavtalk.cpp.
|
protected |
Send an object through the telemetry link.
[in] | obj | Object handle to send |
[in] | type | Transaction type |
Definition at line 630 of file uavtalk.cpp.
UAVTalk::UAVTalk | ( | QIODevice * | iodev, |
UAVObjectManager * | objMngr, | ||
bool | canBlock = true |
||
) |
Constructor
Definition at line 72 of file uavtalk.cpp.
|
protected |
Update the crc value with new data.
Generated by pycrc v0.7.5, http://www.tty1.net/pycrc/ using the configuration: Width = 8 Poly = 0x07 XorIn = 0x00 ReflectIn = False XorOut = 0x00 ReflectOut = False Algorithm = table-driven
crc | The current crc value. |
data | Pointer to a buffer of data_len bytes. |
length | Number of bytes in the data buffer. |
Definition at line 699 of file uavtalk.cpp.
|
protected |
Update the data of an object from a byte array (unpack). If the object instance could not be found in the list, then a new one is created.
Definition at line 475 of file uavtalk.cpp.
ObjectTransactionInfo::~ObjectTransactionInfo | ( | ) |
Definition at line 781 of file telemetry.cpp.
Telemetry::~Telemetry | ( | ) |
Definition at line 118 of file telemetry.cpp.
TelemetryManager::~TelemetryManager | ( | ) |
Definition at line 42 of file telemetrymanager.cpp.
TelemetryMonitor::~TelemetryMonitor | ( | ) |
Definition at line 129 of file telemetrymonitor.cpp.
UAVTalk::~UAVTalk | ( | ) |
Definition at line 87 of file uavtalk.cpp.
bool ObjectTransactionInfo::acked |
Definition at line 59 of file telemetry.h.
|
staticprotected |
bool ObjectTransactionInfo::allInstances |
Definition at line 56 of file telemetry.h.
bool Telemetry::ObjectQueueInfo::allInstances |
Definition at line 129 of file telemetry.h.
|
staticprotected |
EventMask Telemetry::ObjectQueueInfo::event |
Definition at line 128 of file telemetry.h.
|
staticprotected |
|
staticprotected |
quint32 TelemetryMonitor::objStruc::instID |
Definition at line 59 of file telemetrymonitor.h.
quint32 TransactionKey::instId |
Definition at line 83 of file telemetry.cpp.
|
staticprotected |
|
staticprotected |
|
staticprotected |
UAVObject* ObjectTransactionInfo::obj |
Definition at line 55 of file telemetry.h.
UAVObject* Telemetry::ObjectTimeInfo::obj |
Definition at line 120 of file telemetry.h.
UAVObject* Telemetry::ObjectQueueInfo::obj |
Definition at line 127 of file telemetry.h.
quint32 TelemetryMonitor::objStruc::objID |
Definition at line 58 of file telemetrymonitor.h.
quint32 TransactionKey::objId |
Definition at line 82 of file telemetry.cpp.
|
staticprotected |
|
protected |
bool ObjectTransactionInfo::objRequest |
Definition at line 57 of file telemetry.h.
bool TransactionKey::req |
Definition at line 84 of file telemetry.cpp.
qint32 ObjectTransactionInfo::retriesRemaining |
Definition at line 58 of file telemetry.h.
quint32 Telemetry::TelemetryStats::rxBytes |
Definition at line 74 of file telemetry.h.
quint32 Telemetry::TelemetryStats::rxErrors |
Definition at line 80 of file telemetry.h.
quint32 Telemetry::TelemetryStats::rxObjectBytes |
Definition at line 76 of file telemetry.h.
quint32 Telemetry::TelemetryStats::rxObjects |
Definition at line 77 of file telemetry.h.
QPointer<class Telemetry> ObjectTransactionInfo::telem |
Definition at line 60 of file telemetry.h.
QTimer* ObjectTransactionInfo::timer |
Definition at line 61 of file telemetry.h.
qint32 Telemetry::ObjectTimeInfo::timeToNextUpdateMs |
Update period in ms or 0 if no periodic updates are needed
Definition at line 122 of file telemetry.h.
|
staticprotected |
quint32 Telemetry::TelemetryStats::txBytes |
Definition at line 73 of file telemetry.h.
quint32 Telemetry::TelemetryStats::txErrors |
Definition at line 79 of file telemetry.h.
quint32 Telemetry::TelemetryStats::txObjectBytes |
Definition at line 75 of file telemetry.h.
quint32 Telemetry::TelemetryStats::txObjects |
Definition at line 78 of file telemetry.h.
quint32 Telemetry::TelemetryStats::txRetries |
Definition at line 81 of file telemetry.h.
qint32 Telemetry::ObjectTimeInfo::updatePeriodMs |
Definition at line 121 of file telemetry.h.
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
|
signal |
Called each time the flight stats object is updated by the autopilot
Definition at line 342 of file telemetrymonitor.cpp.
|
slot |
Called periodically to update the statistics and connection status.
Definition at line 376 of file telemetrymonitor.cpp.
Called by the retrieved object when a transaction is completed.
Definition at line 253 of file telemetrymonitor.cpp.
|
protectedslot |
Definition at line 74 of file uavtalkplugin.cpp.
|
protectedslot |
Definition at line 79 of file uavtalkplugin.cpp.
|
read |
Definition at line 44 of file telemetrymanager.h.