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

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


The following commit(s) were added to refs/heads/master by this push:
     new bc3a2596c8d tools/nxstyle: Whitelist ROS 2 message type identifiers.
bc3a2596c8d is described below

commit bc3a2596c8d47047694507da2d3d27fdf25ee1c7
Author: Arjav Patel <[email protected]>
AuthorDate: Sat May 30 23:28:49 2026 +0530

    tools/nxstyle: Whitelist ROS 2 message type identifiers.
    
    The ROS 2 C client API generates symbols via rosidl token-pasting
    macros. Each message type ends up with a name of the form
    <pkg>__msg__<Type>, and the bare type token (Int32, Float64, ...)
    appears in user code as an argument to ROSIDL_GET_MSG_TYPE_SUPPORT().
    Neither form can be renamed without breaking the public API.
    
    Add the ROS 2 standard message package prefixes (std_msgs,
    geometry_msgs, sensor_msgs, nav_msgs, builtin_interfaces,
    rcl_interfaces) and the rosidl scalar type names (Int8/16/32/64,
    UInt8/16/32/64, Float32/64) to g_white_prefix so nxstyle does not
    flag the resulting mixed-case identifiers in apps that consume
    micro-ROS via apps/system/microros.
    
    Signed-off-by: Arjav Patel <[email protected]>
---
 tools/nxstyle.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/tools/nxstyle.c b/tools/nxstyle.c
index 3d70d575c63..d7ee750cfbc 100644
--- a/tools/nxstyle.c
+++ b/tools/nxstyle.c
@@ -227,6 +227,29 @@ static const char *g_white_prefix[] =
   "tClass",  /* Ref:  arch/tricore/src */
   "tCpu",    /* Ref:  arch/tricore/src */
   "tId",     /* Ref:  arch/tricore/src */
+
+  /* Ref:  apps/system/microros, apps/examples/microros_*
+   * ROS 2 standard message package names and rosidl scalar type names
+   * are generated by upstream rosidl token-pasting macros and cannot
+   * be renamed without breaking the ROS C client API.
+   */
+
+  "std_msgs",            /* std_msgs__msg__Int32, ... */
+  "geometry_msgs",       /* geometry_msgs__msg__Twist, ... */
+  "sensor_msgs",         /* sensor_msgs__msg__Imu, ... */
+  "nav_msgs",            /* nav_msgs__msg__Odometry, ... */
+  "builtin_interfaces",  /* builtin_interfaces__msg__Time, ... */
+  "rcl_interfaces",      /* rcl_interfaces__msg__Log, ... */
+  "Int8",                /* ROSIDL_GET_MSG_TYPE_SUPPORT(_, _, Int8) */
+  "Int16",
+  "Int32",
+  "Int64",
+  "UInt8",
+  "UInt16",
+  "UInt32",
+  "UInt64",
+  "Float32",
+  "Float64",
   NULL
 };
 

Reply via email to