/*! * * Copyright (c) 2023-2024 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 MDuetRoWaterDG.h * \author (last) Dara Navaei * \date (last) 08-May-2024 * \author (original) Behrouz NematiPour * \date (original) 03-Apr-2023 * */ #pragma once // Qt #include // Project #include "MAdjustRequestsBase.h" #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MDuetRoWaterStatDGq class * \details The DG RO Water Mode Status Query model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| * |0xC300| 0x070 | Qry | Y | DG | UI | RO Water Mode | * * | Payload || * | || * * \sa Data * *

Logging info

* | || * | || * | typeText | Event | * | unitText | DG | * | infoText | QueryRoWater | * */ class MDuetRoWaterStatDGq : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { } _data; public: Type_Enum typeText () const override { return Type_Enum::eEvent ; } Unit_Enum unitText () const override { return Unit_Enum::eDD ; } QString infoText () const override { return QString("QueryRoWater") ; } struct Data { }; MDuetRoWaterStatDGq () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; /*! * \brief The MDuetRoWaterModeDGr class * \details The DG RO Water Mode Response model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| * |0xC400| 0x070 | Res | Y | DG | UI | RO Water Mode | * * | Payload || * | || * | #1:(U32) | \ref Data::mAccepted | * | #2:(U32) | \ref Data::mReason | * | #3:(U32) | \ref Data::mFWValue | * * \sa Data * *

Logging info

* | || * | || * | typeText | Event | * | unitText | DG | * | infoText | AdjustRoWater | * */ class MDuetRoWaterModeDGr : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mAccepted ; Types::U32 mReason ; Types::U32 mFirmwareValue; } _data; public: Type_Enum typeText () const override { return Type_Enum::eEvent ; } Unit_Enum unitText () const override { return Unit_Enum::eDD ; } QString infoText () const override { return QString("AdjustRoWater") ; } struct Data { bool mAccepted = 0; /*!< Accepted value of type quint32 extracted out */ quint32 mReason = 0; /*!< Reason value of type quint32 extracted out */ quint32 mFirmwareValue = 0; /*!< Value in the firmware */ }; MDuetRoWaterModeDGr () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; /*! * Simple request models * These are models to send the request for the doAdjustment * The the only reason thy have been defined to help overloading the adjustment methods * Otherwise the parameters are so tiny models. */ /*! * \brief The MAdjustDGDateTime class * \details The model to request starting a treatment * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| * | 0xBC | 0x110 | Init | Y | UI | DG | Set RO Water Mode | * * | Payload || * | || * | #1:(U32) | \ref mStatus | * */ class MDuetRoWaterModeUIi : public MModel { public: quint32 mStatus; static QString toString(const QVariantList &vParameters) { return MModel::toString("AdjustRoWater", vParameters); } static Can::Can_Id canid () { return Can::Can_Id::eChlid_UI_DD; } }; } typedef Model::MDuetRoWaterModeUIi DuetRoWaterModeUIiData; typedef Model::MDuetRoWaterStatDGq::Data DuetRoWaterStatDGqData; typedef Model::MDuetRoWaterModeDGr::Data DuetRoWaterModeDGrData;