/*! * * 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 | #1:(F32) | #2:(F32) | #3:(F32) | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: |:--: |:--: |:--: | * |0x2D00| 0x080 | 8 | 2 Hz | N | DG | All | DG Temperatures Data | \ref Data::mInletPrimaryHeater | \ref Data::mOutletPrimaryHeater | \ref Data::mConductivitySensor1 | * * | #4:(F32) | #5:(F32) | #6:(F32) | #7:(F32) | #8:(F32) | * |:--: |:--: |:--: |:--: |:--: | * | \ref Data::mConductivitySensor2 | \ref Data::mOutletRedundancy | \ref Data::mInletDialysate | \ref Data::mPrimaryHeaterThermoCouple | \ref Data::mTrimmerHeaterThermoCouple | * * | #9:(F32) | #10:(F32) | #11:(F32) | #12:(F32) | * | :--: |:--: |:--: |:--: | * | \ref Data::mPrimaryHeaterColdJunction | \ref Data::mTrimmerHeaterColdJunction | \ref Data::mPrimaryHeaterInternal | \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;