#pragma once
// Qt
// Project
#include "MAbstractDynamic.h"
#include "types.h"
// forward declarations
class tst_models;
namespace Model {
/*!
* \brief The MDGGeneralEvent class
* \details The DG General Event model
*
* | MSG | CAN ID | Type | Ack | Src | Dst | Description |
* |:----:|:------:|:------:|:---:|:---:|:---:|:-----------:|
* |0xA500| 0x070 | Event | N | DG | UI | DG General Event |
*
* | Payload ||
* | ||
* | #1:(U32) | \ref Data::mEventID |
* | #2:(U32) | \ref Data::mFieldDescriptor1 |
* | #3:(Any) | \ref Data::mDataField1 |
* | #4:(U32) | \ref Data::mFieldDescriptor2 |
* | #5:(Any) | \ref Data::mDataField2 |
*
*
* \sa Data
*
*
* | ||
* | ||
* | typeText | Event |
* | unitText | DG |
* | infoText | General |
*
*/
class MDGGeneralEvent : public MAbstractDynamic {
// friends
friend class ::tst_models;
public:
Type_Enum typeText() const override { return Type_Enum::eEvent ; }
Unit_Enum unitText() const override { return Unit_Enum::eDG ; }
QString infoText() const override { return QString("General" ) ; }
struct Data {
quint32 mEventID = 0;
quint32 mFieldDescriptor1 ;
quint32 mDataFieldU1 ;
qint32 mDataFieldS1 ;
float mDataFieldF1 ;
bool mDataFieldB1 ;
quint32 mFieldDescriptor2 ;
quint32 mDataFieldU2 ;
qint32 mDataFieldS2 ;
float mDataFieldF2 ;
bool mDataFieldB2 ;
};
public:
MDGGeneralEvent () { }
Data data () const;
};
}
typedef Model::MDGGeneralEvent::Data DGGeneralEventData;