|
|
@ -23,20 +23,20 @@ Q_DECLARE_LOGGING_CATEGORY(MAVLinkInspectorLog) |
|
|
|
QT_CHARTS_USE_NAMESPACE |
|
|
|
QT_CHARTS_USE_NAMESPACE |
|
|
|
|
|
|
|
|
|
|
|
class QGCMAVLinkMessage; |
|
|
|
class QGCMAVLinkMessage; |
|
|
|
|
|
|
|
class MAVLinkChartController; |
|
|
|
class MAVLinkInspectorController; |
|
|
|
class MAVLinkInspectorController; |
|
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class QGCMAVLinkMessageField : public QObject { |
|
|
|
class QGCMAVLinkMessageField : public QObject { |
|
|
|
Q_OBJECT |
|
|
|
Q_OBJECT |
|
|
|
|
|
|
|
public: |
|
|
|
Q_PROPERTY(QString name READ name CONSTANT) |
|
|
|
Q_PROPERTY(QString name READ name CONSTANT) |
|
|
|
Q_PROPERTY(QString label READ label CONSTANT) |
|
|
|
Q_PROPERTY(QString label READ label CONSTANT) |
|
|
|
Q_PROPERTY(QString type READ type CONSTANT) |
|
|
|
Q_PROPERTY(QString type READ type CONSTANT) |
|
|
|
Q_PROPERTY(QString value READ value NOTIFY valueChanged) |
|
|
|
Q_PROPERTY(QString value READ value NOTIFY valueChanged) |
|
|
|
Q_PROPERTY(bool selectable READ selectable NOTIFY selectableChanged) |
|
|
|
Q_PROPERTY(bool selectable READ selectable NOTIFY selectableChanged) |
|
|
|
Q_PROPERTY(bool left READ left NOTIFY seriesChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QAbstractSeries* series READ series NOTIFY seriesChanged) |
|
|
|
Q_PROPERTY(QAbstractSeries* series READ series NOTIFY seriesChanged) |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
|
|
|
|
|
QGCMAVLinkMessageField(QGCMAVLinkMessage* parent, QString name, QString type); |
|
|
|
QGCMAVLinkMessageField(QGCMAVLinkMessage* parent, QString name, QString type); |
|
|
|
|
|
|
|
|
|
|
|
QString name () { return _name; } |
|
|
|
QString name () { return _name; } |
|
|
@ -45,7 +45,6 @@ public: |
|
|
|
QString value () { return _value; } |
|
|
|
QString value () { return _value; } |
|
|
|
bool selectable () { return _selectable; } |
|
|
|
bool selectable () { return _selectable; } |
|
|
|
bool selected () { return _pSeries != nullptr; } |
|
|
|
bool selected () { return _pSeries != nullptr; } |
|
|
|
bool left () { return _left; } |
|
|
|
|
|
|
|
QAbstractSeries*series () { return _pSeries; } |
|
|
|
QAbstractSeries*series () { return _pSeries; } |
|
|
|
QList<QPointF>* values () { return &_values;} |
|
|
|
QList<QPointF>* values () { return &_values;} |
|
|
|
qreal rangeMin () { return _rangeMin; } |
|
|
|
qreal rangeMin () { return _rangeMin; } |
|
|
@ -54,7 +53,7 @@ public: |
|
|
|
void setSelectable (bool sel); |
|
|
|
void setSelectable (bool sel); |
|
|
|
void updateValue (QString newValue, qreal v); |
|
|
|
void updateValue (QString newValue, qreal v); |
|
|
|
|
|
|
|
|
|
|
|
void addSeries (QAbstractSeries* series, bool left); |
|
|
|
void addSeries (MAVLinkChartController* chart, QAbstractSeries* series); |
|
|
|
void delSeries (); |
|
|
|
void delSeries (); |
|
|
|
void updateSeries (); |
|
|
|
void updateSeries (); |
|
|
|
|
|
|
|
|
|
|
@ -68,19 +67,20 @@ private: |
|
|
|
QString _name; |
|
|
|
QString _name; |
|
|
|
QString _value; |
|
|
|
QString _value; |
|
|
|
bool _selectable = true; |
|
|
|
bool _selectable = true; |
|
|
|
bool _left = false; |
|
|
|
|
|
|
|
int _dataIndex = 0; |
|
|
|
int _dataIndex = 0; |
|
|
|
qreal _rangeMin = 0; |
|
|
|
qreal _rangeMin = 0; |
|
|
|
qreal _rangeMax = 0; |
|
|
|
qreal _rangeMax = 0; |
|
|
|
|
|
|
|
|
|
|
|
QAbstractSeries* _pSeries = nullptr; |
|
|
|
QAbstractSeries* _pSeries = nullptr; |
|
|
|
QGCMAVLinkMessage* _msg = nullptr; |
|
|
|
QGCMAVLinkMessage* _msg = nullptr; |
|
|
|
|
|
|
|
MAVLinkChartController* _chart = nullptr; |
|
|
|
QList<QPointF> _values; |
|
|
|
QList<QPointF> _values; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class QGCMAVLinkMessage : public QObject { |
|
|
|
class QGCMAVLinkMessage : public QObject { |
|
|
|
Q_OBJECT |
|
|
|
Q_OBJECT |
|
|
|
|
|
|
|
public: |
|
|
|
Q_PROPERTY(quint32 id READ id NOTIFY indexChanged) |
|
|
|
Q_PROPERTY(quint32 id READ id NOTIFY indexChanged) |
|
|
|
Q_PROPERTY(quint32 cid READ cid NOTIFY indexChanged) |
|
|
|
Q_PROPERTY(quint32 cid READ cid NOTIFY indexChanged) |
|
|
|
Q_PROPERTY(QString name READ name NOTIFY indexChanged) |
|
|
|
Q_PROPERTY(QString name READ name NOTIFY indexChanged) |
|
|
@ -89,8 +89,7 @@ class QGCMAVLinkMessage : public QObject { |
|
|
|
Q_PROPERTY(QmlObjectListModel* fields READ fields NOTIFY indexChanged) |
|
|
|
Q_PROPERTY(QmlObjectListModel* fields READ fields NOTIFY indexChanged) |
|
|
|
Q_PROPERTY(bool selected READ selected NOTIFY selectedChanged) |
|
|
|
Q_PROPERTY(bool selected READ selected NOTIFY selectedChanged) |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
|
QGCMAVLinkMessage(QObject* parent, mavlink_message_t* message); |
|
|
|
QGCMAVLinkMessage(MAVLinkInspectorController* parent, mavlink_message_t* message); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
quint32 id () { return _message.msgid; } |
|
|
|
quint32 id () { return _message.msgid; } |
|
|
|
quint8 cid () { return _message.compid; } |
|
|
|
quint8 cid () { return _message.compid; } |
|
|
@ -101,8 +100,6 @@ public: |
|
|
|
QmlObjectListModel* fields () { return &_fields; } |
|
|
|
QmlObjectListModel* fields () { return &_fields; } |
|
|
|
bool selected () { return _selected; } |
|
|
|
bool selected () { return _selected; } |
|
|
|
|
|
|
|
|
|
|
|
MAVLinkInspectorController* msgCtl () { return _msgCtl; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void select (); |
|
|
|
void select (); |
|
|
|
void update (mavlink_message_t* message); |
|
|
|
void update (mavlink_message_t* message); |
|
|
|
void updateFreq (); |
|
|
|
void updateFreq (); |
|
|
@ -120,19 +117,18 @@ private: |
|
|
|
uint64_t _count = 0; |
|
|
|
uint64_t _count = 0; |
|
|
|
uint64_t _lastCount = 0; |
|
|
|
uint64_t _lastCount = 0; |
|
|
|
mavlink_message_t _message; //-- List of QGCMAVLinkMessageField
|
|
|
|
mavlink_message_t _message; //-- List of QGCMAVLinkMessageField
|
|
|
|
MAVLinkInspectorController* _msgCtl = nullptr; |
|
|
|
|
|
|
|
bool _selected = false; |
|
|
|
bool _selected = false; |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class QGCMAVLinkVehicle : public QObject { |
|
|
|
class QGCMAVLinkVehicle : public QObject { |
|
|
|
Q_OBJECT |
|
|
|
Q_OBJECT |
|
|
|
|
|
|
|
public: |
|
|
|
Q_PROPERTY(quint8 id READ id CONSTANT) |
|
|
|
Q_PROPERTY(quint8 id READ id CONSTANT) |
|
|
|
Q_PROPERTY(QmlObjectListModel* messages READ messages NOTIFY messagesChanged) |
|
|
|
Q_PROPERTY(QmlObjectListModel* messages READ messages NOTIFY messagesChanged) |
|
|
|
Q_PROPERTY(QList<int> compIDs READ compIDs NOTIFY compIDsChanged) |
|
|
|
Q_PROPERTY(QList<int> compIDs READ compIDs NOTIFY compIDsChanged) |
|
|
|
Q_PROPERTY(QStringList compIDsStr READ compIDsStr NOTIFY compIDsChanged) |
|
|
|
Q_PROPERTY(QStringList compIDsStr READ compIDsStr NOTIFY compIDsChanged) |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
|
|
|
|
|
QGCMAVLinkVehicle(QObject* parent, quint8 id); |
|
|
|
QGCMAVLinkVehicle(QObject* parent, quint8 id); |
|
|
|
|
|
|
|
|
|
|
|
quint8 id () { return _id; } |
|
|
|
quint8 id () { return _id; } |
|
|
@ -158,6 +154,63 @@ private: |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
class MAVLinkChartController : public QObject { |
|
|
|
|
|
|
|
Q_OBJECT |
|
|
|
|
|
|
|
public: |
|
|
|
|
|
|
|
MAVLinkChartController(MAVLinkInspectorController* parent); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q_PROPERTY(QVariantList chartFields READ chartFields NOTIFY chartFieldsChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QDateTime rangeXMin READ rangeXMin NOTIFY rangeXMinChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QDateTime rangeXMax READ rangeXMax NOTIFY rangeXMaxChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(qreal rangeYMin READ rangeYMin NOTIFY rangeYMinChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(qreal rangeYMax READ rangeYMax NOTIFY rangeYMaxChanged) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q_PROPERTY(quint32 rangeYIndex READ rangeYIndex WRITE setRangeYIndex NOTIFY rangeYIndexChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(quint32 rangeXIndex READ rangeXIndex WRITE setRangeXIndex NOTIFY rangeXIndexChanged) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q_INVOKABLE void addSeries (QGCMAVLinkMessageField* field, QAbstractSeries* series); |
|
|
|
|
|
|
|
Q_INVOKABLE void delSeries (QGCMAVLinkMessageField* field); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q_INVOKABLE MAVLinkInspectorController* controller() { return _controller; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QVariantList chartFields () { return _chartFields; } |
|
|
|
|
|
|
|
QDateTime rangeXMin () { return _rangeXMin; } |
|
|
|
|
|
|
|
QDateTime rangeXMax () { return _rangeXMax; } |
|
|
|
|
|
|
|
qreal rangeYMin () { return _rangeYMin; } |
|
|
|
|
|
|
|
qreal rangeYMax () { return _rangeYMax; } |
|
|
|
|
|
|
|
quint32 rangeXIndex () { return _rangeXIndex; } |
|
|
|
|
|
|
|
quint32 rangeYIndex () { return _rangeYIndex; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void setRangeXIndex (quint32 t); |
|
|
|
|
|
|
|
void setRangeYIndex (quint32 r); |
|
|
|
|
|
|
|
void updateXRange (); |
|
|
|
|
|
|
|
void updateYRange (); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
signals: |
|
|
|
|
|
|
|
void chartFieldsChanged (); |
|
|
|
|
|
|
|
void rangeXMinChanged (); |
|
|
|
|
|
|
|
void rangeXMaxChanged (); |
|
|
|
|
|
|
|
void rangeYMinChanged (); |
|
|
|
|
|
|
|
void rangeYMaxChanged (); |
|
|
|
|
|
|
|
void rangeYIndexChanged (); |
|
|
|
|
|
|
|
void rangeXIndexChanged (); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private slots: |
|
|
|
|
|
|
|
void _refreshSeries (); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
|
|
|
QTimer _updateSeriesTimer; |
|
|
|
|
|
|
|
QDateTime _rangeXMin; |
|
|
|
|
|
|
|
QDateTime _rangeXMax; |
|
|
|
|
|
|
|
qreal _rangeYMin = 0; |
|
|
|
|
|
|
|
qreal _rangeYMax = 1; |
|
|
|
|
|
|
|
quint32 _rangeXIndex = 0; ///< 5 Seconds
|
|
|
|
|
|
|
|
quint32 _rangeYIndex = 0; ///< Auto Range
|
|
|
|
|
|
|
|
QVariantList _chartFields; |
|
|
|
|
|
|
|
MAVLinkInspectorController* _controller = nullptr; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class MAVLinkInspectorController : public QObject |
|
|
|
class MAVLinkInspectorController : public QObject |
|
|
|
{ |
|
|
|
{ |
|
|
|
Q_OBJECT |
|
|
|
Q_OBJECT |
|
|
@ -167,71 +220,44 @@ public: |
|
|
|
|
|
|
|
|
|
|
|
Q_PROPERTY(QStringList vehicleNames READ vehicleNames NOTIFY vehiclesChanged) |
|
|
|
Q_PROPERTY(QStringList vehicleNames READ vehicleNames NOTIFY vehiclesChanged) |
|
|
|
Q_PROPERTY(QmlObjectListModel* vehicles READ vehicles NOTIFY vehiclesChanged) |
|
|
|
Q_PROPERTY(QmlObjectListModel* vehicles READ vehicles NOTIFY vehiclesChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QmlObjectListModel* charts READ charts NOTIFY chartsChanged) |
|
|
|
Q_PROPERTY(QGCMAVLinkVehicle* activeVehicle READ activeVehicle NOTIFY activeVehiclesChanged) |
|
|
|
Q_PROPERTY(QGCMAVLinkVehicle* activeVehicle READ activeVehicle NOTIFY activeVehiclesChanged) |
|
|
|
Q_PROPERTY(QVariantList rightChartFields READ rightChartFields NOTIFY rightChartFieldsChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QVariantList leftChartFields READ leftChartFields NOTIFY leftChartFieldsChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(int seriesCount READ seriesCount NOTIFY seriesCountChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QDateTime rangeXMin READ rangeXMin NOTIFY rangeMinXChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QDateTime rangeXMax READ rangeXMax NOTIFY rangeMaxXChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(qreal rightRangeMin READ rightRangeMin NOTIFY rightRangeMinChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(qreal rightRangeMax READ rightRangeMax NOTIFY rightRangeMaxChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(qreal leftRangeMin READ leftRangeMin NOTIFY leftRangeMinChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(qreal leftRangeMax READ leftRangeMax NOTIFY leftRangeMaxChanged) |
|
|
|
|
|
|
|
Q_PROPERTY(QStringList timeScales READ timeScales NOTIFY timeScalesChanged) |
|
|
|
Q_PROPERTY(QStringList timeScales READ timeScales NOTIFY timeScalesChanged) |
|
|
|
Q_PROPERTY(QStringList rangeList READ rangeList NOTIFY rangeListChanged) |
|
|
|
Q_PROPERTY(QStringList rangeList READ rangeList NOTIFY rangeListChanged) |
|
|
|
|
|
|
|
|
|
|
|
Q_PROPERTY(quint32 leftRangeIdx READ leftRangeIdx WRITE setLeftRangeIdx NOTIFY leftRangeChanged) |
|
|
|
Q_INVOKABLE MAVLinkChartController* createChart (); |
|
|
|
Q_PROPERTY(quint32 rightRangeIdx READ rightRangeIdx WRITE setRightRangeIdx NOTIFY rightRangeChanged) |
|
|
|
Q_INVOKABLE void deleteChart (MAVLinkChartController* chart); |
|
|
|
Q_PROPERTY(quint32 timeScale READ timeScale WRITE setTimeScale NOTIFY timeScaleChanged) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q_INVOKABLE void addSeries (QGCMAVLinkMessageField* field, QAbstractSeries* series, bool left); |
|
|
|
|
|
|
|
Q_INVOKABLE void delSeries (QGCMAVLinkMessageField* field); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
QmlObjectListModel* vehicles () { return &_vehicles; } |
|
|
|
QmlObjectListModel* vehicles () { return &_vehicles; } |
|
|
|
|
|
|
|
QmlObjectListModel* charts () { return &_charts; } |
|
|
|
QGCMAVLinkVehicle* activeVehicle () { return _activeVehicle; } |
|
|
|
QGCMAVLinkVehicle* activeVehicle () { return _activeVehicle; } |
|
|
|
QStringList vehicleNames () { return _vehicleNames; } |
|
|
|
QStringList vehicleNames () { return _vehicleNames; } |
|
|
|
quint32 timeScale () { return _timeScale; } |
|
|
|
|
|
|
|
QStringList timeScales (); |
|
|
|
QStringList timeScales (); |
|
|
|
int seriesCount () { return _rightChartFields.count() + _leftChartFields.count(); } |
|
|
|
|
|
|
|
QStringList rangeList (); |
|
|
|
QStringList rangeList (); |
|
|
|
QVariantList rightChartFields () { return _rightChartFields; } |
|
|
|
|
|
|
|
QVariantList leftChartFields () { return _leftChartFields; } |
|
|
|
|
|
|
|
QDateTime rangeXMin () { return _rangeXMin; } |
|
|
|
|
|
|
|
QDateTime rangeXMax () { return _rangeXMax; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qreal rightRangeMin () { return _rightRangeMin; } |
|
|
|
class TimeScale_st : public QObject { |
|
|
|
qreal rightRangeMax () { return _rightRangeMax; } |
|
|
|
public: |
|
|
|
quint32 rightRangeIdx () { return _rightRangeIndex; } |
|
|
|
TimeScale_st(QObject* parent, const QString& l, uint32_t t); |
|
|
|
|
|
|
|
QString label; |
|
|
|
|
|
|
|
uint32_t timeScale; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
qreal leftRangeMin () { return _leftRangeMin; } |
|
|
|
class Range_st : public QObject { |
|
|
|
qreal leftRangeMax () { return _leftRangeMax; } |
|
|
|
public: |
|
|
|
quint32 leftRangeIdx () { return _leftRangeIndex; } |
|
|
|
Range_st(QObject* parent, const QString& l, qreal r); |
|
|
|
|
|
|
|
QString label; |
|
|
|
|
|
|
|
qreal range; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
void setTimeScale (quint32 t); |
|
|
|
const QList<TimeScale_st*>& timeScaleSt () { return _timeScaleSt; } |
|
|
|
void setRightRangeIdx (quint32 r); |
|
|
|
const QList<Range_st*>& rangeSt () { return _rangeSt; } |
|
|
|
void setLeftRangeIdx (quint32 r); |
|
|
|
|
|
|
|
void addChartField (QGCMAVLinkMessageField* field, bool left); |
|
|
|
|
|
|
|
void delChartField (QGCMAVLinkMessageField* field, bool left); |
|
|
|
|
|
|
|
void updateXRange (); |
|
|
|
|
|
|
|
void updateYRange (bool left); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
signals: |
|
|
|
signals: |
|
|
|
void vehiclesChanged (); |
|
|
|
void vehiclesChanged (); |
|
|
|
|
|
|
|
void chartsChanged (); |
|
|
|
void activeVehiclesChanged (); |
|
|
|
void activeVehiclesChanged (); |
|
|
|
void rightChartFieldsChanged (); |
|
|
|
|
|
|
|
void leftChartFieldsChanged (); |
|
|
|
|
|
|
|
void timeScaleChanged (); |
|
|
|
|
|
|
|
void rangeMinXChanged (); |
|
|
|
|
|
|
|
void rangeMaxXChanged (); |
|
|
|
|
|
|
|
void timeScalesChanged (); |
|
|
|
void timeScalesChanged (); |
|
|
|
void rangeListChanged (); |
|
|
|
void rangeListChanged (); |
|
|
|
void rightRangeMinChanged (); |
|
|
|
|
|
|
|
void rightRangeMaxChanged (); |
|
|
|
|
|
|
|
void rightRangeChanged (); |
|
|
|
|
|
|
|
void leftRangeMinChanged (); |
|
|
|
|
|
|
|
void leftRangeMaxChanged (); |
|
|
|
|
|
|
|
void leftRangeChanged (); |
|
|
|
|
|
|
|
void seriesCountChanged (); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private slots: |
|
|
|
private slots: |
|
|
|
void _receiveMessage (LinkInterface* link, mavlink_message_t message); |
|
|
|
void _receiveMessage (LinkInterface* link, mavlink_message_t message); |
|
|
@ -239,47 +265,22 @@ private slots: |
|
|
|
void _vehicleRemoved (Vehicle* vehicle); |
|
|
|
void _vehicleRemoved (Vehicle* vehicle); |
|
|
|
void _setActiveVehicle (Vehicle* vehicle); |
|
|
|
void _setActiveVehicle (Vehicle* vehicle); |
|
|
|
void _refreshFrequency (); |
|
|
|
void _refreshFrequency (); |
|
|
|
void _refreshSeries (); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
|
private: |
|
|
|
QGCMAVLinkVehicle* _findVehicle (uint8_t id); |
|
|
|
QGCMAVLinkVehicle* _findVehicle (uint8_t id); |
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
|
private: |
|
|
|
|
|
|
|
|
|
|
|
class TimeScale_st : public QObject { |
|
|
|
|
|
|
|
public: |
|
|
|
|
|
|
|
TimeScale_st(QObject* parent, const QString& l, uint32_t t); |
|
|
|
|
|
|
|
QString label; |
|
|
|
|
|
|
|
uint32_t timeScale; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Range_st : public QObject { |
|
|
|
|
|
|
|
public: |
|
|
|
|
|
|
|
Range_st(QObject* parent, const QString& l, qreal r); |
|
|
|
|
|
|
|
QString label; |
|
|
|
|
|
|
|
qreal range; |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int _selectedSystemID = 0; ///< Currently selected system
|
|
|
|
int _selectedSystemID = 0; ///< Currently selected system
|
|
|
|
int _selectedComponentID = 0; ///< Currently selected component
|
|
|
|
int _selectedComponentID = 0; ///< Currently selected component
|
|
|
|
QStringList _timeScales; |
|
|
|
QStringList _timeScales; |
|
|
|
QStringList _rangeList; |
|
|
|
QStringList _rangeList; |
|
|
|
quint32 _timeScale = 0; ///< 5 Seconds
|
|
|
|
|
|
|
|
QDateTime _rangeXMin; |
|
|
|
|
|
|
|
QDateTime _rangeXMax; |
|
|
|
|
|
|
|
qreal _leftRangeMin = 0; |
|
|
|
|
|
|
|
qreal _leftRangeMax = 1; |
|
|
|
|
|
|
|
quint32 _leftRangeIndex = 0; ///> Auto Range
|
|
|
|
|
|
|
|
qreal _rightRangeMin = 0; |
|
|
|
|
|
|
|
qreal _rightRangeMax = 1; |
|
|
|
|
|
|
|
quint32 _rightRangeIndex = 0; ///> Auto Range
|
|
|
|
|
|
|
|
QGCMAVLinkVehicle* _activeVehicle = nullptr; |
|
|
|
QGCMAVLinkVehicle* _activeVehicle = nullptr; |
|
|
|
QTimer _updateFrequencyTimer; |
|
|
|
QTimer _updateFrequencyTimer; |
|
|
|
QTimer _updateSeriesTimer; |
|
|
|
|
|
|
|
QStringList _vehicleNames; |
|
|
|
QStringList _vehicleNames; |
|
|
|
QmlObjectListModel _vehicles; ///< List of QGCMAVLinkVehicle
|
|
|
|
QmlObjectListModel _vehicles; ///< List of QGCMAVLinkVehicle
|
|
|
|
QVariantList _rightChartFields; |
|
|
|
QmlObjectListModel _charts; ///< List of MAVLinkCharts
|
|
|
|
QVariantList _leftChartFields; |
|
|
|
|
|
|
|
QList<TimeScale_st*>_timeScaleSt; |
|
|
|
QList<TimeScale_st*>_timeScaleSt; |
|
|
|
QList<Range_st*> _rangeSt; |
|
|
|
QList<Range_st*> _rangeSt; |
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|