/*! * * Copyright (c) 2020-2023 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 NematiPour * \date (last) 10-Feb-2023 * \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 || * | || * | #01:(F32) | \ref Data::mInletPrimaryHeater | * | #02:(F32) | \ref Data::mHeatDisinfect | * | #03:(F32) | \ref Data::mOutletPrimaryHeater | * | #04:(F32) | \ref Data::mConductivitySensor1 | * | #05:(F32) | \ref Data::mConductivitySensor2 | * | #06:(F32) | \ref Data::mOutletRedundancy | * | #07:(F32) | \ref Data::mInletDialysate | * | #08:(F32) | \ref Data::mPrimaryHeaterThermoCouple | * | #09:(F32) | \ref Data::mTrimmerHeaterThermoCouple | * | #10:(F32) | \ref Data::mPrimaryHeaterColdJunction | * | #11:(F32) | \ref Data::mTrimmerHeaterColdJunction | * | #12:(F32) | \ref Data::mPrimaryHeaterInternal | * | #13:(F32) | \ref Data::mTrimmerHeaterInternal | * | #14:(F32) | \ref Data::mFpgaBoard | * | #15:(F32) | \ref Data::mLoadCellA1B1 | * | #16:(F32) | \ref Data::mLoadCellA2B2 | * | #17:(F32) | \ref Data::mInternalTHDORTD | * | #18:(F32) | \ref Data::mInternalTDIRTD | * | #19:(F32) | \ref Data::mInteralTHDRTD | * | #20:(F32) | \ref Data::mInternalCondSnsrTemp | * | #21:(F32) | \ref Data::mBaroTempSensor | * * \sa Data * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | DG | * | infoText | Temperatures | * */ 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 ; ///< Trimmer heater internal temperature (calculated from thermocouple and cold junction) Types::F32 mHeatDisinfect ; ///< Primary heaters internal temperature (calculated from thermocouple and cold junction) Types::F32 mOutletPrimaryHeater ; ///< Trimmer heater cold junction temperature sensor Types::F32 mConductivitySensor1 ; ///< Primary heaters cold junction temperature sensor Types::F32 mConductivitySensor2 ; ///< Trimmer heater thermocouple sensor Types::F32 mOutletRedundancy ; ///< Primary heaters thermocouple sensor Types::F32 mInletDialysate ; ///< Inlet dialysate temperature sensor Types::F32 mPrimaryHeaterThermoCouple ; ///< Outlet redundant temperature sensor Types::F32 mTrimmerHeaterThermoCouple ; ///< Conductivity sensor 2 temperature sensor Types::F32 mPrimaryHeaterColdJunction ; ///< Conductivity sensor 1 temperature sensor Types::F32 mTrimmerHeaterColdJunction ; ///< Outlet primary heater temperature sensor Types::F32 mPrimaryHeaterInternal ; ///< Heat Disinfect temperature sensor Types::F32 mTrimmerHeaterInternal ; ///< Inlet primary heater temperature sensor Types::F32 mFpgaBoard ; ///< FPGA board temperature sensor Types::F32 mLoadCellA1B1 ; ///< Load cell A1/B1 temperature sensor Types::F32 mLoadCellA2B2 ; ///< Load cell A2/B2 temperature sensor Types::F32 mInternalTHDORTD ; ///< THDo RTD channel temperature sensor Types::F32 mInternalTDIRTD ; ///< TDI RTD channel temperature sensor Types::F32 mInteralTHDRTD ; ///< THd RTD channel temperature sensor Types::F32 mInternalCondSnsrTemp ; ///< Conductivity Sensor internal temperature sensor Types::F32 mBaroTempSensor ; ///< Barometric temperature sensor } _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; ///< Trimmer heater internal temperature (calculated from thermocouple and cold junction) float mHeatDisinfect = 0; ///< Primary heaters internal temperature (calculated from thermocouple and cold junction) float mOutletPrimaryHeater = 0; ///< Trimmer heater cold junction temperature sensor float mConductivitySensor1 = 0; ///< Primary heaters cold junction temperature sensor float mConductivitySensor2 = 0; ///< Trimmer heater thermocouple sensor float mOutletRedundancy = 0; ///< Primary heaters thermocouple sensor float mInletDialysate = 0; ///< Inlet dialysate temperature sensor float mPrimaryHeaterThermoCouple = 0; ///< Outlet redundant temperature sensor float mTrimmerHeaterThermoCouple = 0; ///< Conductivity sensor 2 temperature sensor float mPrimaryHeaterColdJunction = 0; ///< Conductivity sensor 1 temperature sensor float mTrimmerHeaterColdJunction = 0; ///< Outlet primary heater temperature sensor float mPrimaryHeaterInternal = 0; ///< Heat Disinfect temperature sensor float mTrimmerHeaterInternal = 0; ///< Inlet primary heater temperature sensor float mFpgaBoard = 0; ///< FPGA board temperature sensor float mLoadCellA1B1 = 0; ///< Load cell A1/B1 temperature sensor float mLoadCellA2B2 = 0; ///< Load cell A2/B2 temperature sensor float mInternalTHDORTD = 0; ///< THDo RTD channel temperature sensor float mInternalTDIRTD = 0; ///< TDI RTD channel temperature sensor float mInteralTHDRTD = 0; ///< THd RTD channel temperature sensor float mInternalCondSnsrTemp = 0; ///< Conductivity Sensor internal temperature sensor float mBaroTempSensor = 0; ///< Barometric temperature sensor }; MDGTemperatures() { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MDGTemperatures::Data DGTemperaturesData;