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]

Reply via email to