orocos / soem

ROS package wrapping the Simple Open EtherCAT Master (SOEM) from https://github.com/OpenEtherCATsociety/SOEM
http://wiki.ros.org/soem
77 stars 62 forks source link

Update to latest upstream SOEM release #16

Closed mgruhler closed 5 years ago

mgruhler commented 5 years ago

The latest release of upstream SOEM is ~1.3.1, there is a release candidate for 1.3.3 available as well. (1.3.2 is marked as DON'T use)~ 1.4, as stated by @FelixBlix in https://github.com/mgruhler/soem/issues/16#issuecomment-507632325. If possible, it would be nice to update to the latest release.

Updating to 1.3.1 has initally been proposed in #9.

However, there are apparently some issues with 1.3.1, as discussed in https://github.com/mgruhler/soem/issues/5#issuecomment-312478442

As mentioned in issue #9 , I tried using 1.3.1 myself. It did compile, but wasn't working at all. I think the main issue is the Added multi-threaded configuration for parallel configurations of slaves

This would need to be thoroughly tested though.

mgruhler commented 5 years ago

Ideally, this could even be done by importing SOEM as a git submodule. See #11

ghost commented 5 years ago

We are currently using a fork with the newest SOEM commit since it resolves some race condition that might have been the cause of some issues we have been having. Once we have made sure our issues are resolved I will talk to Andreas and ask what needs to be done before a new release can be made on SOEM. If the SOEM version we are using is made into a release, I'll make sure to integrate it into the ros soem package and make a pull request.

mgruhler commented 5 years ago

@FelixBlix cool, this would be great. So you are talking about triggering a new relase on upstream SOEM, right? (I have no idea, which Andreas you are talking about, btw :-) )

I don't have the cycles to verify the state of the current upstream right now. But once a new release in SOEM is done, it would be great to circle back to this and discuss possible ways to integrate the new release with this repo.

ghost commented 5 years ago

@mgruhler yes indeed. Sry for the vague language. Andreas is the manager of the OpenEtherCATsociety/SOEM repo. It'll probably be a few weeks before I've finished testing on my end, and I could imagine there's some testing to be done before there's a release, but I'll post updates here if anything comes up.

mgruhler commented 5 years ago

@FelixBlix great that you are in contact with them directly! Yes, please post any updates. If I can support somehow, please let me know.

ghost commented 5 years ago

I have just received an email that SOEM 1.4 is now released. If there is there anything I can do to help updating the ROS soem package, let me know.

mgruhler commented 5 years ago

@FelixBlix Cool!

Give me a few days to come up with a way to migrate. This might be a breaking change, so we need to move careful here!

ghost commented 5 years ago

Awesome! Andreas from openEtherCATSociety says they have been very adamant about keeping the API stable, so it "should" not be braking ;)

mgruhler commented 5 years ago

@FelixBlix I just set up #23 with a propsal how to get the integration done. It would be great if you could check if this works for you!

mgruhler commented 5 years ago

The API really seems to be stable. No problems with the update whatsoever (on my end...).

The only thing "breaking" was the handling of the header files, but I think I've found a solution included in #24.