81 lines
2.3 KiB
C++
Executable File
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
|