Browse Source

Match the listed supported serial ports in the UI to those supported by QSerialPort.

This commit unifies the supported baud rates completely across QGC and OSes.
QGC4.4
Bryant Mairs 13 years ago
parent
commit
f332726177
  1. 76
      src/ui/SerialConfigurationWindow.cc

76
src/ui/SerialConfigurationWindow.cc

@ -59,39 +59,55 @@ SerialConfigurationWindow::SerialConfigurationWindow(LinkInterface* link, QWidge @@ -59,39 +59,55 @@ SerialConfigurationWindow::SerialConfigurationWindow(LinkInterface* link, QWidge
// Set up baud rates
ui.baudRate->clear();
ui.baudRate->addItem("50", 50);
ui.baudRate->addItem("70", 70);
ui.baudRate->addItem("110", 110);
ui.baudRate->addItem("134", 134);
ui.baudRate->addItem("150", 150);
ui.baudRate->addItem("200", 200);
ui.baudRate->addItem("300", 300);
ui.baudRate->addItem("600", 600);
ui.baudRate->addItem("1200", 1200);
ui.baudRate->addItem("1800", 1800);
ui.baudRate->addItem("2400", 2400);
ui.baudRate->addItem("4800", 4800);
ui.baudRate->addItem("9600", 9600);
#ifdef Q_OS_WIN
ui.baudRate->addItem("14400", 14400);
#endif
ui.baudRate->addItem("19200", 19200);
ui.baudRate->addItem("38400", 38400);
#ifdef Q_OS_WIN
ui.baudRate->addItem("56000", 56000);
// Keep track of all desired baud rates by OS. These are iterated through
// later and added to ui.baudRate.
QList<int> supportedBaudRates;
// Baud rates supported only by POSIX systems
#if defined(Q_OS_UNIX) || defined(Q_OS_LINUX) || defined(Q_OS_DARWIN)
supportedBaudRates << 50;
supportedBaudRates << 75;
supportedBaudRates << 134;
supportedBaudRates << 150;
supportedBaudRates << 200;
supportedBaudRates << 1800;
#endif
ui.baudRate->addItem("57600", 57600);
#ifdef Q_OS_WIN
ui.baudRate->addItem("76800", 76800);
// Baud rates supported only by Linux
#if defined(Q_OS_LINUX)
supportedBaudRates << 230400;
supportedBaudRates << 460800;
supportedBaudRates << 500000;
supportedBaudRates << 576000;
supportedBaudRates << 921600;
#endif
ui.baudRate->addItem("115200", 115200);
#ifdef Q_OS_WIN
ui.baudRate->addItem("128000", 128000);
ui.baudRate->addItem("230400", 230400);
ui.baudRate->addItem("256000", 256000);
ui.baudRate->addItem("460800", 460800);
// Baud rates supported only by Windows
#if defined(Q_OS_WIN)
supportedBaudRates << 14400;
supportedBaudRates << 56000;
supportedBaudRates << 128000;
supportedBaudRates << 256000;
#endif
ui.baudRate->addItem("921600", 921600);
// Baud rates supported by everyone
supportedBaudRates << 110;
supportedBaudRates << 300;
supportedBaudRates << 600;
supportedBaudRates << 1200;
supportedBaudRates << 2400;
supportedBaudRates << 4800;
supportedBaudRates << 9600;
supportedBaudRates << 19200;
supportedBaudRates << 38400;
supportedBaudRates << 57600;
supportedBaudRates << 115200;
// Now actually add all of our supported baud rates to the UI.
qSort(supportedBaudRates.begin(), supportedBaudRates.end());
for (int i = 0; i < supportedBaudRates.size(); ++i) {
ui.baudRate->addItem(QString::number(supportedBaudRates.at(i)), supportedBaudRates.at(i));
}
connect(action, SIGNAL(triggered()), this, SLOT(configureCommunication()));

Loading…
Cancel
Save