Browse Source

Keep track of USB direct connection links

QGC4.4
Don Gagne 9 years ago
parent
commit
d6b4f5c361
  1. 2
      src/comm/LinkManager.cc
  2. 10
      src/comm/SerialLink.cc
  3. 5
      src/comm/SerialLink.h

2
src/comm/LinkManager.cc

@ -508,11 +508,13 @@ void LinkManager::_updateAutoConnectLinks(void) @@ -508,11 +508,13 @@ void LinkManager::_updateAutoConnectLinks(void)
case QGCSerialPortInfo::BoardTypePX4FMUV4:
if (_autoconnectPixhawk) {
pSerialConfig = new SerialConfiguration(QString("Pixhawk on %1").arg(portInfo.portName().trimmed()));
pSerialConfig->setUsbDirect(true);
}
break;
case QGCSerialPortInfo::BoardTypeAeroCore:
if (_autoconnectPixhawk) {
pSerialConfig = new SerialConfiguration(QString("AeroCore on %1").arg(portInfo.portName().trimmed()));
pSerialConfig->setUsbDirect(true);
}
break;
case QGCSerialPortInfo::BoardTypePX4Flow:

10
src/comm/SerialLink.cc

@ -388,6 +388,7 @@ SerialConfiguration::SerialConfiguration(const QString& name) : LinkConfiguratio @@ -388,6 +388,7 @@ SerialConfiguration::SerialConfiguration(const QString& name) : LinkConfiguratio
_parity = QSerialPort::NoParity;
_dataBits = 8;
_stopBits = 1;
_usbDirect = false;
}
SerialConfiguration::SerialConfiguration(SerialConfiguration* copy) : LinkConfiguration(copy)
@ -399,6 +400,7 @@ SerialConfiguration::SerialConfiguration(SerialConfiguration* copy) : LinkConfig @@ -399,6 +400,7 @@ SerialConfiguration::SerialConfiguration(SerialConfiguration* copy) : LinkConfig
_stopBits = copy->stopBits();
_portName = copy->portName();
_portDisplayName = copy->portDisplayName();
_usbDirect = copy->_usbDirect;
}
void SerialConfiguration::copyFrom(LinkConfiguration *source)
@ -413,6 +415,7 @@ void SerialConfiguration::copyFrom(LinkConfiguration *source) @@ -413,6 +415,7 @@ void SerialConfiguration::copyFrom(LinkConfiguration *source)
_stopBits = ssource->stopBits();
_portName = ssource->portName();
_portDisplayName = ssource->portDisplayName();
_usbDirect = ssource->_usbDirect;
}
void SerialConfiguration::updateSettings()
@ -554,3 +557,10 @@ void SerialConfiguration::_initBaudRates() @@ -554,3 +557,10 @@ void SerialConfiguration::_initBaudRates()
kSupportedBaudRates << "921600";
}
void SerialConfiguration::setUsbDirect(bool usbDirect)
{
if (_usbDirect != usbDirect) {
_usbDirect = usbDirect;
emit usbDirectChanged(_usbDirect);
}
}

5
src/comm/SerialLink.h

@ -73,12 +73,14 @@ public: @@ -73,12 +73,14 @@ public:
Q_PROPERTY(int parity READ parity WRITE setParity NOTIFY parityChanged)
Q_PROPERTY(QString portName READ portName WRITE setPortName NOTIFY portNameChanged)
Q_PROPERTY(QString portDisplayName READ portDisplayName NOTIFY portDisplayNameChanged)
Q_PROPERTY(bool usbDirect READ usbDirect WRITE setUsbDirect NOTIFY usbDirectChanged) ///< true: direct usb connection to board
int baud() { return _baud; }
int dataBits() { return _dataBits; }
int flowControl() { return _flowControl; } ///< QSerialPort Enums
int stopBits() { return _stopBits; }
int parity() { return _parity; } ///< QSerialPort Enums
bool usbDirect() { return _usbDirect; }
const QString portName () { return _portName; }
const QString portDisplayName () { return _portDisplayName; }
@ -89,6 +91,7 @@ public: @@ -89,6 +91,7 @@ public:
void setStopBits (int stopBits);
void setParity (int parity); ///< QSerialPort Enums
void setPortName (const QString& portName);
void setUsbDirect (bool usbDirect);
static QStringList supportedBaudRates();
static QString cleanPortDisplayname(const QString name);
@ -109,6 +112,7 @@ signals: @@ -109,6 +112,7 @@ signals:
void parityChanged ();
void portNameChanged ();
void portDisplayNameChanged ();
void usbDirectChanged (bool usbDirect);
private:
static void _initBaudRates();
@ -121,6 +125,7 @@ private: @@ -121,6 +125,7 @@ private:
int _parity;
QString _portName;
QString _portDisplayName;
bool _usbDirect;
};
/**

Loading…
Cancel
Save