rosidl_generator_type_description

Generate hashes and descriptions of ROS 2 interface types, per REP-2011.

README

rosidl_generator_type_description

This generator serializes ROS 2 interface descriptions (message, service, action) to a common format and uses SHA256 to hash that representation into a unique hash for each type.

The SHA256 hashes generated by this package must match those generated by rcl_calculate_type_hash. The .json files generated must, therefore, match the result of rcl_type_description_to_hashable_json.

Generated files

This generator creates one output file per interface, interface_name.json.

This file follows the schema HashedTypedDescription. It contains a tree of hashes for the top-level interface and any of its generated subinterfaces (such as request and response messages for a service), as well as fully-expanded descriptions of the interface type. This description is a representation of type_description_interfaces/msg/TypeDescription, including all recursively-referenced types. This way, dependent descriptions may use this interface and recurse no further to know the full set of referenced types it needs to know about.