From a3d9b84b1e67b281684fb099ab1fd48c56d15f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Thu, 7 Jun 2018 16:55:54 +0200 Subject: [PATCH] micrortps_client: use px4_get_parameter_value for baudrate --- .../micrortps_client/microRTPS_client_main.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/modules/micrortps_bridge/micrortps_client/microRTPS_client_main.cpp b/src/modules/micrortps_bridge/micrortps_client/microRTPS_client_main.cpp index 8663ce9794..7813346aba 100644 --- a/src/modules/micrortps_bridge/micrortps_client/microRTPS_client_main.cpp +++ b/src/modules/micrortps_bridge/micrortps_client/microRTPS_client_main.cpp @@ -41,6 +41,7 @@ #include #include +#include #include #include #include @@ -74,7 +75,7 @@ static void usage(const char *name) PRINT_MODULE_USAGE_PARAM_STRING('t', "UART", "UART|UDP", "Transport protocol", true); PRINT_MODULE_USAGE_PARAM_STRING('d', "/dev/ttyACM0", "", "Select Serial Device", true); - PRINT_MODULE_USAGE_PARAM_INT('b', 460800, 9600, 3000000, "Baudrate", true); + PRINT_MODULE_USAGE_PARAM_INT('b', 460800, 9600, 3000000, "Baudrate (can also be p:)", true); PRINT_MODULE_USAGE_PARAM_INT('p', 1, 1, 1000, "Poll timeout for UART in ms", true); PRINT_MODULE_USAGE_PARAM_INT('u', 0, 0, 10000, "Interval in ms to limit the update rate of all sent topics (0=unlimited)", true); @@ -90,10 +91,12 @@ static void usage(const char *name) baudtype getbaudrate(const char *valstr) { - uint32_t baudval = strtoul(valstr, nullptr, 10); + int baudval; - for (unsigned int i = 1; i < sizeof(baudlist) / sizeof(baudtype); i++) { - if (baudlist[i].val == baudval) { return baudlist[i]; } + if (px4_get_parameter_value(valstr, baudval) == 0) { + for (unsigned int i = 1; i < sizeof(baudlist) / sizeof(baudtype); i++) { + if (baudlist[i].val == (unsigned)baudval) { return baudlist[i]; } + } } return baudlist[0];