Skip to content
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

Added support for fixedrate mode #5

Merged
merged 3 commits into from
Mar 4, 2014

Conversation

mitchellwills
Copy link
Contributor

Was tested with a Manta G-095C

///@todo add the fixed rate implementation
desired_freq_ = 0;
trigger_mode_ = prosilica::FixedRate;
desired_freq_ = config.trig_rate;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It it not entirely obvious that the user should set the parameter described as "External triggering rate" when in fixed-rate mode.

What are your thoughts on adding another parameter which is explicitly the frame rate for fixed rate mode?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like a second parameter might be more confusing, especially when not using fixed rate mode. The description of trigger rate could be adjusted to make clear the meaning of this value in fixed rate mode

@mitchellwills
Copy link
Contributor Author

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 ahendrix self-assigned this Feb 26, 2014
@ahendrix
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

ahendrix commented Mar 4, 2014

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

ahendrix added a commit that referenced this pull request Mar 4, 2014
Added support for fixedrate mode
@ahendrix ahendrix merged commit 0e52dc8 into ros-drivers:hydro-devel Mar 4, 2014
@ahendrix
Copy link
Contributor

ahendrix commented Mar 4, 2014

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

@mitchellwills
Copy link
Contributor Author

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
ros-visualization/rqt_common_plugins#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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants