On Sat, Dec 18, 2010 at 10:53 PM, Patrick Goebel <patrick@casbs.stanford.edu> wrote:
Thanks Eric--this is great!  Using dynamic_reconfigure with the Logitech 9000, I see the expected effect with all parameters except exposure which generates the error:

setting control 9a0901
current value of 9a0901 is 3

unable to set control
: Input/output error
[ERROR] [1292729915.173487152]: Problem setting exposure. Exception was unable to set control

What value did you attempt to set? Not all values that are possible for controls such as automatic exposure are actually valid for all cameras. Currently, there is no way for a driver to tell dynamic_reconfigure which values are valid or not (at least not that I know of). You can check the guvcview tool (install it with apt-get) to see if a value should or should not be supported. Better behavior when somebody tries to set a control that isn't supported is on the todo list, but, since the driver works "good enough" for what we've been using it for, it hasn't really been high on the list of things to do.
 

but setting absolute exposure works fine so no problem there.  The one glitch I ran into was in setting the width and/or height in dynamic_reconfigure; because you can only set one at a time, as soon as one is set, uvc_cam warns:

[ WARN] [1292730153.471431256]: Reconfigure callback failed with exception pixel format unavailable:

and then image_view freezes.  If you then continue to set the other dimension in dynamic_reconfigure, it does not unfreeze the image. Restarting the uvc_cam node *does* unfreeze image_view and picks up the new resolution, as long as you don't have width and height hard coded in the launch file.

Really? Hmm... that's a bit odd, because all of the settings (including height/width) should be causing the driver to close and reopen the camera. I'm surprised it just completely crashes (unless the camera itself is crashing, which I have seen a few times before). I guess this could be fixed by moving from selecting individual width/heights to something closer to what camera1394 does and just giving you a "video_mode" setting that has valid pairs of width and height.
 

Will test more tomorrow.

Thanks for reporting these issues. Let me know if you have any other issues (and what specific settings you tried to generate the above and any further errors) and I'll see about figuring out why they happen. Also, a little specifics, is that a Webcam 9000 or Quickcam 9000? They are pretty similar, but might have slight differences if we don't have the same model.

- Eric
 

--patrick