Browse Source

Add support for Linux and experimenting with settings (there are "set" but no "get" options for them though)

QGC4.4
Gus Grubba 6 years ago
parent
commit
339da87a16
  1. 3
      QGCCommon.pri
  2. 2
      src/QmlControls/QGroundControlQmlGlobal.cc
  3. 27
      src/Taisync/TaisyncManager.cc
  4. 47
      src/Taisync/TaisyncManager.h
  5. 16
      src/Taisync/TaisyncSettings.cc
  6. 3
      src/Taisync/TaisyncSettings.h

3
QGCCommon.pri

@ -19,8 +19,9 @@ @@ -19,8 +19,9 @@
linux {
linux-g++ | linux-g++-64 | linux-g++-32 | linux-clang {
message("Linux build")
CONFIG += LinuxBuild
CONFIG += LinuxBuild
DEFINES += __STDC_LIMIT_MACROS
DEFINES += QGC_GST_TAISYNC_ENABLED
linux-clang {
message("Linux clang")
QMAKE_CXXFLAGS += -Qunused-arguments -fcolor-diagnostics

2
src/QmlControls/QGroundControlQmlGlobal.cc

@ -66,7 +66,7 @@ void QGroundControlQmlGlobal::setToolbox(QGCToolbox* toolbox) @@ -66,7 +66,7 @@ void QGroundControlQmlGlobal::setToolbox(QGCToolbox* toolbox)
_settingsManager = toolbox->settingsManager();
_gpsRtkFactGroup = qgcApp()->gpsRtkFactGroup();
_airspaceManager = toolbox->airspaceManager();
#if defined(QGC_AIRMAP_ENABLED)
#if defined(QGC_GST_TAISYNC_ENABLED)
_taisyncManager = toolbox->taisyncManager();
#endif
}

27
src/Taisync/TaisyncManager.cc

@ -19,6 +19,11 @@ TaisyncManager::TaisyncManager(QGCApplication* app, QGCToolbox* toolbox) @@ -19,6 +19,11 @@ TaisyncManager::TaisyncManager(QGCApplication* app, QGCToolbox* toolbox)
{
connect(&_workTimer, &QTimer::timeout, this, &TaisyncManager::_checkTaisync);
_workTimer.setSingleShot(true);
_decodeList.append(tr("Stream"));
_decodeList.append(tr("HDMI Port"));
_rateList.append(tr("Low"));
_rateList.append(tr("Medium"));
_rateList.append(tr("High"));
}
//-----------------------------------------------------------------------------
@ -67,6 +72,20 @@ TaisyncManager::setToolbox(QGCToolbox* toolbox) @@ -67,6 +72,20 @@ TaisyncManager::setToolbox(QGCToolbox* toolbox)
//-----------------------------------------------------------------------------
void
TaisyncManager::setDecodeIndex(int idx)
{
(void)idx;
}
//-----------------------------------------------------------------------------
void
TaisyncManager::setRateIndex(int idx)
{
(void)idx;
}
//-----------------------------------------------------------------------------
void
TaisyncManager::_setEnabled()
{
bool enable = _appSettings->enableTaisync()->rawValue().toBool();
@ -199,6 +218,9 @@ TaisyncManager::_checkTaisync() @@ -199,6 +218,9 @@ TaisyncManager::_checkTaisync()
case REQ_FREQ_SCAN:
_taiSettings->requestFreqScan();
break;
case REQ_VIDEO_SETTINGS:
_taiSettings->requestVideoSettings();
break;
}
}
_workTimer.start(1000);
@ -228,5 +250,10 @@ TaisyncManager::_updateSettings(QByteArray jSonData) @@ -228,5 +250,10 @@ TaisyncManager::_updateSettings(QByteArray jSonData)
} else if(jSonData.contains("\"firmwareversion\":")) {
_fwVersion = jObj["firmwareversion"].toString(_fwVersion);
_serialNumber = jObj["sn"].toString(_serialNumber);
//-- Video Settings?
} else if(jSonData.contains("\"maxbitrate\":")) {
}
}

47
src/Taisync/TaisyncManager.h

@ -28,30 +28,42 @@ class TaisyncManager : public QGCTool @@ -28,30 +28,42 @@ class TaisyncManager : public QGCTool
Q_OBJECT
public:
Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
Q_PROPERTY(bool linkConnected READ linkConnected NOTIFY linkChanged)
Q_PROPERTY(QString linkVidFormat READ linkVidFormat NOTIFY linkChanged)
Q_PROPERTY(int uplinkRSSI READ uplinkRSSI NOTIFY linkChanged)
Q_PROPERTY(int downlinkRSSI READ downlinkRSSI NOTIFY linkChanged)
Q_PROPERTY(QString serialNumber READ serialNumber NOTIFY linkChanged)
Q_PROPERTY(QString fwVersion READ fwVersion NOTIFY linkChanged)
Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
Q_PROPERTY(bool linkConnected READ linkConnected NOTIFY linkChanged)
Q_PROPERTY(QString linkVidFormat READ linkVidFormat NOTIFY linkChanged)
Q_PROPERTY(int uplinkRSSI READ uplinkRSSI NOTIFY linkChanged)
Q_PROPERTY(int downlinkRSSI READ downlinkRSSI NOTIFY linkChanged)
Q_PROPERTY(QString serialNumber READ serialNumber NOTIFY linkChanged)
Q_PROPERTY(QString fwVersion READ fwVersion NOTIFY linkChanged)
Q_PROPERTY(QStringList decodeList READ decodeList NOTIFY decodeIndexChanged)
Q_PROPERTY(int decodeIndex READ decodeIndex WRITE setDecodeIndex NOTIFY decodeIndexChanged)
Q_PROPERTY(QStringList rateList READ rateList NOTIFY rateIndexChanged)
Q_PROPERTY(int rateIndex READ rateIndex WRITE setRateIndex NOTIFY rateIndexChanged)
explicit TaisyncManager (QGCApplication* app, QGCToolbox* toolbox);
~TaisyncManager () override;
void setToolbox (QGCToolbox* toolbox) override;
void setToolbox (QGCToolbox* toolbox) override;
bool connected () { return _isConnected; }
bool linkConnected () { return _linkConnected; }
QString linkVidFormat () { return _linkVidFormat; }
int uplinkRSSI () { return _downlinkRSSI; }
int downlinkRSSI () { return _uplinkRSSI; }
QString serialNumber () { return _serialNumber; }
QString fwVersion () { return _fwVersion; }
bool connected () { return _isConnected; }
bool linkConnected () { return _linkConnected; }
QString linkVidFormat () { return _linkVidFormat; }
int uplinkRSSI () { return _downlinkRSSI; }
int downlinkRSSI () { return _uplinkRSSI; }
QString serialNumber () { return _serialNumber; }
QString fwVersion () { return _fwVersion; }
QStringList decodeList () { return _decodeList; }
int decodeIndex () { return _decodeIndex; }
void setDecodeIndex (int idx);
QStringList rateList () { return _rateList; }
int rateIndex () { return _rateIndex; }
void setRateIndex (int idx);
signals:
void linkChanged ();
void connectedChanged ();
void decodeIndexChanged ();
void rateIndexChanged ();
private slots:
void _connected ();
@ -70,6 +82,7 @@ private: @@ -70,6 +82,7 @@ private:
REQ_LINK_STATUS,
REQ_DEV_INFO,
REQ_FREQ_SCAN,
REQ_VIDEO_SETTINGS,
REQ_LAST
};
@ -91,6 +104,10 @@ private: @@ -91,6 +104,10 @@ private:
QString _linkVidFormat;
int _downlinkRSSI = 0;
int _uplinkRSSI = 0;
QStringList _decodeList;
int _decodeIndex = 0;
QStringList _rateList;
int _rateIndex = 0;
bool _savedVideoState = true;
QVariant _savedVideoSource;
QVariant _savedVideoUDP;

16
src/Taisync/TaisyncSettings.cc

@ -13,12 +13,13 @@ @@ -13,12 +13,13 @@
#include "QGCApplication.h"
#include "VideoManager.h"
/*
static const char* kPostReq =
"POST %1 HTTP/1.1\r\n"
"Content-Type: application/json\r\n"
"Content-Length: %2\r\n\r\n"
"%3";
*/
static const char* kGetReq = "GET %1 HTTP/1.1\r\n\r\n";
@ -79,6 +80,19 @@ TaisyncSettings::requestFreqScan() @@ -79,6 +80,19 @@ TaisyncSettings::requestFreqScan()
}
//-----------------------------------------------------------------------------
bool
TaisyncSettings::requestVideoSettings()
{
if(_tcpSocket) {
QString req = QString(kGetReq).arg("/v1/video.json");
//qCDebug(TaisyncVerbose) << "Request" << req;
_tcpSocket->write(req.toUtf8());
return true;
}
return false;
}
//-----------------------------------------------------------------------------
void
TaisyncSettings::_readBytes()
{

3
src/Taisync/TaisyncSettings.h

@ -18,8 +18,9 @@ public: @@ -18,8 +18,9 @@ public:
explicit TaisyncSettings (QObject* parent = nullptr);
bool start () override;
bool requestLinkStatus ();
bool requestDevInfo ();
bool requestDevInfo ();
bool requestFreqScan ();
bool requestVideoSettings ();
signals:
void updateSettings (QByteArray jSonData);

Loading…
Cancel
Save