From 3157a4e1712e4e0c402e345b4315d93fad5799e1 Mon Sep 17 00:00:00 2001 From: Thomas Frans <160142177+flyingthingsintothings@users.noreply.github.com> Date: Wed, 7 Aug 2024 00:46:18 +0200 Subject: [PATCH] gnss: update supported baud rates (#23415) * gnss: update supported baud rates The Septentrio GNSS driver requires certain baud rates to test all the supported baud rates of the receiver. Without these changes, certain "non-standard" ones would print an error to the MAVLink console when the driver was started through the console. * platforms: add missing baudrate defines --------- Co-authored-by: Thomas Frans Co-authored-by: Julian Oes --- platforms/nuttx/src/px4/common/SerialImpl.cpp | 24 +++++++++++++++++++ platforms/posix/src/px4/common/SerialImpl.cpp | 24 +++++++++++++++++++ 2 files changed, 48 insertions(+) diff --git a/platforms/nuttx/src/px4/common/SerialImpl.cpp b/platforms/nuttx/src/px4/common/SerialImpl.cpp index 7fc5ea7520a2..4264976f4471 100644 --- a/platforms/nuttx/src/px4/common/SerialImpl.cpp +++ b/platforms/nuttx/src/px4/common/SerialImpl.cpp @@ -97,12 +97,36 @@ bool SerialImpl::configure() case 460800: speed = B460800; break; +#ifndef B500000 +#define B500000 500000 +#endif + + case 500000: speed = B500000; break; + +#ifndef B576000 +#define B576000 576000 +#endif + + case 576000: speed = B576000; break; + #ifndef B921600 #define B921600 921600 #endif case 921600: speed = B921600; break; +#ifndef B1000000 +#define B1000000 1000000 +#endif + + case 1000000: speed = B1000000; break; + +#ifndef B1500000 +#define B1500000 1500000 +#endif + + case 1500000: speed = B1500000; break; + default: speed = _baudrate; PX4_WARN("Using non-standard baudrate: %lu", _baudrate); diff --git a/platforms/posix/src/px4/common/SerialImpl.cpp b/platforms/posix/src/px4/common/SerialImpl.cpp index 822ed4255ec0..2298c3829263 100644 --- a/platforms/posix/src/px4/common/SerialImpl.cpp +++ b/platforms/posix/src/px4/common/SerialImpl.cpp @@ -90,12 +90,36 @@ bool SerialImpl::configure() case 460800: speed = B460800; break; +#ifndef B500000 +#define B500000 500000 +#endif + + case 500000: speed = B500000; break; + +#ifndef B576000 +#define B576000 576000 +#endif + + case 576000: speed = B576000; break; + #ifndef B921600 #define B921600 921600 #endif case 921600: speed = B921600; break; +#ifndef B1000000 +#define B1000000 1000000 +#endif + + case 1000000: speed = B1000000; break; + +#ifndef B1500000 +#define B1500000 1500000 +#endif + + case 1500000: speed = B1500000; break; + default: speed = _baudrate; PX4_WARN("Using non-standard baudrate: %u", _baudrate);