/*! * * Copyright (c) 2022-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 MTDAirTrapData.h * \author (original) Tiffany Mejia * \date (original) 07-May-2025 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MTDAirTrapData class * \details The TD Air Trap data model * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | * |0x2A00| 0x100 | 1 Hz | N | TD | All | TD Air Trap Data | * * | Payload || * | || * | #1:(U32) | \ref Data::mH17State | * | #2:(U32) | \ref Data::mH16State | * | #3:(U32) | \ref Data::mH17RawState | * | #4:(U32) | \ref Data::mH16RawState | * | #5:(U32) | \ref Data::mH13State | * | #6:(U32) | \ref Data::mH20State | * | #7:(U32) | \ref Data::mIsAutoControlling | * | #8:(U32) | \ref Data::mAirTrapState | * | #9:(U32) | \ref Data::mAirPumpLowerPowerLevel | * |#10:(U32) | \ref Data::mAirPumpRaisePowerLevel | * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | TD | * | infoText | Air Trap | * */ class MTDAirTrapData : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mH17State ; Types::U32 mH16State ; Types::U32 mH17RawState ; Types::U32 mH16RawState ; Types::U32 mH13State ; Types::U32 mH20State ; Types::U32 mIsAutoControlling ; Types::U32 mAirTrapState ; Types::U32 mAirPumpLowerPowerLevel ; Types::U32 mAirPumpRaisePowerLevel ; } _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("AirTrap") ; } struct Data { quint32 mH17State = 0; ///< lower level value quint32 mH16State = 0; ///< upper level value quint32 mH17RawState = 0; ///< lower level raw value quint32 mH16RawState = 0; ///< upper level raw value quint32 mH13State = 0; ///< Air trap intake Valve state (open/closed) quint32 mH20State = 0; ///< Air trap outlet valve state (open/closed) quint32 mIsAutoControlling = 0; ///< air control quint32 mAirTrapState = 0; ///< air control quint32 mAirPumpLowerPowerLevel = 0; ///< air control quint32 mAirPumpRaisePowerLevel = 0; ///< air control }; MTDAirTrapData () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MTDAirTrapData::Data TDAirTrapData;