uos / sick_tim

A ROS driver for the SICK TiM series of laser scanners.
http://wiki.ros.org/sick_tim
47 stars 90 forks source link

Tcp support #4

Closed dornhege closed 10 years ago

dornhege commented 10 years ago

Added basic TCP support in branch tcp_support.

mintar commented 10 years ago

Thanks, looks good to me! Should be rebased onto fuerte/groovy/hydro.

@jspricke : Do you have time to test & merge this this week? Otherwise I'll do it next week, when I'm back in Osnabrück.

dornhege commented 10 years ago

I have only tested on groovy and LAN so far. I'll also be gone this week, but the 1 packet/scan assumption might fail on unreliable connections.

mintar commented 10 years ago

Sure, but that's still better than no TCP support at all, so I suggest to merge it first and fix it later if there turn out to be problems. The USB driver also makes the 1 packet/scan assumption, which always works if polling at a reasonable rate. Also, as long as we can't provoke the scanner into deviating from the 1 packet/scan assumption, we can't test if any code that deals with that actually works.

@jspricke already agreed on having a look at this. I'm pretty confident that if this works for groovy, it'll also work for fuerte and hydro without further testing (as long as it compiles).

dornhege commented 10 years ago

The problem with moving the stop_scanner() logic to the destructor is destruction order. The specialized classes would close the device before stop_scanner() is called.

jspricke commented 10 years ago

Ah, you are perfectly right with stop_scanner(). Thanks for the update, will merge it after lunch.

jspricke commented 10 years ago

Because of the merge in here, I've rebased the commits on top of all branches, thanks for the patches!