ros-industrial / industrial_core

ROS-Industrial core communication packages (http://wiki.ros.org/industrial_core)
154 stars 181 forks source link

Issue-238 Fix tested on indigo & Fanuc #239

Closed PGlaubitzWork closed 3 years ago

PGlaubitzWork commented 5 years ago

connectSocketHandle() will close and re-establish socket handle if the handle is from a previous connection, otherwise it will establish the socket handle.

For #238.

haudren commented 4 years ago

@gavanderhoorn @Levi-Armstrong : Could you maybe have a look at this PR? it does indeed fix the issue we have with the FANUC robot when the connection drops. I am at your disposal if you need help reproducing the issue and so on.

haudren commented 3 years ago

@gavanderhoorn @Levi-Armstrong : Who should I contact to get this pushed forward? I don't mind taking care of any necessary changes if needs be.

JeremyZoss commented 3 years ago

@Levi-Armstrong I don't currently have a good system configured to run tests on this. But a read-through of the changes looks okay to me. A little caution is prudent, since this code is used by many drivers. But socket disconnect handling has long been a weak point of the drivers, so improvements are welcomed. Was independently verified in 2 different systems (both Fanuc) - see comments on #238. My vote is we merge this as-is and keep an eye out for new corner cases that may have been introduced.

@PGlaubitzWork Thanks for this submission!

gavanderhoorn commented 3 years ago

Replacement: #263.

Thanks for the initial PR @PGlaubitzWork :+1: