diff --git a/src/shared/Modules/RefuelingButton/MessagesListRefButton.h b/src/shared/Modules/RefuelingButton/MessagesListRefButton.h index af36178178f84e858d09ea3241efc88518865a97..1af250e44a88320f543c77b69e25d7e73f7fe3d5 100644 --- a/src/shared/Modules/RefuelingButton/MessagesListRefButton.h +++ b/src/shared/Modules/RefuelingButton/MessagesListRefButton.h @@ -21,162 +21,48 @@ #include <Modules/Mavlink/MavlinkVersionHeader.h> #include <Modules/RefuelingButton/MessageFormElementRefButton.h> +#include <QList> #include <QMap> #include <QString> namespace MessagesListRefButton { -static const QStringList messagesList{ - "PING_TC", - "COMMAND_TC", - "SYSTEM_TM_REQUEST_TC", - "SENSOR_TM_REQUEST_TC", - "SERVO_TM_REQUEST_TC", - "SET_SERVO_ANGLE_TC", - "WIGGLE_SERVO_TC", - "RESET_SERVO_TC", - "SET_REFERENCE_ALTITUDE_TC", - "SET_REFERENCE_TEMPERATURE_TC", - "SET_ORIENTATION_TC", - "SET_COORDINATES_TC", - "RAW_EVENT_TC", - "SET_DEPLOYMENT_ALTITUDE_TC", - "SET_TARGET_COORDINATES_TC", - "SET_ALGORITHM_TC", -}; - -static const QMap<QString, int> systemTmList{ - {"MAV_SYS_ID", MAV_SYS_ID}, - {"MAV_FSM_ID", MAV_FSM_ID}, - {"MAV_PIN_OBS_ID", MAV_PIN_OBS_ID}, - {"MAV_LOGGER_ID", MAV_LOGGER_ID}, - {"MAV_MAVLINK_STATS", MAV_MAVLINK_STATS}, - {"MAV_TASK_STATS_ID", MAV_TASK_STATS_ID}, - {"MAV_ADA_ID", MAV_ADA_ID}, - {"MAV_NAS_ID", MAV_NAS_ID}, - {"MAV_CAN_ID", MAV_CAN_ID}, - {"MAV_FLIGHT_ID", MAV_FLIGHT_ID}, - {"MAV_STATS_ID", MAV_STATS_ID}, - {"MAV_SENSORS_STATE_ID", MAV_SENSORS_STATE_ID}, -}; - -static const QMap<QString, int> sensorsList{ - {"MAV_GPS_ID", MAV_GPS_ID}, - {"MAV_BMX160_ID", MAV_BMX160_ID}, - {"MAV_VN100_ID", MAV_VN100_ID}, - {"MAV_MPU9250_ID", MAV_MPU9250_ID}, - {"MAV_ADS_ID", MAV_ADS_ID}, - {"MAV_MS5803_ID", MAV_MS5803_ID}, - {"MAV_BME280_ID", MAV_BME280_ID}, - {"MAV_CURRENT_SENSE_ID", MAV_CURRENT_SENSE_ID}, - {"MAV_LIS3MDL_ID", MAV_LIS3MDL_ID}, - {"MAV_DPL_PRESS_ID", MAV_DPL_PRESS_ID}, - {"MAV_STATIC_PRESS_ID", MAV_STATIC_PRESS_ID}, - {"MAV_PITOT_PRESS_ID", MAV_PITOT_PRESS_ID}, - {"MAV_BATTERY_VOLTAGE_ID", MAV_BATTERY_VOLTAGE_ID}, - {"MAV_LOAD_CELL_ID", MAV_LOAD_CELL_ID}, +enum class State : int +{ + INVALID = 0, + INIT, + INIT_ERROR, + SENSORS_CALIBRATION, + ALGOS_CALIBRATION, + DISARMED, + TEST_MODE, + ARMED, + ASCENDING, + DROGUE_DESCENT, + TERMINAL_DESCENT, + LANDED, }; -static const QMap<QString, int> commandsList{ - {"MAV_CMD_ARM", MAV_CMD_ARM}, - {"MAV_CMD_DISARM", MAV_CMD_DISARM}, - {"MAV_CMD_CALIBRATE", MAV_CMD_CALIBRATE}, - {"MAV_CMD_FORCE_INIT", MAV_CMD_FORCE_INIT}, - {"MAV_CMD_FORCE_LAUNCH", MAV_CMD_FORCE_LAUNCH}, - {"MAV_CMD_FORCE_LANDING", MAV_CMD_FORCE_LANDING}, - {"MAV_CMD_FORCE_APOGEE", MAV_CMD_FORCE_APOGEE}, - {"MAV_CMD_FORCE_EXPULSION", MAV_CMD_FORCE_EXPULSION}, - {"MAV_CMD_FORCE_MAIN", MAV_CMD_FORCE_MAIN}, - {"MAV_CMD_START_LOGGING", MAV_CMD_START_LOGGING}, - {"MAV_CMD_STOP_LOGGING", MAV_CMD_STOP_LOGGING}, - {"MAV_CMD_FORCE_REBOOT", MAV_CMD_FORCE_REBOOT}, - {"MAV_CMD_ENTER_TEST_MODE", MAV_CMD_ENTER_TEST_MODE}, - {"MAV_CMD_EXIT_TEST_MODE", MAV_CMD_EXIT_TEST_MODE}, - {"MAV_CMD_START_RECORDING", MAV_CMD_START_RECORDING}, - {"MAV_CMD_STOP_RECORDING", MAV_CMD_STOP_RECORDING}, +// Groundstation labels +static const QList<QString> messagesList{ + "INIT", "TEST_MODE", "SENSORS_CALIBRATION", "DISARMED", "ARMED", + "ASCENDING", "DROGUE_DESCENT", "TERMINAL_DESCENT", "LANDED", }; -const QMap<QString, int> servosList{ - {"AIR_BRAKES_SERVO", AIR_BRAKES_SERVO}, - {"EXPULSION_SERVO", EXPULSION_SERVO}, - {"PARAFOIL_LEFT_SERVO", PARAFOIL_LEFT_SERVO}, - {"PARAFOIL_RIGHT_SERVO", PARAFOIL_RIGHT_SERVO}, +// Map from rocket states to groundstation labels +static const QMap<State, int> statesIndexes{ + {State::INIT, 0}, + {State::INIT_ERROR, 0}, + {State::TEST_MODE, 1}, + {State::SENSORS_CALIBRATION, 2}, + {State::ALGOS_CALIBRATION, 2}, + {State::DISARMED, 3}, + {State::ARMED, 4}, + {State::ASCENDING, 5}, + {State::DROGUE_DESCENT, 6}, + {State::TERMINAL_DESCENT, 7}, + {State::LANDED, 8}, }; -inline void fillMessagesMap( - QMap<QString, MessageFormElementRefButton *> &formElements) -{ - MessageFormElementRefButton *element; - - element = new MessageFormElementRefButton(); - formElements["PING_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addComboBox("command_id", "Command:", commandsList); - formElements["COMMAND_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addComboBox("tm_id", "Telemetry:", systemTmList); - formElements["SYSTEM_TM_REQUEST_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addComboBox("sensor_id", "Sensor:", sensorsList); - formElements["SENSOR_TM_REQUEST_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addComboBox("servo_id", "Servo:", servosList); - formElements["SERVO_TM_REQUEST_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addComboBox("servo_id", "Servo:", servosList); - element->addFloat("angle", "Angle:", 0, 180, 2); - formElements["SET_SERVO_ANGLE_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addComboBox("servo_id", "Servo:", servosList); - formElements["WIGGLE_SERVO_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addComboBox("servo_id", "Servo:", servosList); - formElements["RESET_SERVO_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addFloat("ref_altitude", "Altitude:", 0, 9999, 2); - formElements["SET_REFERENCE_ALTITUDE_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addFloat("ref_temp", "Temperature:", 0, 999, 2); - formElements["SET_REFERENCE_TEMPERATURE_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addFloat("yaw", "Yaw:", -180, 180, 2); - element->addFloat("pitch", "Pitch:", -180, 180, 2); - element->addFloat("roll", "Roll:", -180, 180, 2); - formElements["SET_ORIENTATION_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addFloat("latitude", "Latitude:", -90, 90, 6); - element->addFloat("longitude", "Longitude:", -90, 90, 6); - formElements["SET_COORDINATES_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addInteger("topic_id", "Topic:", 0, 999); - element->addInteger("event_id", "Event:", 0, 999); - formElements["RAW_EVENT_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addFloat("dpl_altitude", "Altitude:", 0, 9999, 2); - formElements["SET_DEPLOYMENT_ALTITUDE_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addFloat("latitude", "Latitude:", -90, 90, 6); - element->addFloat("longitude", "Longitude:", -90, 90, 6); - formElements["SET_TARGET_COORDINATES_TC"] = element; - - element = new MessageFormElementRefButton(); - element->addInteger("algorithm_number", "Algorithm:", 0, 999); - formElements["SET_ALGORITHM_TC"] = element; -} - -} // namespace MessagesListRefButton \ No newline at end of file +} // namespace MessagesListRefButton diff --git a/src/shared/Modules/RefuelingButton/RefuelingButton.cpp b/src/shared/Modules/RefuelingButton/RefuelingButton.cpp index 4baef3f36a864426e846d0a4cd96afd7b8a87655..5b82d6abb0fccded82d4e17cf054bef5b5626e39 100644 --- a/src/shared/Modules/RefuelingButton/RefuelingButton.cpp +++ b/src/shared/Modules/RefuelingButton/RefuelingButton.cpp @@ -84,8 +84,6 @@ void RefuelingButton::setupUi() setLayout(outerLayout); - MessagesListRefButton::fillMessagesMap(formElements); - // Set default value currentMessage = "PING_TC"; messagesListComboBox->setCurrentText(currentMessage);