def __init__(self, vehicle_event_dispatcher, protocol_handler): QtGui.QWidget.__init__(self) BasePanelController.__init__(self) self.ui = Ui_VehicleDynamicConfigPanel() self.ui.setupUi(self) self.ui.updateButton.clicked.connect(self._send_mini_config) palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.white) self.ui.receiverTitle.setPalette(palette) self.ui.motorTitle.setPalette(palette) self.ui.triBox.clicked.connect(self.triCheckBoxPressed) self.ui.quadBox.clicked.connect(self.quadCheckBoxPressed) self.ui.quadPlusBox.clicked.connect(self.quadPlusCheckBoxPressed) self.ui.quadY4Box.clicked.connect(self.y4CheckBoxPressed) self.ui.y6Box.clicked.connect(self.y6CheckBoxPressed) self.ui.hexaPlusBox.clicked.connect(self.hexPlusCheckBoxPressed) self.ui.hexaXBox.clicked.connect(self.hexXCheckBoxPressed) self.ui.reverseRotation.clicked.connect( self.reverseRotationCheckBoxPressed) self.ui.ppmRecv.clicked.connect(self.ppmReceiverCheckBoxPressed) self.ui.normalRecv.clicked.connect(self.normalReceiverCheckBoxPressed) self._flight_config_type = FlightConfigType.QUAD_X self._receiver_type = ReceiverConfigType.RECEIVER_PWM self._reversed_yaw = '1' self._selected_flight_config = FlightConfigType.QUAD_X self._selected_receiver_config = ReceiverConfigType.RECEIVER_PWM self._selected_reversed_yaw_rotation = '1' self._update_panel_component() vehicle_event_dispatcher.register( self._flight_config_updated, VehicleEventDispatcher.FLIGHT_CONFIG_EVENT) vehicle_event_dispatcher.register( self._yaw_direction_updated, VehicleEventDispatcher.YAW_DIRECTION_CONFIG_EVENT) vehicle_event_dispatcher.register( self._receiver_type_updated, VehicleEventDispatcher.RECEIVER_TYPE_EVENT)
def __init__(self, vehicle_event_dispatcher, protocol_handler): QtGui.QWidget.__init__(self) BasePanelController.__init__(self) self.ui = Ui_VehicleDynamicConfigPanel() self.ui.setupUi(self) self.ui.updateButton.clicked.connect(self._send_mini_config) palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.white) self.ui.receiverTitle.setPalette(palette) self.ui.motorTitle.setPalette(palette) self.ui.triBox.clicked.connect(self.triCheckBoxPressed) self.ui.quadBox.clicked.connect(self.quadCheckBoxPressed) self.ui.quadPlusBox.clicked.connect(self.quadPlusCheckBoxPressed) self.ui.quadY4Box.clicked.connect(self.y4CheckBoxPressed) self.ui.y6Box.clicked.connect(self.y6CheckBoxPressed) self.ui.hexaPlusBox.clicked.connect(self.hexPlusCheckBoxPressed) self.ui.hexaXBox.clicked.connect(self.hexXCheckBoxPressed) self.ui.reverseRotation.clicked.connect(self.reverseRotationCheckBoxPressed) self.ui.ppmRecv.clicked.connect(self.ppmReceiverCheckBoxPressed) self.ui.normalRecv.clicked.connect(self.normalReceiverCheckBoxPressed) self._flight_config_type = FlightConfigType.QUAD_X self._receiver_type = ReceiverConfigType.RECEIVER_PWM self._reversed_yaw = '1' self._selected_flight_config = FlightConfigType.QUAD_X self._selected_receiver_config = ReceiverConfigType.RECEIVER_PWM self._selected_reversed_yaw_rotation = '1' self._update_panel_component() vehicle_event_dispatcher.register(self._flight_config_updated, VehicleEventDispatcher.FLIGHT_CONFIG_EVENT) vehicle_event_dispatcher.register(self._yaw_direction_updated, VehicleEventDispatcher.YAW_DIRECTION_CONFIG_EVENT) vehicle_event_dispatcher.register(self._receiver_type_updated, VehicleEventDispatcher.RECEIVER_TYPE_EVENT)
class VehicleDynamicConfigController(QtGui.QWidget, BasePanelController): def __init__(self, vehicle_event_dispatcher, protocol_handler): QtGui.QWidget.__init__(self) BasePanelController.__init__(self) self.ui = Ui_VehicleDynamicConfigPanel() self.ui.setupUi(self) self.ui.updateButton.clicked.connect(self._send_mini_config) palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.white) self.ui.receiverTitle.setPalette(palette) self.ui.motorTitle.setPalette(palette) self.ui.triBox.clicked.connect(self.triCheckBoxPressed) self.ui.quadBox.clicked.connect(self.quadCheckBoxPressed) self.ui.quadPlusBox.clicked.connect(self.quadPlusCheckBoxPressed) self.ui.quadY4Box.clicked.connect(self.y4CheckBoxPressed) self.ui.y6Box.clicked.connect(self.y6CheckBoxPressed) self.ui.hexaPlusBox.clicked.connect(self.hexPlusCheckBoxPressed) self.ui.hexaXBox.clicked.connect(self.hexXCheckBoxPressed) self.ui.reverseRotation.clicked.connect(self.reverseRotationCheckBoxPressed) self.ui.ppmRecv.clicked.connect(self.ppmReceiverCheckBoxPressed) self.ui.normalRecv.clicked.connect(self.normalReceiverCheckBoxPressed) self._flight_config_type = FlightConfigType.QUAD_X self._receiver_type = ReceiverConfigType.RECEIVER_PWM self._reversed_yaw = '1' self._selected_flight_config = FlightConfigType.QUAD_X self._selected_receiver_config = ReceiverConfigType.RECEIVER_PWM self._selected_reversed_yaw_rotation = '1' self._update_panel_component() vehicle_event_dispatcher.register(self._flight_config_updated, VehicleEventDispatcher.FLIGHT_CONFIG_EVENT) vehicle_event_dispatcher.register(self._yaw_direction_updated, VehicleEventDispatcher.YAW_DIRECTION_CONFIG_EVENT) vehicle_event_dispatcher.register(self._receiver_type_updated, VehicleEventDispatcher.RECEIVER_TYPE_EVENT) def _flight_config_updated(self, sender, event, msg = None): self._flight_config_type = msg if (self._flight_config_type == '0') : self.ui.quadBox.setChecked(True) elif (self._flight_config_type == '1') : self.ui.quadPlusBox.setChecked(True) elif (self._flight_config_type == '2') : self.ui.hexaPlusBox.setChecked(True) elif (self._flight_config_type == '3') : self.ui.hexaXBox.setChecked(True) elif (self._flight_config_type == '4') : self.ui.triBox.setChecked(True) elif (self._flight_config_type == '5') : self.ui.quadY4Box.setChecked(True) elif (self._flight_config_type == '6') : self.ui.y6Box.setChecked(True) self._update_panel_component() def _yaw_direction_updated(self, sender, event, msg = None): self._reversed_yaw = msg if (self._reversed_yaw == '-1') : self.ui.reverseRotation.setChecked(True) else : self.ui.reverseRotation.setChecked(False) self._update_panel_component() def _receiver_type_updated(self, sender, event, msg = None): self._receiver_type = msg if (self._receiver_type == '0') : self.ui.ppmRecv.setChecked(True) elif (self._receiver_type == '1') : self.ui.normalRecv.setChecked(True) self._update_panel_component() print("receiver type updated!") def start(self): pass def triCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.TRI self._update_panel_component() def quadCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.QUAD_X self._update_panel_component() def quadPlusCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.QUAD_PLUS self._update_panel_component() def y4CheckBoxPressed(self): self._selected_flight_config = FlightConfigType.QUAD_Y4 self._update_panel_component() def y6CheckBoxPressed(self): self._selected_flight_config = FlightConfigType.HEX_Y6 self._update_panel_component() def hexPlusCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.HEX_PLUS self._update_panel_component() def hexXCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.HEX_X self._update_panel_component() def reverseRotationCheckBoxPressed(self): if (self.ui.reverseRotation.isChecked()) : self._selected_reversed_yaw_rotation = '-1' else : self._selected_reversed_yaw_rotation = '1' self._update_panel_component() def ppmReceiverCheckBoxPressed(self): self._selected_receiver_config = ReceiverConfigType.RECEIVER_PPM self._update_panel_component() def normalReceiverCheckBoxPressed(self): self._selected_receiver_config = ReceiverConfigType.RECEIVER_PWM self._update_panel_component() def _update_panel_component(self): if (self._selected_reversed_yaw_rotation != self._reversed_yaw) : self.ui.updateButton.setEnabled(True) return if (self._selected_receiver_config != self._receiver_type) : self.ui.updateButton.setEnabled(True) return if (self._selected_flight_config != self._flight_config_type) : self.ui.updateButton.setEnabled(True) return self.ui.updateButton.setEnabled(False) def _send_mini_config(self): self._message_sender.send_mini_config(self._selected_flight_config, self._selected_receiver_config, self._selected_reversed_yaw_rotation) self._message_sender.send_request('#')
class VehicleDynamicConfigController(QtGui.QWidget, BasePanelController): def __init__(self, vehicle_event_dispatcher, protocol_handler): QtGui.QWidget.__init__(self) BasePanelController.__init__(self) self.ui = Ui_VehicleDynamicConfigPanel() self.ui.setupUi(self) self.ui.updateButton.clicked.connect(self._send_mini_config) palette = QtGui.QPalette() palette.setColor(QtGui.QPalette.Foreground, QtCore.Qt.white) self.ui.receiverTitle.setPalette(palette) self.ui.motorTitle.setPalette(palette) self.ui.triBox.clicked.connect(self.triCheckBoxPressed) self.ui.quadBox.clicked.connect(self.quadCheckBoxPressed) self.ui.quadPlusBox.clicked.connect(self.quadPlusCheckBoxPressed) self.ui.quadY4Box.clicked.connect(self.y4CheckBoxPressed) self.ui.y6Box.clicked.connect(self.y6CheckBoxPressed) self.ui.hexaPlusBox.clicked.connect(self.hexPlusCheckBoxPressed) self.ui.hexaXBox.clicked.connect(self.hexXCheckBoxPressed) self.ui.reverseRotation.clicked.connect( self.reverseRotationCheckBoxPressed) self.ui.ppmRecv.clicked.connect(self.ppmReceiverCheckBoxPressed) self.ui.normalRecv.clicked.connect(self.normalReceiverCheckBoxPressed) self._flight_config_type = FlightConfigType.QUAD_X self._receiver_type = ReceiverConfigType.RECEIVER_PWM self._reversed_yaw = '1' self._selected_flight_config = FlightConfigType.QUAD_X self._selected_receiver_config = ReceiverConfigType.RECEIVER_PWM self._selected_reversed_yaw_rotation = '1' self._update_panel_component() vehicle_event_dispatcher.register( self._flight_config_updated, VehicleEventDispatcher.FLIGHT_CONFIG_EVENT) vehicle_event_dispatcher.register( self._yaw_direction_updated, VehicleEventDispatcher.YAW_DIRECTION_CONFIG_EVENT) vehicle_event_dispatcher.register( self._receiver_type_updated, VehicleEventDispatcher.RECEIVER_TYPE_EVENT) def _flight_config_updated(self, sender, event, msg=None): self._flight_config_type = msg if (self._flight_config_type == '0'): self.ui.quadBox.setChecked(True) elif (self._flight_config_type == '1'): self.ui.quadPlusBox.setChecked(True) elif (self._flight_config_type == '2'): self.ui.hexaPlusBox.setChecked(True) elif (self._flight_config_type == '3'): self.ui.hexaXBox.setChecked(True) elif (self._flight_config_type == '4'): self.ui.triBox.setChecked(True) elif (self._flight_config_type == '5'): self.ui.quadY4Box.setChecked(True) elif (self._flight_config_type == '6'): self.ui.y6Box.setChecked(True) self._update_panel_component() def _yaw_direction_updated(self, sender, event, msg=None): self._reversed_yaw = msg if (self._reversed_yaw == '-1'): self.ui.reverseRotation.setChecked(True) else: self.ui.reverseRotation.setChecked(False) self._update_panel_component() def _receiver_type_updated(self, sender, event, msg=None): self._receiver_type = msg if (self._receiver_type == '0'): self.ui.ppmRecv.setChecked(True) elif (self._receiver_type == '1'): self.ui.normalRecv.setChecked(True) self._update_panel_component() print("receiver type updated!") def start(self): pass def triCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.TRI self._update_panel_component() def quadCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.QUAD_X self._update_panel_component() def quadPlusCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.QUAD_PLUS self._update_panel_component() def y4CheckBoxPressed(self): self._selected_flight_config = FlightConfigType.QUAD_Y4 self._update_panel_component() def y6CheckBoxPressed(self): self._selected_flight_config = FlightConfigType.HEX_Y6 self._update_panel_component() def hexPlusCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.HEX_PLUS self._update_panel_component() def hexXCheckBoxPressed(self): self._selected_flight_config = FlightConfigType.HEX_X self._update_panel_component() def reverseRotationCheckBoxPressed(self): if (self.ui.reverseRotation.isChecked()): self._selected_reversed_yaw_rotation = '-1' else: self._selected_reversed_yaw_rotation = '1' self._update_panel_component() def ppmReceiverCheckBoxPressed(self): self._selected_receiver_config = ReceiverConfigType.RECEIVER_PPM self._update_panel_component() def normalReceiverCheckBoxPressed(self): self._selected_receiver_config = ReceiverConfigType.RECEIVER_PWM self._update_panel_component() def _update_panel_component(self): if (self._selected_reversed_yaw_rotation != self._reversed_yaw): self.ui.updateButton.setEnabled(True) return if (self._selected_receiver_config != self._receiver_type): self.ui.updateButton.setEnabled(True) return if (self._selected_flight_config != self._flight_config_type): self.ui.updateButton.setEnabled(True) return self.ui.updateButton.setEnabled(False) def _send_mini_config(self): self._message_sender.send_mini_config( self._selected_flight_config, self._selected_receiver_config, self._selected_reversed_yaw_rotation) self._message_sender.send_request('#')