Skip to content

Conversation

@r7vme
Copy link

@r7vme r7vme commented Jun 24, 2022

Adds support for enums into ROSIDL. Only .idl files supported.

Example

module test_msgs {
  module idl {
    typedef SomeEnum SomeEnum__3[3];

    module EnumsMessage_Enums {
      enum SomeEnum {
        ENUMERATOR1,
        ENUMERATOR2
      };
    };

    struct EnumsMessage {
      SomeEnum enum_value;

      @default (value="ENUMERATOR2")
      SomeEnum enum_default_value;

      SomeEnum__3 static_array_values;

      sequence<SomeEnum, 3> bounded_array_values;

      sequence<SomeEnum> dynamic_array_values;
    };
  };
};

Fixes #260

List of related pull requests

ros2/test_interface_files#20
ros2/rosidl_python#170
ros2/rosidl_dds#58
ros2/rosidl_typesupport_fastrtps#89

TODO

  • Add support to non-default RMWs
  • Design document and documentation

@ros-discourse
Copy link

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/need-reviewers-for-rosidl-related-change/26285/1

@methylDragon
Copy link
Contributor

Hmm, CI is failing with

08:09:25 /tmp/ws/src/rosidl/rosidl_generator_c/test/test_interfaces.c:28:10: fatal error: rosidl_generator_c/idl/enums.h: No such file or directory
08:09:25    28 | #include "rosidl_generator_c/idl/enums.h"

Signed-off-by: Roman Sokolkov <[email protected]>
@ros-discourse
Copy link

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/why-did-ros2-keep-msg-interface-definitions/27631/2

@r7vme
Copy link
Author

r7vme commented Jan 9, 2023

Closing as I have no plans to work on this in the near time (see more details here).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ROS2 message format should support enums

3 participants