def _send(self):
        """
        Send the waypoints from all tables to the corresponding vehicles.
        """

        try:
            waypoints, total = self._export_waypoints()
        except ValueError as e:
            self._show_waypoint_error(e)
            return

        if total == 0:
            QtGui.QMessageBox.critical(self._controller.central_widget,
                                       "No waypoints",
                                       "There are no vehicles with waypoints.")
            return

        configuration = {
            "name": "waypoint",
            "clear_message": "waypoint_clear",
            "add_callback": self._make_add_waypoint_packet,
            "done_message": "waypoint_done",
            "ack_message": "waypoint_ack",
            "max_retries": self._max_retries,
            "retry_interval": self._retry_interval
        }
        sender = Control_Panel_RF_Sensor_Sender(self._controller, waypoints,
                                                total, configuration)
        sender.start()
Beispiel #2
0
    def _send(self):
        """
        Send the waypoints from all tables to the corresponding vehicles.
        """

        try:
            waypoints, total = self._export_waypoints()
        except ValueError as e:
            self._show_waypoint_error(e)
            return

        if total == 0:
            QtGui.QMessageBox.critical(
                self._controller.central_widget, "No waypoints",
                "There are no vehicles with waypoints.")
            return

        configuration = {
            "name": "waypoint",
            "clear_message": "waypoint_clear",
            "add_callback": self._make_add_waypoint_packet,
            "done_message": "waypoint_done",
            "ack_message": "waypoint_ack",
            "max_retries": self._max_retries,
            "retry_interval": self._retry_interval
        }
        sender = Control_Panel_RF_Sensor_Sender(self._controller, waypoints,
                                                total, configuration)
        sender.start()
    def _save(self):
        """
        Create the save dialog and handle saving/sending the settings.
        """

        flat_settings = {}
        disallowed = []
        for i, widget in enumerate(self._widgets):
            if widget is not None:
                values, allowed = widget.get_values()
                flat_settings.update(values)
                disallowed.extend([(i, key) for key, value in allowed.iteritems() if not value])

        # Create the save dialog.
        dialog, groundCheckBox, vehicleCheckBoxes = self._create_save_dialog(flat_settings, disallowed)

        # Show the dialog and handle the input.
        result = dialog.exec_()
        if result != QtGui.QDialog.Accepted:
            return

        # Set up the saving or settings sender.
        self._new_settings = flat_settings

        vehicle_settings = {}
        keys = sorted(self._new_settings.keys())
        count = 0
        for vehicle in xrange(1, self._controller.rf_sensor.number_of_sensors + 1):
            if vehicleCheckBoxes[vehicle].isChecked():
                vehicle_settings[vehicle] = keys
                count += len(keys)

        if not vehicle_settings:
            if groundCheckBox.isChecked():
                self._set_ground_station_settings()

            return

        configuration = {
            "name": "setting",
            "clear_message": "setting_clear",
            "add_callback": self._make_add_setting_packet,
            "done_message": "setting_done",
            "ack_message": "setting_ack",
            "max_retries": self._settings.get("settings_max_retries"),
            "retry_interval": self._settings.get("settings_retry_interval")
        }
        sender = Control_Panel_RF_Sensor_Sender(self._controller, vehicle_settings,
                                                count, configuration)

        if groundCheckBox.isChecked():
            sender.connect_accepted(self._set_ground_station_settings)

        sender.start()
Beispiel #4
0
    def _save(self):
        """
        Create the save dialog and handle saving/sending the settings.
        """

        flat_settings = {}
        disallowed = []
        for i, widget in enumerate(self._widgets):
            if widget is not None:
                values, allowed = widget.get_values()
                flat_settings.update(values)
                disallowed.extend([(i, key)
                                   for key, value in allowed.iteritems()
                                   if not value])

        # Create the save dialog.
        dialog, groundCheckBox, vehicleCheckBoxes = self._create_save_dialog(
            flat_settings, disallowed)

        # Show the dialog and handle the input.
        result = dialog.exec_()
        if result != QtGui.QDialog.Accepted:
            return

        # Set up the saving or settings sender.
        self._new_settings = flat_settings

        vehicle_settings = {}
        keys = sorted(self._new_settings.keys())
        count = 0
        for vehicle in xrange(1, self._controller.rf_sensor.number_of_sensors +
                              1):
            if vehicleCheckBoxes[vehicle].isChecked():
                vehicle_settings[vehicle] = keys
                count += len(keys)

        if not vehicle_settings:
            if groundCheckBox.isChecked():
                self._set_ground_station_settings()

            return

        configuration = {
            "name": "setting",
            "clear_message": "setting_clear",
            "add_callback": self._make_add_setting_packet,
            "done_message": "setting_done",
            "ack_message": "setting_ack",
            "max_retries": self._settings.get("settings_max_retries"),
            "retry_interval": self._settings.get("settings_retry_interval")
        }
        sender = Control_Panel_RF_Sensor_Sender(self._controller,
                                                vehicle_settings, count,
                                                configuration)

        if groundCheckBox.isChecked():
            sender.connect_accepted(self._set_ground_station_settings)

        sender.start()