[Discourse.ros.org] [Next Generation ROS] OSS DDS implementation for embedded systems?
Presentations at ROSCon about DDS on embedded systems got me curious and now I'm looking for an OSS implementation of DDS that targets such systems. Preferably ANSI C (target has a very limited C++ runtime) and with small to medium resource usage (memory, cpu). My target does have a unix-like OS, so bare-metal support is not needed.
There are some OSS DDS available, but especially when filtering for ANSI C I'm not left with (m)any options.
I'm aware of the work of @vmayoral (nuttx, freedds) and @codebot (freertps), but I have the impression that all of that has been discontinued / abandoned.
Does anyone have any suggestions for alternatives? Or are there no OSS implementations in C for DDS?
I think the XRCE approach has a better long-term path than trying to cram a "full" RTPS implementation onto microcontrollers. For example, XRCE defines much smaller headers than "classic" RTPS, with structures that are also simpler/faster to parse. The whole thing is designed with small systems in mind.
RTI Connext DDS Micro is available in source so you can build it for your own environment and it can also run in systems without an OS. Note that is not OSS as you wanted. However RTI offers no-cost licenses for Universities and qualified research projects so maybe it can still fit your need.