mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-16 21:50:35 +08:00
Add uxrce dds flow control flag (#26209)
* added flow control bitfield * shortened to 16 char param name length * refactored changes for uxrce flow control param * reverted additions to docs * Update src/modules/uxrce_dds_client/module.yaml Co-authored-by: Hamish Willee <hamishwillee@gmail.com> --------- Co-authored-by: minotico <81227020-minotico@users.noreply.github.com> Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com> Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
This commit is contained in:
@@ -142,3 +142,14 @@ parameters:
|
||||
category: System
|
||||
reboot_required: true
|
||||
default: -1
|
||||
|
||||
UXRCE_DDS_FLCTRL:
|
||||
description:
|
||||
short: Enable serial flow control for UXRCE interface
|
||||
long: |
|
||||
This is used to enable flow control for the serial uXRCE instance.
|
||||
Used for reliable high bandwidth communication.
|
||||
type: boolean
|
||||
category: System
|
||||
reboot_required: true
|
||||
default: 0
|
||||
|
||||
@@ -837,8 +837,16 @@ bool UxrceddsClient::setBaudrate(int fd, unsigned baud)
|
||||
//
|
||||
uart_config.c_lflag &= ~(ECHO | ECHONL | ICANON | IEXTEN | ISIG);
|
||||
|
||||
/* no parity, one stop bit, disable flow control */
|
||||
uart_config.c_cflag &= ~(CSTOPB | PARENB | CRTSCTS);
|
||||
/* no parity, one stop bit */
|
||||
uart_config.c_cflag &= ~(CSTOPB | PARENB);
|
||||
|
||||
/* enable flow control if needed */
|
||||
if (_param_uxrce_dds_flctrl.get() > 0) {
|
||||
uart_config.c_cflag |= CRTSCTS;
|
||||
|
||||
} else {
|
||||
uart_config.c_cflag &= ~CRTSCTS;
|
||||
}
|
||||
|
||||
/* set baud rate */
|
||||
if ((termios_state = cfsetispeed(&uart_config, speed)) < 0) {
|
||||
|
||||
@@ -210,6 +210,7 @@ private:
|
||||
(ParamInt<px4::params::UXRCE_DDS_SYNCC>) _param_uxrce_dds_syncc,
|
||||
(ParamInt<px4::params::UXRCE_DDS_SYNCT>) _param_uxrce_dds_synct,
|
||||
(ParamInt<px4::params::UXRCE_DDS_TX_TO>) _param_uxrce_dds_tx_to,
|
||||
(ParamInt<px4::params::UXRCE_DDS_RX_TO>) _param_uxrce_dds_rx_to
|
||||
(ParamInt<px4::params::UXRCE_DDS_RX_TO>) _param_uxrce_dds_rx_to,
|
||||
(ParamInt<px4::params::UXRCE_DDS_FLCTRL>) _param_uxrce_dds_flctrl
|
||||
)
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user