arjav1528 opened a new pull request, #3492: URL: https://github.com/apache/nuttx-apps/pull/3492
*Note: Please adhere to [Contributing Guidelines](https://github.com/apache/nuttx/blob/master/CONTRIBUTING.md).* ## Summary Establish the directory structure and build system integration for micro-ROS library in NuttX apps. This PR adds the foundational skeleton for Phase 2 of the micro-ROS integration project—Kconfig with full configuration options for ROS 2 distribution selection, transport layer choice (UDP/serial), agent addressing, and resource limits. Makefile follows standard NuttX pattern using MENUDESC and Directory.mk. ## Impact **Build System:** - Adds `apps/system/microros/` as new system module - Integrates via existing parent `Make.defs` wildcard include - Auto-discovered by `mkkconfig.sh` Kconfig generation **Configuration:** - Introduces CONFIG_SYSTEM_MICROROS menuconfig option (bool, default n) - Adds 13 subordinate configuration options: - MICROROS_DISTRO: ROS 2 distribution (humble, jazzy, kilted) - MICROROS_TRANSPORT_UDP / MICROROS_TRANSPORT_SERIAL: transport selection - MICROROS_AGENT_IP, MICROROS_AGENT_PORT: UDP agent addressing - MICROROS_SERIAL_DEVICE, MICROROS_SERIAL_BAUD: serial transport config - MICROROS_MAX_NODES, MICROROS_MAX_PUBLISHERS, MICROROS_MAX_SUBSCRIPTIONS, MICROROS_MAX_SERVICES, MICROROS_MAX_CLIENTS: resource limits - Proper dependencies declared (NET_UDP || SERIAL_TERMIOS for main config) - Sensible defaults (distro=jazzy, transport=UDP, conservative resource limits) ## Testing **Host Environment:** - OS: macOS 13.x + Ubuntu 26.04 (EC2) - Build tools: gcc, make, colcon (installed) - NuttX source: apache/nuttx master branch - NuttX apps: apache/nuttx-apps master branch **Target Verification:** - Configuration: sim:nsh (simulator, no hardware needed) - Board: sim (Kconfig structure only, not full cross-compilation) **Test Procedure:** ```bash # 1. Configure NuttX with sim:nsh and apps directory cd nuttx ./tools/configure.sh sim:nsh -a ../apps # 2. Enable micro-ROS library configuration kconfig-tweak --enable CONFIG_SYSTEM_MICROROS # 3. Attempt build to verify no errors make -j$(nproc) # Expected output: Configuration succeeds, make completes without errors ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
