/*! * * 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 MDGTemperaturesData.h * \author (last) Behrouz NemaiPour * \date (last) 17-Jul-2020 * \author (original) Behrouz NemaiPour * \date (original) 02-Jul-2020 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MDGTemperatures class * \details The DG temperatures data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: * |0x2D00| 0x080 | 8 | 2 Hz | N | DG | All | DG Temperatures Data * * | Payload || * | || * | # 1:(F32) | \ref Data::mInletPrimaryHeater | * | # 2:(F32) | \ref Data::mOutletPrimaryHeater | * | # 3:(F32) | \ref Data::mConductivitySensor1 | * | # 4:(F32) | \ref Data::mConductivitySensor2 | * | # 5:(F32) | \ref Data::mOutletRedundancy | * | # 6:(F32) | \ref Data::mInletDialysate | * | # 7:(F32) | \ref Data::mPrimaryHeaterThermoCouple | * | # 8:(F32) | \ref Data::mTrimmerHeaterThermoCouple | * | # 9:(F32) | \ref Data::mPrimaryHeaterColdJunction | * | #10:(F32) | \ref Data::mTrimmerHeaterColdJunction | * | #11:(F32) | \ref Data::mPrimaryHeaterInternal | * | #12:(F32) | \ref Data::mTrimmerHeaterInternal | * * \sa Data * */ class MDGTemperatures : public MAbstract { // friends friend class ::tst_models; // DG Temperatures Data 1 - F32 Inlet primary heater 5 - F32 Outlet redundancy 9 - F32 Primary heater cold junction // 2 - F32 Outlet primary heater 6 - F32 Inlet dialysate 10 - F32 Trimmer heater cold junction // 3 - F32 Conductivity sensor 1 7 - F32 Primary heater thermo-couple 11 - F32 Primary heater internal temperature // 4 - F32 Conductivity sensor 2 8 - F32 Trimmer heater thermo-couple 12 - F32 Trimmer heater internal temperature QVariantList parameters() const override; struct { Types::F32 mInletPrimaryHeater ; /* 01 */ Types::F32 mOutletPrimaryHeater ; /* 02 */ Types::F32 mConductivitySensor1 ; /* 03 */ Types::F32 mConductivitySensor2 ; /* 04 */ Types::F32 mOutletRedundancy ; /* 05 */ Types::F32 mInletDialysate ; /* 06 */ Types::F32 mPrimaryHeaterThermoCouple ; /* 07 */ Types::F32 mTrimmerHeaterThermoCouple ; /* 08 */ Types::F32 mPrimaryHeaterColdJunction ; /* 09 */ Types::F32 mTrimmerHeaterColdJunction ; /* 10 */ Types::F32 mPrimaryHeaterInternal ; /* 11 */ Types::F32 mTrimmerHeaterInternal ; /* 12 */ } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum ; } Unit_Enum unitText () const override { return Unit_Enum::eDG ; } QString infoText () const override { return QString("Temperatures"); } struct Data { float mInletPrimaryHeater = 0; ///< Inlet primary heaters temperature float mOutletPrimaryHeater = 0; ///< Outlet primary heaters temperature float mConductivitySensor1 = 0; ///< Conductivity sensor 1 temperature float mConductivitySensor2 = 0; ///< Conductivity sensor 2 temperature float mOutletRedundancy = 0; ///< Outlet redundancy temperature float mInletDialysate = 0; ///< Inlet dialysate temperature float mPrimaryHeaterThermoCouple = 0; ///< Primary heaters internal temperature float mTrimmerHeaterThermoCouple = 0; ///< Trimmer heater internal temperature float mPrimaryHeaterColdJunction = 0; ///< Primary heaters cold junction temperature float mTrimmerHeaterColdJunction = 0; ///< Trimmer heater cold junction temperature float mPrimaryHeaterInternal = 0; ///< Primary heaters internal temperature float mTrimmerHeaterInternal = 0; ///< Trimmer heater internal temperature }; MDGTemperatures() { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDGTemperatures::Data DGTemperaturesData;