# Revision history [back]

Even though quite late, I'll give it a go...

• soem: this the original SOEM library, or if you are refering to the ROS package, the original SOEM library wrapped as a ROS package
• ethercat_soem: this seems to be the same, i.e. a wrapper for soem, but quite outdated...
• rtt_soem: contains several packages, one was a wrapper for the original soem (soem_core), which has been replaced by the ROS soem wrapper above.

For rtnet, I'll quote the webpage:

RTnet is an Open Soure hard real-time network protocol stack for Xenomai and RTAI (real-time Linux extensions).

Even though quite late, I'll give it a go...

• soem: this the original SOEM library, or if you are refering to the ROS package, the original SOEM library wrapped as a ROS package
• ethercat_soem: this seems to be the same, i.e. a wrapper for soem, but quite outdated...
• rtt_soem: contains several packages, one was a wrapper for the original soem (soem_core), which has been replaced by the ROS soem wrapper above.

For rtnet, I'll quote the webpage:

RTnet is an Open Soure hard real-time network protocol stack for Xenomai and RTAI (real-time Linux extensions).

In the end, IMHO, use soem, if you want to write a driver yourself. If you go for realtime, use orocos/ rtt_soem (if it works, no idea). Don't use ethercat_soem...