Commit graph

15 commits

Author SHA1 Message Date
Erik Boasson
3501d8f69e add get service_names_and_types
untested ...
2019-06-03 11:28:50 +02:00
Erik Boasson
f1602da3be add type names, some more introspection functions
Almost there! Known issues:
* mangling/demangling is still wrong
* it necessarily has to run in the Cyclone default domain id: (1)
  Cyclone is today still limited to a single domain at a time; and (2)
  there is the "extra" participant that pops up here and there for
  creating guard conditions and waitsets without a node existing
* almost all query operations create a reader for a builtin topic and
  throw it away afterward, that might be a little excessive (on the other
  hand, those readers are pretty cheap, so using them as a throwaway
  reader is not so bad).

Still missing:
* get_service_names_and_types
* get_service_names_and_types_by_node

I haven't been able to actually try everything yet, so bugs are probably
lurking here-and-there.
2019-05-21 16:05:52 +02:00
Erik Boasson
24726b4685 update to match ROS2 Dashing interface
passes a decent subset of the tests ...

fixes:
* sequences of simple types: remove accidental alignment
* trigger graph guard on any built-in topic
* create a participant for each node, with node name/namespace in user data

It is still only a proof-of-concept, but it might now actually be usable ...
2019-05-12 13:52:26 +02:00
Erik Boasson
3e0429785d add rmw_get_topic_names_and_types (untested) 2019-05-05 12:44:51 +08:00
Erik Boasson
d23affb5a4 add server_is_available, count_matched functions 2019-05-05 12:38:32 +08:00
Erik Boasson
925b6e09b3 add write/take of serialized messages 2019-05-05 12:36:58 +08:00
Erik Boasson
b925d5591c update for fixes in Cyclone sertopic interface 2019-05-05 12:34:02 +08:00
YuSheng T
f7de5522d7 remove compile error when gcc 7 2019-05-03 18:28:10 +08:00
Erik Boasson
315d39a2ec update to allow talker/listener demos to run
This commit adds stubs for the missing functions and fixes a few bugs in
the serialisation code and topic creation.  With these changes, the
talker and listener demos of ROS2 Crystal Clemmys work.
2019-05-03 17:12:51 +08:00
Erik Boasson
c9a23a9b8a update for Cyclone DDS changes and ROS2 changes
The changes in this commit make it compile with ROS2 Crystal Clemmys and
current Cyclone DDS.  The RMW interface of ROS2 was modified in some
ways and extended in some other ways since Bouncy Bolson; and similarly,
Cyclone now has a somewhat reasonable interface for custom sample
representations and serialization, but the code in this commit probably
contains mistakes in using it.

Therefore, the expectation should be that this doesn't actually work
just yet, though it probably is quite close.  As the old state wouldn't
build at all with any version of Cyclone DDS except the early commits,
this is significant progress already.
2019-04-29 10:08:59 +02:00
Erik Boasson
40a042c6dc replace FastCDR and serialise straight into a serdata to avoid an extra copy 2018-07-19 16:37:12 +02:00
Erik Boasson
e6b6ede709 use dds conditions and waitsets 2018-07-19 16:35:46 +02:00
Erik Boasson
bae6854ff4 use waitsets, readconditions, guardconditions for waiting 2018-07-13 08:52:21 +02:00
Erik Boasson
9c71a0bed2 fix extern "C" use upsetting gcc (and accepted by clang) 2018-07-10 08:14:20 +02:00
Erik Boasson
01ef31359a initial commit 2018-07-09 13:22:25 +02:00