#pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MTDEvent class * \details The The ID_TDEvent data model * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | * |0x1700| 0x040 | 1 Hz | N | TD | All | ID_TDEvent data | * * | Payload || * | || * | #1 :(U32 ) | \ref Data::mevent | * | #2 :(U32 ) | \ref Data::mdataType1 | * | #3 :(union) | \ref Data::mdata1U08union | * | #4 :(U32 ) | \ref Data::mdataType2 | * | #5 :(union) | \ref Data::mdata2U08union | * * \sa Data * *

Logging info

* | || * | || * | typeText | eDatum | * | unitText | TD | * | infoText | MTDEvent | * */ class MTDEvent : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mEvent ; Types::U32 mDatatype1; Types::U08 mData1u08 ; Types::U16 mData1u16 ; Types::S16 mData1s16 ; Types::U32 mData1u32 ; Types::S32 mData1s32 ; Types::U32 mData1bool; Types::F32 mData1f32 ; Types::U32 mDatatype2; Types::U08 mData2u08 ; Types::U16 mData2u16 ; Types::S16 mData2s16 ; Types::U32 mData2u32 ; Types::S32 mData2s32 ; Types::U32 mData2bool; Types::F32 mData2f32 ; } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum; } Unit_Enum unitText () const override { return Unit_Enum::eTD ; } QString infoText () const override { return QString("Event") ; } struct Data { quint32 mEvent = 0; quint32 mDatatype1 = 0; quint8 mData1u08 = 0; quint16 mData1u16 = 0; qint16 mData1s16 = 0; quint32 mData1u32 = 0; qint32 mData1s32 = 0; quint32 mData1bool = 0; float mData1f32 = 0; quint32 mDatatype2 = 0; quint8 mData2u08 = 0; quint16 mData2u16 = 0; qint16 mData2s16 = 0; quint32 mData2u32 = 0; qint32 mData2s32 = 0; quint32 mData2bool = 0; float mData2f32 = 0; }; MTDEvent() {} bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MTDEvent::Data TDEventData;