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