2.2.4 rtiddsgen code gen bug with enumerated data types

3 posts / 0 new
Last post
Offline
Last seen: 6 months 21 hours ago
Joined: 10/23/2013
Posts: 43
2.2.4 rtiddsgen code gen bug with enumerated data types

rtiddsgen for micro dds 2.4.4 igores enumeration constants when generating typedef for enum.  The attached h files are generated from RTI Connext 5.2.0 and RTI micro DDS 2.4.4.  Note that for the file from micro DDS, the constant expressions for the enumerators are missing.

 

"C:\Program Files\rti_connext_micro.2.4.4\rtiddsgen\scripts\rtiddsgen" -language microC -replace DDSTypesBus.idl

"C:\Program Files\rti_connext_dds-5.2.0\bin\rtiddsgen" -language C -verbosity 3 -replace DDSTypesBus.idl

Organization:
asorbini's picture
Offline
Last seen: 1 year 2 months ago
Joined: 02/06/2013
Posts: 11

There seems to be an error in the templates used by rtiddsgen to generate code for enum types in RTI Connext Micro 2.4.4

A temporary solution consists in changing file rti_connext_micro.2.4.4/resource/rtiddsgen/templates/micro_c/typeMacros.vm, at line 59, from

member.name #if($member.autoOrdinal.equals("false")) = $member.ordinal#end

to

$member.name #if($member.autoOrdinal == "false") = $member.ordinal#end

and then regenerate the type support code. The preferred way to do this is:

/path/to/rtiddsgen -language C -micro -replace MyTypes.idl

The option "-language microC" is still supported but only for backward compatibility with previous versions.

Offline
Last seen: 6 months 21 hours ago
Joined: 10/23/2013
Posts: 43

That worked.  Thanks for the quick response.

Mark.