|
|
@ -40,13 +40,14 @@ |
|
|
|
QGC_LOGGING_CATEGORY(LinkManagerLog, "LinkManagerLog") |
|
|
|
QGC_LOGGING_CATEGORY(LinkManagerLog, "LinkManagerLog") |
|
|
|
QGC_LOGGING_CATEGORY(LinkManagerVerboseLog, "LinkManagerVerboseLog") |
|
|
|
QGC_LOGGING_CATEGORY(LinkManagerVerboseLog, "LinkManagerVerboseLog") |
|
|
|
|
|
|
|
|
|
|
|
const char* LinkManager::_settingsGroup = "LinkManager"; |
|
|
|
const char* LinkManager::_settingsGroup = "LinkManager"; |
|
|
|
const char* LinkManager::_autoconnectUDPKey = "AutoconnectUDP"; |
|
|
|
const char* LinkManager::_autoconnectUDPKey = "AutoconnectUDP"; |
|
|
|
const char* LinkManager::_autoconnectPixhawkKey = "AutoconnectPixhawk"; |
|
|
|
const char* LinkManager::_autoconnectPixhawkKey = "AutoconnectPixhawk"; |
|
|
|
const char* LinkManager::_autoconnect3DRRadioKey = "Autoconnect3DRRadio"; |
|
|
|
const char* LinkManager::_autoconnect3DRRadioKey = "Autoconnect3DRRadio"; |
|
|
|
const char* LinkManager::_autoconnectPX4FlowKey = "AutoconnectPX4Flow"; |
|
|
|
const char* LinkManager::_autoconnectPX4FlowKey = "AutoconnectPX4Flow"; |
|
|
|
const char* LinkManager::_autoconnectRTKGPSKey = "AutoconnectRTKGPS"; |
|
|
|
const char* LinkManager::_autoconnectRTKGPSKey = "AutoconnectRTKGPS"; |
|
|
|
const char* LinkManager::_defaultUPDLinkName = "Default UDP Link"; |
|
|
|
const char* LinkManager::_autoconnectLibrePilotKey = "AutoconnectLibrePilot"; |
|
|
|
|
|
|
|
const char* LinkManager::_defaultUPDLinkName = "Default UDP Link"; |
|
|
|
|
|
|
|
|
|
|
|
const int LinkManager::_autoconnectUpdateTimerMSecs = 1000; |
|
|
|
const int LinkManager::_autoconnectUpdateTimerMSecs = 1000; |
|
|
|
#ifdef Q_OS_WIN |
|
|
|
#ifdef Q_OS_WIN |
|
|
@ -68,6 +69,7 @@ LinkManager::LinkManager(QGCApplication* app) |
|
|
|
, _autoconnect3DRRadio(true) |
|
|
|
, _autoconnect3DRRadio(true) |
|
|
|
, _autoconnectPX4Flow(true) |
|
|
|
, _autoconnectPX4Flow(true) |
|
|
|
, _autoconnectRTKGPS(true) |
|
|
|
, _autoconnectRTKGPS(true) |
|
|
|
|
|
|
|
, _autoconnectLibrePilot(true) |
|
|
|
{ |
|
|
|
{ |
|
|
|
qmlRegisterUncreatableType<LinkManager> ("QGroundControl", 1, 0, "LinkManager", "Reference only"); |
|
|
|
qmlRegisterUncreatableType<LinkManager> ("QGroundControl", 1, 0, "LinkManager", "Reference only"); |
|
|
|
qmlRegisterUncreatableType<LinkConfiguration> ("QGroundControl", 1, 0, "LinkConfiguration", "Reference only"); |
|
|
|
qmlRegisterUncreatableType<LinkConfiguration> ("QGroundControl", 1, 0, "LinkConfiguration", "Reference only"); |
|
|
@ -76,11 +78,12 @@ LinkManager::LinkManager(QGCApplication* app) |
|
|
|
QSettings settings; |
|
|
|
QSettings settings; |
|
|
|
|
|
|
|
|
|
|
|
settings.beginGroup(_settingsGroup); |
|
|
|
settings.beginGroup(_settingsGroup); |
|
|
|
_autoconnectUDP = settings.value(_autoconnectUDPKey, true).toBool(); |
|
|
|
_autoconnectUDP = settings.value(_autoconnectUDPKey, true).toBool(); |
|
|
|
_autoconnectPixhawk = settings.value(_autoconnectPixhawkKey, true).toBool(); |
|
|
|
_autoconnectPixhawk = settings.value(_autoconnectPixhawkKey, true).toBool(); |
|
|
|
_autoconnect3DRRadio = settings.value(_autoconnect3DRRadioKey, true).toBool(); |
|
|
|
_autoconnect3DRRadio = settings.value(_autoconnect3DRRadioKey, true).toBool(); |
|
|
|
_autoconnectPX4Flow = settings.value(_autoconnectPX4FlowKey, true).toBool(); |
|
|
|
_autoconnectPX4Flow = settings.value(_autoconnectPX4FlowKey, true).toBool(); |
|
|
|
_autoconnectRTKGPS = settings.value(_autoconnectRTKGPSKey, true).toBool(); |
|
|
|
_autoconnectRTKGPS = settings.value(_autoconnectRTKGPSKey, true).toBool(); |
|
|
|
|
|
|
|
_autoconnectLibrePilot = settings.value(_autoconnectLibrePilotKey, true).toBool(); |
|
|
|
|
|
|
|
|
|
|
|
#ifndef __ios__ |
|
|
|
#ifndef __ios__ |
|
|
|
_activeLinkCheckTimer.setInterval(_activeLinkCheckTimeoutMSecs); |
|
|
|
_activeLinkCheckTimer.setInterval(_activeLinkCheckTimeoutMSecs); |
|
|
@ -564,6 +567,11 @@ void LinkManager::_updateAutoConnectLinks(void) |
|
|
|
pSerialConfig = new SerialConfiguration(QString("SiK Radio on %1").arg(portInfo.portName().trimmed())); |
|
|
|
pSerialConfig = new SerialConfiguration(QString("SiK Radio on %1").arg(portInfo.portName().trimmed())); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
case QGCSerialPortInfo::BoardTypeLibrePilot: |
|
|
|
|
|
|
|
if (_autoconnectLibrePilot) { |
|
|
|
|
|
|
|
pSerialConfig = new SerialConfiguration(QString("LibrePilot on %1").arg(portInfo.portName().trimmed())); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
break; |
|
|
|
#ifndef __mobile__ |
|
|
|
#ifndef __mobile__ |
|
|
|
case QGCSerialPortInfo::BoardTypeRTKGPS: |
|
|
|
case QGCSerialPortInfo::BoardTypeRTKGPS: |
|
|
|
if (_autoconnectRTKGPS && !_toolbox->gpsManager()->connected()) { |
|
|
|
if (_autoconnectRTKGPS && !_toolbox->gpsManager()->connected()) { |
|
|
@ -679,6 +687,13 @@ void LinkManager::setAutoconnectRTKGPS(bool autoconnect) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void LinkManager::setAutoconnectLibrePilot(bool autoconnect) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (_setAutoconnectWorker(_autoconnectLibrePilot, autoconnect, _autoconnectLibrePilotKey)) { |
|
|
|
|
|
|
|
emit autoconnectLibrePilotChanged(autoconnect); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
QStringList LinkManager::linkTypeStrings(void) const |
|
|
|
QStringList LinkManager::linkTypeStrings(void) const |
|
|
|
{ |
|
|
|
{ |
|
|
|
//-- Must follow same order as enum LinkType in LinkConfiguration.h
|
|
|
|
//-- Must follow same order as enum LinkType in LinkConfiguration.h
|
|
|
|