GithubHelp home page GithubHelp logo

dynamic_reconfigure_tools's People

Contributors

anarsoul avatar jwrdegoede avatar lucasw avatar palosaari avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

vincent51689453

dynamic_reconfigure_tools's Issues

Respect enum types

Currently interpreting these as floats, but this will cause the regular rqt dr plugin to crash if it sees an enum value that is invalid.

  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_reconfigure/dynreconf_client_widget.py", line 109, in config_callback
    widget.update_value(config[widget.param_name])
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rqt_reconfigure/param_editors.py", line 439, in update_value
    self._update_signal.emit(self.values.index(value))
ValueError: 2.9 is not in list

ubuntu 22.04

Need setValue() cast values to int where appropirate- new python checks types more.

  File "/home/lucasw/catkin_ws/src/lucasw/dynamic_reconfigure_tools/rqt_dr_single/src/rqt_dr_single/dr_single.py", line 260, in update_description
    widget.setValue(slider_val)
TypeError: setValue(self, int): argument 1 has unexpected type 'float'

Also

[ERROR] [1651934929.309268 /rqt_gui_py_node_13391 /home/lucasw/catkin_ws/src/lucasw/dynamic_reconfigure_tools/rqt_dr_single/src/rqt_dr_single/dr_single.py:482]: 'Thread' object has no attribute 'isAlive'

-> is_alive() should work in 20.04 also fkie/multimaster_fkie#149

Following on from lucasw/ros_from_src#6

Handle locked up dr server

If it isn't possible to fix ros/dynamic_reconfigure#100 then the update_configuration needs to be made to run in a separate thread- it looks like rqt_recongfigure does this (does it actually recover? Does the thread get killed off and remade if it becomes unresponsive?).

Currently the lock up in the dr server locks up rqt_dr_single and rqt also.

rqt topic pub using dynamic reconfigure

Introspect a message type then create dynamic reconfigure controls for each compatible field. Min and maxes and defaults will be set automatically or overridden by parameters.

Supply the topic and message type by parameter and instance settings.

Extra controls for standard rostopic pub features like latching, update rate.

Publish checkbox for enabling.

Dynamic reconfigure for rqt_dr_single

  • Change the update rate (default is currently 10), or only change when editingFinished for sliders.
  • Optional periodic checks for connectivity by resending unchanged values.

How to change width of the different columns?

Make rqt_dr_single more like rqt_image_view

Add a drop-down with a list of all the dr servers, make it possible to hide it with right click menu.

Wait for server to become available if it isn't already, notify user if a live server goes offline.

rqt_dr_single crash on exit

When closing an RQT window with a dynamic reconfigure single widget in it, the widget crashes with the following error message:

PluginHandlerDirect._save_settings() plugin "rqt_dr_single/dr_single#7" raised an exception:
Traceback (most recent call last):
  File "/opt/ros/noetic/lib/python3/dist-packages/qt_gui/plugin_handler_direct.py", line 109, in _save_settings
    self._plugin.save_settings(plugin_settings_plugin, instance_settings_plugin)
  File "/home/jamesmuir/catkin_workspaces/base_ws/src/lucasw/dynamic_reconfigure_tools/rqt_dr_single/src/rqt_dr_single/dr_single.py", line 512, in save_settings
    rospy.logdebug("saving server " + self.server_name)
TypeError: can only concatenate str (not "NoneType") to str

Use existing values on start

Current using defaults, until a single value is sent and config_callback is called- but shouldn't config_callback get called immediately after it is set up the first time?

I think in the demo launch file there is a race and if the server isn't already up and running initially the initial values don't get set.

Plugin reload causes crash

roslaunch rqt_dr_single demo_dr_single.launch
rqt

then add an rqt dr single plugin, select one of the example servers, press the reload button in the top (not the dropdown reload button within the widget).

Traceback (most recent call last):
  File "/home/lucasw/catkin_ws/src/dynamic_reconfigure_tools/rqt_dr_single/src/rqt_dr_single/dr_single.py", line 322, in update_config
    self.val_label[param_name].setText(str(config[param_name]))
RuntimeError: wrapped C/C++ object of type QLineEdit has been deleted

Multiple instances of dr_single sometimes get wires crossed in 22.04

Using a 22.04 system with https://github.com/lucasw/ros_from_src/tree/github_action_2204 process, but observed instance of one dr_single instance causing a bool to flip on another instance despite having different server names. All the instances run in the same thread, but have different contexts- but a signal or something else is in common between them? After a restart couldn't duplicate the issue.

May need to dig into https://github.com/ros-o/qt_gui_core/commits/obese-devel (which is identical to upstream currently) or https://github.com/ros-o/python_qt_binding/ (upstream must have been https://github.com/ros-visualization/python_qt_binding/commits/melodic-devel)

rqt_dr_single crashes after kill server then clicking on window

roslaunch rqt_dr_single demo_dr_single.launch
# move a slider
rosnode kill /example_server
# click on window

No traceback in stdout, but log has more info:

[rosout][INFO] 2017-09-06 06:26:23,293: restore /example_server
[rospy.internal][INFO] 2017-09-06 06:26:23,394: topic[/example_server/parameter_updates] adding connection to [http://127.0.0.1:39084/], count 0
[rospy.internal][INFO] 2017-09-06 06:26:23,395: topic[/example_server/parameter_descriptions] adding connection to [http://127.0.0.1:39084/], count 0
[rosout][INFO] 2017-09-06 06:26:23,398: clearing layout 0
[rospy.internal][INFO] 2017-09-06 06:26:23,447: topic[/rosout] adding connection to [/rosout], count 0
[rospy.internal][ERROR] 2017-09-06 06:26:50,979: Unable to initiate TCP/IP socket to 127.0.0.1:35907 (http://127.0.0.1:39084/): Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 557, in connect
    self.read_header()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 650, in read_header
    self._validate_header(read_ros_handshake_header(sock, self.read_buff, self.protocol.buff_size))
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 593, in _validate_header
    raise TransportInitError("remote error reported: %s"%header['error'])
TransportInitError: remote error reported: node shutting down

[rospy.internal][WARNING] 2017-09-06 06:26:50,979: Unknown error initiating TCP/IP socket to 127.0.0.1:35907 (http://127.0.0.1:39084/): Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 557, in connect
    self.read_header()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 650, in read_header
    self._validate_header(read_ros_handshake_header(sock, self.read_buff, self.protocol.buff_size))
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosgraph/network.py", line 364, in read_ros_handshake_header
    raise ROSHandshakeException("connection from sender terminated before handshake header received. %s bytes were received. Please check sender for additional details."%b.tell())
ROSHandshakeException: connection from sender terminated before handshake header received. 0 bytes were received. Please check sender for additional details.

[rospy.internal][INFO] 2017-09-06 06:26:50,979: topic[/example_server/parameter_updates] removing connection to http://127.0.0.1:39084/
[rospy.internal][WARNING] 2017-09-06 06:26:51,980: Unknown error initiating TCP/IP socket to 127.0.0.1:35907 (http://127.0.0.1:39084/): Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 555, in connect
    self.socket.connect((dest_addr, dest_port))
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 111] Connection refused

[rospy.internal][INFO] 2017-09-06 06:26:51,981: topic[/example_server/parameter_descriptions] removing connection to http://127.0.0.1:39084/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.