gps: add SER_GPS1_BAUD param to configure the baudrate

The default is auto-detect, but some GPS devices might not like that, such
as the Trimble MB-Two.
This commit is contained in:
Beat Küng
2018-08-07 02:07:49 +02:00
committed by Lorenz Meier
parent db9d25505d
commit 81f0b64ad3
2 changed files with 28 additions and 1 deletions
+9 -1
View File
@@ -618,6 +618,14 @@ GPS::run()
param_get(handle, &gps_ubx_dynmodel);
}
int32_t configured_baudrate = 0; // auto-detect
handle = param_find("SER_GPS1_BAUD");
if (handle != PARAM_INVALID) {
param_get(handle, &configured_baudrate);
}
_orb_inject_data_fd = orb_subscribe(ORB_ID(gps_inject_data));
initializeCommunicationDump();
@@ -686,7 +694,7 @@ GPS::run()
break;
}
_baudrate = 0; // auto-detect
_baudrate = configured_baudrate;
if (_helper && _helper->configure(_baudrate, GPSHelper::OutputMode::GPS) == 0) {
+19
View File
@@ -85,3 +85,22 @@ PARAM_DEFINE_INT32(GPS_UBX_DYNMODEL, 7);
* @group GPS
*/
PARAM_DEFINE_FLOAT(GPS_YAW_OFFSET, 0.f);
/**
* GPS Baudrate
*
* Configure the Baudrate for the GPS Serial Port. In most cases this can be set to Auto.
*
* The Trimble MB-Two GPS does not support auto-detection and uses a baudrate of 115200.
*
* @value 0 Auto
* @value 9600 9600 8N1
* @value 19200 19200 8N1
* @value 38400 38400 8N1
* @value 57600 57600 8N1
* @value 115200 115200 8N1
* @reboot_required true
* @group GPS
*/
PARAM_DEFINE_INT32(SER_GPS1_BAUD, 0);