/*! * * Copyright (c) 2019-2020 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 MAlarmTriggered.h * \author (last) Behrouz NematiPour * \author (original) Behrouz NematiPour * \date (last) 16-Oct-2020 * \date (original) 02-Jul-2020 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "MAdjustRequestsBase.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MAlarmTriggered class * \details The alarm triggered model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0x0300| 0x001 | 1 | Event | Y | HD | All | Alarm Triggered | * * | 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 | Event | * | unitText | HD | * | infoText | Alarm Triggered | * */ class MAlarmTriggered : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mAlarmID ; 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; public: Type_Enum typeText() const override { return Type_Enum::eEvent ; } Unit_Enum unitText() const override { return Unit_Enum::eHD ; } QString infoText() const override { return QString("AlarmTriggered") ; } struct Data { quint32 mAlarmID = 0; ///< Alarm ID quint32 mFieldDescriptor1 ; quint32 mDataFieldU1 ; qint32 mDataFieldS1 ; float mDataFieldF1 ; bool mDataFieldB1 ; quint32 mFieldDescriptor2 ; quint32 mDataFieldU2 ; qint32 mDataFieldS2 ; float mDataFieldF2 ; bool mDataFieldB2 ; }; public: MAlarmTriggered () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; /*! * \brief The MAlarmTriggeredReq class * \details The model to transmit AlarmTrigger (mainly being used for post for now) * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| * |0x0300| 0x200 | Req | Y | UI | All | Alarm Triggered | * * | Payload || * | || * */ class MAlarmTriggeredReq : public MModel { public: // coco begin validated : Has been validated manually. // This object is used statically for now, kept the logic for later usage. QString toString(); // coco end static QString toString(const QVariantList &vParameters); static Can::Can_Id canid (); }; } typedef Model::MAlarmTriggered::Data AlarmTriggeredData; typedef Model::MAlarmTriggeredReq AlarmTriggeredRequestData;