Browse Source

Merge pull request #4465 from AlexeyBulatov/pr/autoconnect

Auto connect on start for UDP links
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
3ae6d91590
  1. 3
      src/QGCApplication.cc
  2. 1
      src/comm/BluetoothLink.h
  3. 2
      src/comm/LinkConfiguration.h
  4. 11
      src/comm/LinkManager.cc
  5. 2
      src/comm/LinkManager.h
  6. 1
      src/comm/LogReplayLink.h
  7. 1
      src/comm/UDPLink.h
  8. 6
      src/ui/preferences/LinkSettings.qml

3
src/QGCApplication.cc

@ -439,6 +439,9 @@ bool QGCApplication::_initForNormalAppBoot(void)
"Your saved settings have been reset to defaults."); "Your saved settings have been reset to defaults.");
} }
// Connect links with flag AutoconnectLink
toolbox()->linkManager()->startAutoConnectedLinks();
if (getQGCMapEngine()->wasCacheReset()) { if (getQGCMapEngine()->wasCacheReset()) {
showMessage("The Offline Map Cache database has been upgraded. " showMessage("The Offline Map Cache database has been upgraded. "
"Your old map cache sets have been reset."); "Your old map cache sets have been reset.");

1
src/comm/BluetoothLink.h

@ -104,7 +104,6 @@ public:
void loadSettings (QSettings& settings, const QString& root); void loadSettings (QSettings& settings, const QString& root);
void saveSettings (QSettings& settings, const QString& root); void saveSettings (QSettings& settings, const QString& root);
void updateSettings (); void updateSettings ();
bool isAutoConnectAllowed () { return false; }
QString settingsURL () { return "BluetoothSettings.qml"; } QString settingsURL () { return "BluetoothSettings.qml"; }
public slots: public slots:

2
src/comm/LinkConfiguration.h

@ -93,7 +93,7 @@ public:
* Is Auto Connect allowed for this type? * Is Auto Connect allowed for this type?
* @return True if this type can be set as an Auto Connect configuration * @return True if this type can be set as an Auto Connect configuration
*/ */
virtual bool isAutoConnectAllowed() { return true; } virtual bool isAutoConnectAllowed() { return false; }
/*! /*!
* @brief Connection type * @brief Connection type

11
src/comm/LinkManager.cc

@ -990,3 +990,14 @@ QList<LinkInterface*> LinkManager::links(void)
return rawLinks; return rawLinks;
} }
void LinkManager::startAutoConnectedLinks(void)
{
SharedLinkConfigurationPointer conf;
for(int i = 0; i < _sharedConfigurations.count(); i++) {
conf = _sharedConfigurations[i];
if (conf->isAutoConnect())
createConnectedLink(conf);
}
}

2
src/comm/LinkManager.h

@ -171,6 +171,8 @@ public:
SharedLinkConfigurationPointer addConfiguration(LinkConfiguration* config); SharedLinkConfigurationPointer addConfiguration(LinkConfiguration* config);
void startAutoConnectedLinks(void);
signals: signals:
void autoconnectUDPChanged (bool autoconnect); void autoconnectUDPChanged (bool autoconnect);
void autoconnectPixhawkChanged (bool autoconnect); void autoconnectPixhawkChanged (bool autoconnect);

1
src/comm/LogReplayLink.h

@ -40,7 +40,6 @@ public:
void loadSettings (QSettings& settings, const QString& root); void loadSettings (QSettings& settings, const QString& root);
void saveSettings (QSettings& settings, const QString& root); void saveSettings (QSettings& settings, const QString& root);
void updateSettings (); void updateSettings ();
bool isAutoConnectAllowed () { return false; }
QString settingsURL () { return "LogReplaySettings.qml"; } QString settingsURL () { return "LogReplaySettings.qml"; }
signals: signals:
void fileNameChanged(); void fileNameChanged();

1
src/comm/UDPLink.h

@ -136,6 +136,7 @@ public:
void loadSettings (QSettings& settings, const QString& root); void loadSettings (QSettings& settings, const QString& root);
void saveSettings (QSettings& settings, const QString& root); void saveSettings (QSettings& settings, const QString& root);
void updateSettings (); void updateSettings ();
bool isAutoConnectAllowed () { return true; }
QString settingsURL () { return "UdpSettings.qml"; } QString settingsURL () { return "UdpSettings.qml"; }
signals: signals:

6
src/ui/preferences/LinkSettings.qml

@ -271,12 +271,11 @@ Rectangle {
height: ScreenTools.defaultFontPixelHeight * 0.5 height: ScreenTools.defaultFontPixelHeight * 0.5
width: parent.width width: parent.width
} }
/* //-- Auto Connect on Start
//-- Auto Connect
QGCCheckBox { QGCCheckBox {
text: "Automatically Connect on Start" text: "Automatically Connect on Start"
checked: false checked: false
enabled: editConfig ? editConfig.autoConnectAllowed : false visible: editConfig ? editConfig.autoConnectAllowed : false
onCheckedChanged: { onCheckedChanged: {
if(editConfig) { if(editConfig) {
editConfig.autoConnect = checked editConfig.autoConnect = checked
@ -287,7 +286,6 @@ Rectangle {
checked = editConfig.autoConnect checked = editConfig.autoConnect
} }
} }
*/
Item { Item {
height: ScreenTools.defaultFontPixelHeight height: ScreenTools.defaultFontPixelHeight
width: parent.width width: parent.width

Loading…
Cancel
Save