configuration_dock_widget.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 #
3 # License: BSD
4 # https://raw.github.com/yujinrobot/kobuki_desktop/master/kobuki_qtestsuite/LICENSE
5 #
6 ##############################################################################
7 # Imports
8 ##############################################################################
9 
10 import roslib
11 roslib.load_manifest('kobuki_qtestsuite')
12 import rospy
13 
14 from python_qt_binding.QtCore import Signal,Slot
15 try: # indigo
16  from python_qt_binding.QtGui import QDockWidget
17 except ImportError: # kinetic+ (pyqt5)
18  from python_qt_binding.QtWidgets import QDockWidget
19 from rqt_py_common.extended_combo_box import ExtendedComboBox
20 
21 # Local resource imports
22 import detail.common_rc
23 from detail.configuration_dock_ui import Ui_configuration_dock_widget
24 
25 class ConfigurationDockWidget(QDockWidget):
26 
27  def __init__(self, parent=None):
28  super(ConfigurationDockWidget, self).__init__(parent)
29 
30  self._ui = Ui_configuration_dock_widget()
31  #self._ui.setupUi(self)
32 
33 
34  def setupUi(self):
35  self._ui.setupUi(self)
36  _, _, topic_types = rospy.get_master().getTopicTypes()
37  cmd_vel_topics = [ topic[0] for topic in topic_types if topic[1] == 'geometry_msgs/Twist' ]
38  self._ui.cmd_vel_topic_combo_box.setItems.emit(sorted(cmd_vel_topics))
39  #self.cmd_vel_publisher = rospy.Publisher(str(self.cmd_vel_topic_combo_box.currentText()), Twist)
40  odom_topics = [ topic[0] for topic in topic_types if topic[1] == 'nav_msgs/Odometry' ]
41  self._ui.odom_topic_combo_box.setItems.emit(sorted(odom_topics))
42  #self.odom_subscriber = rospy.Subscriber(str(self.odom_topic_combo_box.currentText()), Odometry, self.odometry_callback)
43  core_sensor_topics = [ topic[0] for topic in topic_types if topic[1] == 'kobuki_msgs/SensorState' ]
44  self._ui.core_topic_combo_box.setItems.emit(sorted(core_sensor_topics))
45 
46  def cmd_vel_topic_name(self):
47  return str(self._ui.cmd_vel_topic_combo_box.currentText())
48 
49  def odom_topic_name(self):
50  return str(self._ui.odom_topic_combo_box.currentText())
51 
53  return str(self._ui.core_sensor_topic_combo_box.currentText())
54 
55  def battery_topic_name(self):
56  return str(self._ui.core_sensor_topic_combo_box.currentText() + '/' + battery)
57 
58  ##########################################################################
59  # Slot Callbacks
60  ##########################################################################
61  @Slot(str)
63  pass
64  # This is probably a bit broken, need to test with more than just /cmd_vel so
65  # there is more than one option.
66  #self.cmd_vel_publisher = rospy.Publisher(str(self.cmd_vel_topic_combo_box.currentText()), Twist)
67 
68  @Slot(str)
70  # Need to redo the subscriber here
71  pass
72 
73  @Slot(str)
75  pass


kobuki_qtestsuite
Author(s): Daniel Stonier
autogenerated on Mon Jun 10 2019 13:53:02