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