micro-ROS / rmw_microxrcedds

RMW implementation using Micro XRCE-DDS middleware.
Apache License 2.0
32 stars 25 forks source link

XRCE Streams API #198

Open pablogs9 opened 2 years ago

pablogs9 commented 2 years ago

This PR allows the advance configuration of used XRCE-DDS Streams in the micro-ROS entities (pub/sub). By using this, along with the proper XRCE-DDS Client configuration, priorities in data streams can be controlled.

Client & Service are not implemented due to the lack of options at RMW interface layer.

Depends on: https://github.com/eProsima/Micro-XRCE-DDS-Client/pull/285

TODO:

github-actions[bot] commented 2 years ago

Static memory analysis

Default configuration

MTU: 512 B Input buffer size: 2048 B Input history: 4 Output buffer size: 2048 B Output history: 4

Entity Qty Size per unit
Context 2 5616 B
Topic 8 56 B
Service 4 248 B
Client 4 248 B
Subscription 4 272 B
Publisher 4 288 B
Node 4 208 B
Static input buffer 8 2136 B
Init options 6 64 B
Wait sets 4 56 B
Guard Condition 4 64 B
Ent. Init. Opt 8 40 B

TOTAL: 34632 B