-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
camera1394: invalid trigger settings are not set back in dynamic reconfigure #14
Comments
Updates to The camera1394 driver heavily depends on that being handled correctly. It looks like the parameter server does get updated, but the Query option no longer works interactively, it seems. I'll open an issue with |
I've ticketed almost this exact issue here: ros-visualization/rqt_common_plugins#107 It has no official active maintainer, but I think Dirk, Aaron Blasdel, and Issac Soto are working out the more serious bugs this week. |
Thanks, Chad. I had just found another of your issues: ros-visualization/rqt_common_plugins#108. The good news is: it looks like Issac is actively maintaining that package. |
Yes I am going to look at ros-visualization/rqt_common_plugins#107 and ros-visualization/rqt_common_plugins#108 this week. |
Thanks, Isaac. I will be happy to test any fixes you come up with. |
Just to clarify. The bug I'm talking about is solely belong to There is another problem associated with |
Boris: yes, I do understand the basic issue. I was concerned that the rqt problem might confuse us while testing the fixes. It confused me when I was trying to reproduce the error. |
For consistency with the way this driver handles other features, invalid parameter values should be reset to whatever value the camera firmware returns. That way the user can see what's actually there. |
There will be a problem to return the values returned by firmware since The best option would be to disable part of controls based on |
I agree that we should not query those values unless We could just ignore those values in that case. But, reverting to previous settings might make the situation clearer to users. The There has long been an intention to add parameter groups to dynamic_reconfigure. I've seen some hints lately that some work may have been done in Groovy. This driver would greatly benefit from that, if it works correctly. We can certainly look into it, but I'd rather handle it as a separate enhancement. |
@bgromov: I would like to release these new features in the next week or two. I think we need to fix this issue before doing that. Would you prefer to fix it yourself? Or, should I make the changes? It does not look particularly difficult. We also need to update the documentation and decide what to do about the driver hang problem you mentioned. Would you please open a new issue for hang problem, with detailed directions for how to reproduce the bug? I want to test it on my cameras, and that information would save me time. Would you like to have push access to this repository? |
The driver currently allows setting of Format 7 parameters even when configured in a different video mode, but those settings are ignored until a Format 7 mode is selected. That actually seems to be useful. Perhaps we should do something similar here, accepting but ignoring parameter changes when triggering is not enabled, which should always be true when hasTrigger() is false. |
Jack, I will do it in the next couple of days. Hopefully by tomorrow evening (KST). |
This fix is not working with my Sony XCD-XS90CR test camera. It can't set trigger parameters via My Unibrain Fire-i test camera, which has no trigger support allows setting any of the trigger parameters, except I'm re-opening this issue to experiment with other solutions, such as removing the effect of 1f69dfd. I believe that will work better. |
The commit above removes the 1f69dfd restriction on setting other trigger parameters before setting I find that much more convenient, being able to set everything else up before enabling external triggering. Please try it and see if you agree. |
I am confused. My intention with 1f69dfd was to achieve exactly what you have suggested (at least how I understood it), i.e. setting all parameters first and then 'commit' them at once when |
Maybe I made some mistake. It's really hard to test this stuff with The What is the reason for not passing those parameters to |
Just spotted one more thing in IIDC v1.31 specs (p.31):
Does it basically mean that it is not possible to set other settings unless |
As you mentioned What we really need in |
@bgromov: I am finally working on this driver, again. We need to release it to Indigo. I am not sure if this issue got resolved or not. Did 3ba625e leave things in a satisfactory state? I want to include trigger support in Indigo. I am reluctant to release it for Hydro because major documentation updates will be needed. It is simpler to document those changes as part of a new distribution. Hydro has been stable for a long time now. Is that a problem for you? We can release it in Hydro if needed. |
@jack-oquin Sorry for late reply. Unfortunately I do not have access to hardware anymore and also a bit away from ROS world. If I remember correctly, 3ba625e did not introduce any issues at that time. |
@bgromov: OK, thanks for all your contributions. I'll close this issue now. |
Usually when certain parameter's value is not correct it is reset back to previous or to one that set on device. Current version is doing that, but only with internal variables. So it doesn't write it back to
newconfig
variable and thusdynamic_reconfigure
is not notified.This has to be fixed in Trigger::reconfigure() for all trigger parameters except for
external_trigger
andsoftware_trigger
.The text was updated successfully, but these errors were encountered: