This is an automated email from the ASF dual-hosted git repository.

lupyuen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git

commit 2a3a41d53af6cefcd357954839c110703347e214
Author: Arjav Patel <[email protected]>
AuthorDate: Thu May 21 10:40:38 2026 +0530

    apps/system/microros: Add Kconfig with configuration options.
    
    Add Kconfig file defining CONFIG_SYSTEM_MICROROS and related options:
    - MICROROS_DISTRO: ROS 2 distribution selection (default jazzy)
    - MICROROS_TRANSPORT_UDP/SERIAL: Transport method selection
    - MICROROS_AGENT_IP/PORT: UDP agent address configuration
    - MICROROS_SERIAL_DEVICE/BAUD: Serial transport configuration
    - Resource limits: MAX_NODES, MAX_PUBLISHERS, MAX_SUBSCRIPTIONS,
      MAX_SERVICES, MAX_CLIENTS
    
    Allows menuconfig integration for micro-ROS library configuration.
    
    Signed-off-by: Arjav Patel <[email protected]>
---
 system/microros/Kconfig | 102 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/system/microros/Kconfig b/system/microros/Kconfig
new file mode 100644
index 000000000..d1d7d562a
--- /dev/null
+++ b/system/microros/Kconfig
@@ -0,0 +1,102 @@
+#
+# For a description of the syntax of this configuration file,
+# see the file kconfig-language.txt in the NuttX tools repository.
+#
+
+menuconfig SYSTEM_MICROROS
+       bool "micro-ROS Integration"
+       default n
+       depends on NET_UDP || SERIAL_TERMIOS
+       ---help---
+               Enable micro-ROS integration for NuttX RTOS. Provides a ROS 2
+               client library for embedded and real-time systems.
+
+if SYSTEM_MICROROS
+
+config MICROROS_DISTRO
+       string "ROS 2 Distribution"
+       default "jazzy"
+       ---help---
+               Specifies the ROS 2 distribution branch (e.g., humble, jazzy, 
kilted).
+               This determines which versions of micro-ROS packages are 
fetched.
+
+choice
+       prompt "Transport Method"
+       default MICROROS_TRANSPORT_UDP
+
+config MICROROS_TRANSPORT_UDP
+       bool "UDP Transport"
+       ---help---
+               Use UDP socket for communication with micro-ROS agent.
+
+config MICROROS_TRANSPORT_SERIAL
+       bool "Serial Transport"
+       depends on SERIAL_TERMIOS
+       ---help---
+               Use serial (UART/USB-CDC) for communication with micro-ROS 
agent.
+
+endchoice
+
+if MICROROS_TRANSPORT_UDP
+
+config MICROROS_AGENT_IP
+       string "Agent IP Address"
+       default "10.42.0.214"
+       ---help---
+               IP address of the micro-ROS agent.
+
+config MICROROS_AGENT_PORT
+       int "Agent Port"
+       default 8888
+       ---help---
+               UDP port of the micro-ROS agent.
+
+endif
+
+if MICROROS_TRANSPORT_SERIAL
+
+config MICROROS_SERIAL_DEVICE
+       string "Serial Device Path"
+       default "/dev/ttyS0"
+       ---help---
+               Serial device to use for transport (e.g., /dev/ttyS0, 
/dev/ttyACM0).
+
+config MICROROS_SERIAL_BAUD
+       int "Serial Baud Rate"
+       default 115200
+       ---help---
+               Baud rate for serial communication.
+
+endif
+
+config MICROROS_MAX_NODES
+       int "Maximum Nodes"
+       default 1
+       ---help---
+               Maximum number of ROS nodes that can be created.
+
+config MICROROS_MAX_PUBLISHERS
+       int "Maximum Publishers"
+       default 5
+       ---help---
+               Maximum number of publishers per node.
+
+config MICROROS_MAX_SUBSCRIPTIONS
+       int "Maximum Subscriptions"
+       default 5
+       ---help---
+               Maximum number of subscriptions per node.
+
+config MICROROS_MAX_SERVICES
+       int "Maximum Services"
+       default 1
+       ---help---
+               Maximum number of services per node.
+
+config MICROROS_MAX_CLIENTS
+       int "Maximum Clients"
+       default 1
+       ---help---
+               Maximum number of service clients per node.
+
+endif

Reply via email to