ros-drivers / prosilica_driver

Contains the ROS driver and the SDK for AVT/Prosilica cameras.
6 stars 21 forks source link

Added support for fixedrate mode #5

Closed mitchellwills closed 10 years ago

mitchellwills commented 10 years ago

Was tested with a Manta G-095C

mitchellwills commented 10 years ago

Is there a reason why this was never implemented previously? Most of the code previously existed to make this function, but it was commented out.

ahendrix commented 10 years ago

I'm not sure why this wasn't implemented. I inherited the driver along with the rest of the PR2 stacks.

It looks like the driver has moved repositories a few times, and the original change logs have been lost to time...

I'm going to spend some time with the dynamic_reconfigure manual tonight and see if I can merge this and clean up the configuration a bit.

trainman419 commented 10 years ago

It looks like we could use the dynamic_reconfigure groups API to hide some of the options that aren't related to the current streaming mode: http://wiki.ros.org/dynamic%20reconfigure/Reviews/7/1/11%20Groups%20API%20review%20API%20Review

ahendrix commented 10 years ago

I'm going to merge this and see if I can clean up the parameters.

ahendrix commented 10 years ago

I've refactored the configuration in c232a54e47cfca358bc74b85bcaaa27617926842 but I don't have a camera to test with. Can you give it a try for me?

mitchellwills commented 10 years ago

Sorry it took so long for me to get around to this. I tried running with your new configuration, but I get the following in the console when using rqt_reconfigure It looks like grouping was never actually implemented in rqt_reconfigure https://github.com/ros-visualization/rqt_common_plugins/issues/162

Traceback (most recent call last):
  File "/opt/ros/hydro/lib/python2.7/dist-packages/rqt_reconfigure/node_selector_widget.py", line 248, in _selection_changed_slot
    self._selection_selected(index_current, rosnode_name_selected)
  File "/opt/ros/hydro/lib/python2.7/dist-packages/rqt_reconfigure/node_selector_widget.py", line 198, in _selection_selected
    item_widget = item_child.get_dynreconf_widget()
  File "/opt/ros/hydro/lib/python2.7/dist-packages/rqt_reconfigure/treenode_qstditem.py", line 148, in get_dynreconf_widget
    self._param_name_raw)
  File "/opt/ros/hydro/lib/python2.7/dist-packages/rqt_reconfigure/dynreconf_client_widget.py", line 57, in __init__
    group_desc, node_name)
  File "/opt/ros/hydro/lib/python2.7/dist-packages/rqt_reconfigure/param_groups.py", line 152, in __init__
    self._create_node_widgets(config)
  File "/opt/ros/hydro/lib/python2.7/dist-packages/rqt_reconfigure/param_groups.py", line 198, in _create_node_widgets
    widget = eval(_GROUP_TYPES[group['type']])(self.updater, group)
  File "/opt/ros/hydro/lib/python2.7/dist-packages/rqt_reconfigure/param_groups.py", line 247, in __init__
    super(BoxGroup, self).__init__(updater, config)
TypeError: __init__() takes exactly 4 arguments (3 given)