/** * @RDE_HEADER@ * MeteoDataManagement - Static Meteo Data Edit Dialog * $Id$ * $HeadURL$ * $Author$ * Created by hjl, SLSE, 2016-10-17 */ #pragma once #include #include #include namespace EffectShowManagement { /** * @brief Converts the data telegrams received from Training Area Base proxy. * * For the telegram data to be converted see GUEZSB60_ICD-0046C. */ namespace ConvertFromTab { /** * @brief Rx Telegram types. */ enum class RxTelegram_e { OrderConfirmation, VehicleStatus, unknown }; /** * @brief Returns the type of telegram related to the received data. * @return The type of the telegram */ RxTelegram_e isTelegram(const TrainingAreaBase::FireSmokeMarkerData &data); /** * @brief Order types. */ enum class OrderType_e : qint8 { Relocation = 0, EffectShow = 1 }; /** * @brief Order confirmation data. ICD Tele: DMF-Auftragsbestaetigung; Parameter: Bestaetigung */ struct OrderConfirmation_t { OrderType_e orderType = OrderType_e::Relocation; // 0=Relocation; 1=Effect Show qint16 orderId = 0; // Id of relocation or effect show EffectShowManagement::OrderConfirmation_e confirmation = EffectShowManagement::OrderConfirmation_e::WaitingForAcceptance; QString answerText; }; /** * @brief Returns the order confirmation data. * @return Order confirmation data. */ OrderConfirmation_t getOrderConfirmation(const TrainingAreaBase::FireSmokeMarkerData &data); /** * @brief Order confirmation data. ICD Tele: DMF-Auftragsbestaetigung; Parameter: Bestaetigung */ struct VehicleStatus_t { qint64 timestamp = 0; int equipmentNumber = 0; int operational = 0; int ammunitionMagazine = 0; int feature = 0; quint8 ammunitionAvailable = 0; bool inclinationSensorFail = false; bool navigationFail = false; bool airSpeedMeterFail = false; bool controlComputerFail = false; bool magazineFail = false; }; /** * @brief Returns the effect show vehicle status data. * @return Effect show vehicle status data. */ VehicleStatus_t getVehicleStatus(const TrainingAreaBase::FireSmokeMarkerData &data); } // namespace ConvertFromTab } // namespace EffectShowManagement