/*! * * Copyright (c) 2021-2025 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file MAbstractDynamic.h * \author (last) Behrouz NematiPour * \date (last) 28-Mar-2022 * \author (original) Behrouz NematiPour * \date (original) 07-Oct-2021 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MAbstractDynamic class * \details The Abstract Dynamic model base class * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------:| * | | | | | | | | * * | Payload || * | || * | #1:(U32) | \ref Data::mAlarmID | * | #2:(U32) | \ref Data::mFieldDescriptor1 | * | #3:(Any) | \ref Data::mDataField1 | * | #4:(U32) | \ref Data::mFieldDescriptor2 | * | #5:(Any) | \ref Data::mDataField2 | * * * \sa Data * *

Logging info

* | || * | || * | typeText || * | unitText || * | infoText || * */ class MAbstractDynamic : public MAbstract { // friends friend class ::tst_models; protected: QVariantList parameters() const override; struct { Types::U32 mID ; Types::U32 mFieldDescriptor1 ; Types::U32 mDataFieldU1 ; Types::S32 mDataFieldS1 ; Types::F32 mDataFieldF1 ; Types::U32 mDataFieldB1 ; Types::U32 mFieldDescriptor2 ; Types::U32 mDataFieldU2 ; Types::S32 mDataFieldS2 ; Types::F32 mDataFieldF2 ; Types::U32 mDataFieldB2 ; } _data; protected: const quint8 _xata_start = 5 * 4; public: MAbstractDynamic () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; }; }