nuttx-apps/system/microros
Arjav Patel 5e91459b1a system/microros: Add UDP and serial custom transport backends.
Micro XRCE-DDS expects the application to supply open/close/write/read
callbacks for the wire transport. Add a single dispatcher that
registers the selected backend via rmw_uros_set_custom_transport(),
plus two backends:

transport/microros_transport_udp.c
  BSD-socket UDP backend. Opens an AF_INET/SOCK_DGRAM socket,
  resolves CONFIG_MICROROS_AGENT_IP/PORT, connect()s it, and uses
  send/recv. The socket fd is stashed in uxrCustomTransport->args
  so no module-level state is needed.

transport/microros_transport_serial.c
  termios serial backend. Opens CONFIG_MICROROS_SERIAL_DEVICE with
  O_RDWR|O_NOCTTY|O_CLOEXEC, switches to raw 8N1 at
  CONFIG_MICROROS_SERIAL_BAUD, and uses poll/read/write. Fd is
  again stashed in uxrCustomTransport->args.

Both backends are mutually exclusive at compile time via Kconfig;
the dispatcher selects which set of callbacks to register. Wired
into both the legacy Make build (CSRCS in system/microros/Makefile)
and the CMake build (separate microros_transport static library
with the transport directory only exposed to its INTERFACE).

Signed-off-by: Arjav Patel <arjav1528@gmail.com>
2026-06-02 00:15:25 +08:00
..
micro_ros_lib system/microros: Fix toolchain attribute strip breaking libc inlines. 2026-06-02 00:15:25 +08:00
patches apps/system/microros: add rcutils strcasecmp strings.h include patch. 2026-05-26 06:57:55 +08:00
transport system/microros: Add UDP and serial custom transport backends. 2026-06-02 00:15:25 +08:00
.gitignore apps/system/microros: Add .gitignore for library build artifacts. 2026-05-22 06:49:02 +08:00
CMakeLists.txt system/microros: Add UDP and serial custom transport backends. 2026-06-02 00:15:25 +08:00
Kconfig apps/system/microros: Add Kconfig with configuration options. 2026-05-22 06:49:02 +08:00
Make.defs system/microros: Wire libmicroros include layout and sim final link. 2026-06-02 00:15:25 +08:00
Makefile system/microros: Add UDP and serial custom transport backends. 2026-06-02 00:15:25 +08:00