{"action":"created","issue":{"url":"https://api.github.com/repos/ros-industrial/robotiq/issues/21","labels_url":"https://api.github.com/repos/ros-industrial/robotiq/issues/21/labels{/name}","comments_url":"https://api.github.com/repos/ros-industrial/robotiq/issues/21/comments","events_url":"https://api.github.com/repos/ros-industrial/robotiq/issues/21/events","html_url":"https://github.com/ros-industrial/robotiq/pull/21","id":57087165,"number":21,"title":"Ethercat interface","user":{"login":"Jmeyer1292","id":4960180,"avatar_url":"https://avatars.githubusercontent.com/u/4960180?v=3","gravatar_id":"","url":"https://api.github.com/users/Jmeyer1292","html_url":"https://github.com/Jmeyer1292","followers_url":"https://api.github.com/users/Jmeyer1292/followers","following_url":"https://api.github.com/users/Jmeyer1292/following{/other_user}","gists_url":"https://api.github.com/users/Jmeyer1292/gists{/gist_id}","starred_url":"https://api.github.com/users/Jmeyer1292/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jmeyer1292/subscriptions","organizations_url":"https://api.github.com/users/Jmeyer1292/orgs","repos_url":"https://api.github.com/users/Jmeyer1292/repos","events_url":"https://api.github.com/users/Jmeyer1292/events{/privacy}","received_events_url":"https://api.github.com/users/Jmeyer1292/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-02-09T20:45:56Z","updated_at":"2015-06-02T15:46:38Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ros-industrial/robotiq/pulls/21","html_url":"https://github.com/ros-industrial/robotiq/pull/21","diff_url":"https://github.com/ros-industrial/robotiq/pull/21.diff","patch_url":"https://github.com/ros-industrial/robotiq/pull/21.patch"},"body":"This pull request adds EtherCAT protocol support for the Robotiq gripper. It defines an EtherCatManager class which handles communication with the ethercat network via the SOEM library which this depends on. Adding this library will be handled soon, but can currently be found in my fork https://github.com/Jmeyer1292/ethercat-soem. \r\n\r\nEach device defines an ethercat client that communicates directly with the manager, the latter of which only deals in bytes. \r\n\r\n*** The main limitation of this implementation is that all devices on a given ethercat network need to be handled in a single process. ***\r\n\r\nOn top of this system is a c model gripper control node made in the style of the existing python nodes. See the launch file added to robotiq_c_model_control for more details.\r\n\r\nDespite its limitations, I think this will be effective for many users. My Robotiq EtherCAT control box only has a single ethernet connection so it will only work by itself anyway. If additional capability is required, I have ideas for expanding capabilities but I wanted to get this out to folks.\r\n\r\nPlease note that:\r\n1. VMs probably won't work\r\n2. You need a dedicated ethernet card for the EtherCAT network. Don't use eth0.\r\n3. You'll probably need to run \"sudo setcap cap_net_raw+ep <filename>\" on the c_model_ethercat_node before it will work. Otherwise you'll get a \"Could not initialize SOEM\" error. "},"comment":{"url":"https://api.github.com/repos/ros-industrial/robotiq/issues/comments/107996003","html_url":"https://github.com/ros-industrial/robotiq/pull/21#issuecomment-107996003","issue_url":"https://api.github.com/repos/ros-industrial/robotiq/issues/21","id":107996003,"user":{"login":"Jmeyer1292","id":4960180,"avatar_url":"https://avatars.githubusercontent.com/u/4960180?v=3","gravatar_id":"","url":"https://api.github.com/users/Jmeyer1292","html_url":"https://github.com/Jmeyer1292","followers_url":"https://api.github.com/users/Jmeyer1292/followers","following_url":"https://api.github.com/users/Jmeyer1292/following{/other_user}","gists_url":"https://api.github.com/users/Jmeyer1292/gists{/gist_id}","starred_url":"https://api.github.com/users/Jmeyer1292/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Jmeyer1292/subscriptions","organizations_url":"https://api.github.com/users/Jmeyer1292/orgs","repos_url":"https://api.github.com/users/Jmeyer1292/repos","events_url":"https://api.github.com/users/Jmeyer1292/events{/privacy}","received_events_url":"https://api.github.com/users/Jmeyer1292/received_events","type":"User","site_admin":false},"created_at":"2015-06-02T15:46:38Z","updated_at":"2015-06-02T15:46:38Z","body":"I've tested it and it seems to work just fine. I added a readme file to cover the common issues mentioned in the header of this PR."}}