Files
qt5-legatus-legacy/Lts/Services/EffectShowManagement/esm_convert_from_tab.h
T
2026-08-13 18:33:10 +02:00

81 lines
2.3 KiB
C++
Executable File

/**
* @RDE_HEADER@
* MeteoDataManagement - Static Meteo Data Edit Dialog
* $Id$
* $HeadURL$
* $Author$
* Created by hjl, SLSE, 2016-10-17
*/
#pragma once
#include <TrainingAreaBase/tab_dtc.h>
#include <EffectShowManagement/esm_db.h>
#include <QString>
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