-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Baud rate is not set in SerialAgent on macOS #340
Comments
Hello Micro XRCE-DDS Agent does not provide support for macOS: https://micro-xrce-dds.docs.eprosima.com/en/latest/agent.html If this is a small fix, please open a PR with your required changes, but we do not have plans for maintaining macOS platform. |
Will do, it's a small change to the three files listed above.
It's not a great deal of work to run the entire eProsima suite on macOS (micro-ROS agent, integration services, fast-dds spy etc). Mostly small fixes here and there such as eProsima/Integration-Service#196. I have working branches with the required changes which I'd be happy to contribute. |
That would be nice thanks! |
I've posted PRs for fixes to support Fast DDS spy and Fast DDS monitor on macOS. It's very useful to have the tools available natively on macs as docker networking is complicated to set up on macOS (because there is an extra VM involved). |
Overview
The Micro-XRCE-DDS-Agent does not support a hardware serial transport on macOS because the baudrate is not set correctly due to the linux specific conditional compilation flags:
_HAVE_STRUCT_TERMIOS_C_ISPEED
_HAVE_STRUCT_TERMIOS_C_OSPEED
which are set in:
Micro-XRCE-DDS-Agent/include/uxr/agent/utils/ArgumentParser.hpp
Lines 1071 to 1076 in 40954c2
Micro-XRCE-DDS-Agent/src/cpp/transport/serial/MultiTermiosAgentLinux.cpp
Lines 88 to 93 in 40954c2
Micro-XRCE-DDS-Agent/src/cpp/transport/serial/TermiosAgentLinux.cpp
Lines 105 to 110 in 40954c2
The macOS implementation of
termios.h
does not define_HAVE_STRUCT_TERMIOS_C_ISPEED
etc. One fix would be to modify the#if #endif
check to:Issue template
Hardware description: MacPro 2019 and MacBook Pro M1
OS: macOS Ventura 13.5
Installation type: build from source
Version or commit hash:
Compile flags:
Unlink
spdlog
as thebrew
version conflicts:Build with logging (do not use system logger).
Steps to reproduce the issue
Install the
int32_publisher_custom_transport
from https://github.com/micro-ROS/micro_ros_espidf_component on an esp32.Run the micro-ROS agent from the project workspace with verbose logging enabled:
Expected behavior
Actual behavior
Additional information
humble
branch.The text was updated successfully, but these errors were encountered: