XNSim/XNModels/XNATA04DataProcessor/XNATA04DataProcessor.h

67 lines
1.7 KiB
C
Raw Normal View History

2025-04-28 12:25:20 +08:00
#pragma once
#include "XNATA04DataProcessor_global.h"
#include <XNCore/XNModelObject.h>
#include "../XNAerodynamics/XNAerodynamicsInterface/XNAerodynamicsPubSubTypes.hpp"
#include "../XNWeightBalance/XNWeightBalanceInterface/XNWeightBalancePubSubTypes.hpp"
#include "../XNGroundHandling/XNGroundHandlingInterface/XNGroundHandlingPubSubTypes.hpp"
#include <QVariant>
class XNATA04DataProcessorPrivate;
class XNATA04DATAPROCESSOR_EXPORT XNATA04DataProcessor : public XNModelObject
{
Q_OBJECT
Q_DISABLE_COPY(XNATA04DataProcessor)
Q_DECLARE_PRIVATE(XNATA04DataProcessor)
XN_DECLARE_DDS()
public:
explicit XNATA04DataProcessor(QObject *parent = nullptr);
virtual ~XNATA04DataProcessor();
protected:
XNATA04DataProcessor(XNATA04DataProcessorPrivate &dd, QObject *parent = nullptr);
public slots:
virtual void OnInitialize() override;
virtual void OnPrepareForExecute() override;
public:
virtual void StepUpdate() override;
private:
void OnWbOutput(const XNSim::ATA04::WeightBalance_output &output);
void OnGhOutput(const XNSim::ATA04::GroundHandling_output &output);
void OnAeroOutput(const XNSim::ATA04::Aerodynamics_output &output);
void OnAeroHeartbeat(const XNSim::ATA04::Aerodynamics_heartbeat &heartbeat);
void OnWbHeartbeat(const XNSim::ATA04::WeightBalance_heartbeat &heartbeat);
void OnGhHeartbeat(const XNSim::ATA04::GroundHandling_heartbeat &heartbeat);
void OnAeroInput(const QVariant &data);
void OnWbInput(const QVariant &data);
void OnGhInput(const QVariant &data);
void SendUdpData();
void SendAeroOutput();
void SendWbOutput();
void SendGhOutput();
void SendAeroHeartbeat();
void SendWbHeartbeat();
void SendGhHeartbeat();
2025-04-28 16:41:21 +08:00
void SendUdpTestData();
2025-04-28 12:25:20 +08:00
};
Q_DECLARE_METATYPE(XNATA04DataProcessor)