Haven't looked closely at the change, but thought I would comment here... driver_base is designed so that if there is an error, you just go leave the running state. Driver_base will then automatically try to bring the whole system back up after a one second pause. Thus, if you have some way of detecting that the initialization failed, just don't go to the running state, and all the necessary retries should happen. Generally, I see no reason to limit the number of retries. That way you can unplug and replug the camera, and things will just work. Cheers, Blaise On Tue, 2010-07-13 at 10:56 -0500, Jack O'Quin wrote: > On Mon, Jul 12, 2010 at 10:14 PM, Jack O'Quin wrote: > > On Mon, Jul 12, 2010 at 4:59 PM, Kim Houck wrote: > > > >> I like the idea of a 'retries' parameter, either defaulted to 1 or 2 or > >> to 0. > > > > I created a ticket for this problem (#4251)... > > > > https://code.ros.org/trac/ros-pkg/ticket/4251 > > On further consideration, I decided Eric was right. There is little > risk in unconditionally retrying the open a couple of times. For > cameras that are already working it will have no effect. For those > inclined to hang when opened with invalid parameters, the open will > succeed and the camera will hang, just as before. > > Since this is a simple change and it does no harm with my unit test > cameras, I committed the change to SVN in the camera_drivers trunk. > There is also a patch attached to ticket #4251. None of my cameras > require retries, but they tolerate them just fine. > > @Kim: Would you please: > > (1) check out https://code.ros.org/svn/ros-pkg/stacks/camera_drivers/trunk > (2) put it in front of cturtle in your $ROS_PACKAGE_PATH > (3) rosmake camera1394 > (4) test it with your Sony DFW-X710 > > If you are using cturtle from svn and not binaries, it might be > simpler to just patch your copy of the driver and rebuild. Either > approach should work. If you have questions, please ask. > > If this fix works for you, we can close the ticket and release it in > the next cturtle update. > > Thanks for helping,