diff --git a/ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp b/ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
index 23bb8f9f9..f83efe968 100644
--- a/ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
+++ b/ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
@@ -205,31 +205,43 @@ void SerialConnection::resumePolling()
}
BaudRateType SerialConnection::stringToBaud(QString str)
-{
+{
if(str=="1200")
return BAUD1200;
+ if(str=="1800")
+ return BAUD1800;
else if(str=="2400")
- return BAUD1200;
- else if(str== "4800")
return BAUD2400;
+ else if(str== "4800")
+ return BAUD4800;
else if(str== "9600")
return BAUD9600;
+ else if(str== "14400")
+ return BAUD14400;
else if(str== "19200")
return BAUD19200;
else if(str== "38400")
return BAUD38400;
- else if(str== "57600")
+ else if(str== "56000")
return BAUD56000;
+ else if(str== "57600")
+ return BAUD57600;
+ else if(str== "76800")
+ return BAUD76800;
else if(str== "115200")
return BAUD115200;
+ else if(str== "128000")
+ return BAUD128000;
else if(str== "230400")
return BAUD230400;
+ else if(str== "256000")
+ return BAUD256000;
else if(str== "460800")
return BAUD460800;
else if(str== "921600")
return BAUD921600;
else
- return BAUD56000;
+ return BAUD57600;
}
SerialPlugin::SerialPlugin()
diff --git a/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptions.ui b/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptions.ui
index 04f9faf06..1aedd7e2c 100644
--- a/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptions.ui
+++ b/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptions.ui
@@ -22,63 +22,7 @@
-
-
-
-
-
- 1200
-
-
- -
-
- 2400
-
-
- -
-
- 4800
-
-
- -
-
- 9600
-
-
- -
-
- 19200
-
-
- -
-
- 38400
-
-
- -
-
- 57600
-
-
- -
-
- 115200
-
-
- -
-
- 230400
-
-
- -
-
- 460800
-
-
- -
-
- 921600
-
-
-
+
-
diff --git a/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptionspage.cpp b/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptionspage.cpp
index 29d8b3784..bd46dbb47 100644
--- a/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptionspage.cpp
+++ b/ground/openpilotgcs/src/plugins/serialconnection/serialpluginoptionspage.cpp
@@ -47,6 +47,38 @@ QWidget *SerialPluginOptionsPage::createPage(QWidget *parent)
QWidget *optionsPageWidget = new QWidget;
//main layout
options_page->setupUi(optionsPageWidget);
+ QStringList allowedSpeeds;
+ allowedSpeeds<<"1200"
+#ifdef Q_OS_UNIX
+ <<"1800" //POSIX ONLY
+#endif
+ <<"2400"
+ <<"4800"
+ <<"9600"
+#ifdef Q_OS_WIN
+ <<"14400" //WINDOWS ONLY
+#endif
+ <<"19200"
+ <<"38400"
+#ifdef Q_OS_WIN
+ <<"56000" //WINDOWS ONLY
+#endif
+ <<"57600"
+#ifdef Q_OS_UNIX
+ <<"76800" //POSIX ONLY
+#endif
+ <<"115200"
+#ifdef Q_OS_WIN
+ <<"128000" //WINDOWS ONLY
+ <<"230400" //WINDOWS ONLY
+ <<"256000" //WINDOWS ONLY
+ <<"460800" //WINDOWS ONLY
+ <<"921600" //WINDOWS ONLY
+#endif
+ ;
+
+
+ options_page->cb_speed->addItems(allowedSpeeds);
options_page->cb_speed->setCurrentIndex(options_page->cb_speed->findText(m_config->speed()));
return optionsPageWidget;
}