Index: leahi.pro =================================================================== diff -u -r94c3fb6bbcf932b1f50a2d616dc600e3c449afe4 -rf9abb75101e8cbe4c3a388361cfd3bbf592605f8 --- leahi.pro (.../leahi.pro) (revision 94c3fb6bbcf932b1f50a2d616dc600e3c449afe4) +++ leahi.pro (.../leahi.pro) (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -59,10 +59,20 @@ sources/model \ sources/model/td \ sources/model/td/data \ + sources/model/td/data/treatment \ sources/model/td/alarm \ + sources/model/td/adjustment \ + sources/model/td/adjustment/settings \ + sources/model/dd \ + sources/model/dd/data \ + sources/model/dd/adjustment \ + sources/model/dd/adjustment/settings \ sources/view \ sources/view/td \ sources/view/td/data \ + sources/view/td/data/treatment \ + sources/view/dd \ + sources/view/dd/data \ sources/view/confirm \ sources/view/settings \ \ @@ -131,15 +141,26 @@ \ # Controllers sources/ApplicationController.h \ sources/device/DeviceController.h \ - sources/model/dg/data/MDDConductivityData.h \ - sources/model/dg/data/MDDGenDialysateData.h \ - sources/model/hd/data/treatment/MTreatmentSetPointData.h \ - sources/model/hd/data/treatment/MTreatmentUltrafiltrationData.h \ - sources/model/dg/adjustment/settings/MAdjustDDSerialNumberResponse.h \ - sources/model/dg/adjustment/settings/MAdjustDDVersionsResponse.h \ - sources/model/hd/adjustment/settings/MAdjustTDSerialNumberResponse.h \ - sources/model/hd/adjustment/settings/MAdjustTDVersionsRequest.h \ - sources/model/hd/adjustment/settings/MAdjustTDVersionsResponse.h \ + sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.h \ + sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.h \ + sources/model/dd/data/MDDConductivityData.h \ + sources/model/dd/data/MDDGenDialysateData.h \ + sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.h \ + sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.h \ + sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.h \ + sources/model/td/data/MTDAirTrapData.h \ + sources/model/td/data/MTDBatteryData.h \ + sources/model/td/data/MTDEjectorData.h \ + sources/model/td/data/MTDSwitchesData.h \ + sources/model/td/data/MTDTemperatureData.h \ + sources/model/td/data/MTDValvesData.h \ + sources/model/td/data/MTDVoltageData.h \ + sources/model/td/data/treatment/MTreatmentBloodFlowData.h \ + sources/model/td/data/treatment/MTreatmentPressureOcclusionData.h \ + sources/model/td/data/treatment/MTreatmentSalineData.h \ + sources/model/td/data/treatment/MTreatmentSetPointData.h \ + sources/model/td/data/treatment/MTreatmentTimeData.h \ + sources/model/td/data/treatment/MTreatmentUltrafiltrationData.h \ sources/storage/Settings.h \ sources/storage/TreatmentLog.h \ sources/bluetooth/BluetoothInterface.h \ @@ -152,6 +173,12 @@ \ # ---------- Models - TD - Data //// ----- @LEAHIZED sources/model/td/data/MTDOpModeData.h \ \ # ---------- Views - TD - Data - States //// ----- @LEAHIZED + sources/view/dd/data/VDDConductivityData.h \ + sources/view/dd/data/VDDGenDialysateData.h \ + sources/view/hd/data/VTreatmentRanges.h \ + sources/view/td/data/VTDAirTrapData.h \ + sources/view/td/data/VTDBatteryData.h \ + sources/view/td/data/VTDEjectorData.h \ sources/view/td/data/VTDOpModeData.h \ \ # ---------- Models - confirm sources/model/confirm/MDuetConfirmHDi.h \ @@ -232,21 +259,10 @@ sources/model/hd/data/MHDAccelerometerData.h \ sources/model/hd/data/MHDSyringePumpData.h \ sources/model/hd/data/MHDAirBubbleData.h \ - sources/model/hd/data/MTDAirTrapData.h \ - sources/model/hd/data/MTDVoltageData.h \ - sources/model/hd/data/MTDTemperatureData.h \ - sources/model/hd/data/MTDValvesData.h \ - sources/model/hd/data/MTDBatteryData.h \ - sources/model/hd/data/MTDSwitchesData.h \ - sources/model/hd/data/MTDEjectorData.h \ sources/model/hd/data/MHDBloodLeakData.h \ sources/model/hd/data/MTreatmentRangesData.h \ - sources/model/hd/data/treatment/MTreatmentTimeData.h \ - sources/model/hd/data/treatment/MTreatmentBloodFlowData.h \ sources/model/hd/data/treatment/MTreatmentDialysateFlowData.h \ sources/model/hd/data/treatment/MTreatmentOutletFlowData.h \ - sources/model/hd/data/treatment/MTreatmentPressureOcclusionData.h \ - sources/model/hd/data/treatment/MTreatmentSalineData.h \ sources/model/hd/data/treatment/MTreatmentHeparinData.h \ sources/model/hd/data/treatment/MTreatmentRinsebackData.h \ sources/model/hd/data/treatment/MTreatmentRecirculateData.h \ @@ -301,16 +317,8 @@ \ # ---------- Views - CONFIRM sources/view/confirm/VConfirm.h \ \ # ---------- Views - POST - sources/view/dg/data/VDDGenDialysateData.h \ sources/view/dg/data/post/VDGPOSTData.h \ \ # ---------- Views - Settings - sources/view/hd/data/VTDBatteryData.h \ - sources/view/hd/data/VTDEjectorData.h \ - sources/view/hd/data/VTDSwitchesData.h \ - sources/view/hd/data/VTDTemperatureData.h \ - sources/view/hd/data/VTDValvesData.h \ - sources/view/hd/data/treatment/VTreatmentSetPointData.h \ - sources/view/hd/data/treatment/VTreatmentUltrafiltrationData.h \ sources/view/settings/VDateTime.h \ sources/view/settings/VSettings.h \ sources/view/settings/VLocalization.h \ @@ -374,14 +382,7 @@ sources/view/hd/data/VHDSyringePumpData.h \ sources/view/hd/data/VHDAirBubbleData.h \ sources/view/hd/data/VHDBloodLeakData.h \ - sources/view/hd/data/VTreatmentRanges.h \ - sources/view/hd/data/VTDAirTrapData.h \ - sources/view/hd/data/VTDVoltageData.h \ - sources/view/hd/data/treatment/VTreatmentTime.h \ - sources/view/hd/data/treatment/VTreatmentBloodFlow.h \ sources/view/hd/data/treatment/VTreatmentDialysateFlow.h \ - sources/view/hd/data/treatment/VTreatmentPressureOcclusion.h \ - sources/view/hd/data/treatment/VTreatmentSalineData.h \ sources/view/hd/data/treatment/VTreatmentHeparinData.h \ sources/view/hd/data/treatment/VTreatmentRinsebackData.h \ sources/view/hd/data/treatment/VTreatmentRecirculateData.h \ @@ -402,7 +403,6 @@ sources/view/dg/data/VDGTemperaturesData.h \ sources/view/dg/data/VDGValvesStatesData.h \ sources/view/dg/data/VDGAccelerometerData.h \ - sources/view/dg/data/VDDConductivityData.h \ \ # Storage sources/storage/StorageGlobals.h \ sources/storage/Logger.h \ @@ -412,7 +412,17 @@ sources/utility/format.h \ sources/utility/types.h \ sources/utility/encryption.h \ - sources/utility/qrcodegen.h + sources/utility/qrcodegen.h \ + sources/view/td/data/VTDSwitchesData.h \ + sources/view/td/data/VTDTemperatureData.h \ + sources/view/td/data/VTDValvesData.h \ + sources/view/td/data/VTDVoltageData.h \ + sources/view/td/data/treatment/VTreatmentBloodFlow.h \ + sources/view/td/data/treatment/VTreatmentPressureOcclusion.h \ + sources/view/td/data/treatment/VTreatmentSalineData.h \ + sources/view/td/data/treatment/VTreatmentSetPointData.h \ + sources/view/td/data/treatment/VTreatmentTime.h \ + sources/view/td/data/treatment/VTreatmentUltrafiltrationData.h SOURCES += \ \ # common @@ -426,24 +436,30 @@ \ # Controllers sources/ApplicationController.cpp \ sources/device/DeviceController.cpp \ - sources/model/dg/adjustment/settings/MAdjustDDSerialNumberResponse.cpp \ - sources/model/dg/adjustment/settings/MAdjustDDVersionsResponse.cpp \ - sources/model/hd/adjustment/settings/MAdjustTDSerialNumberResponse.cpp \ - sources/model/hd/adjustment/settings/MAdjustTDVersionsRequest.cpp \ - sources/model/hd/adjustment/settings/MAdjustTDVersionsResponse.cpp \ - sources/model/dg/data/MDDConductivityData.cpp \ - sources/model/dg/data/MDDGenDialysateData.cpp \ - sources/model/hd/data/treatment/MTreatmentSetPointData.cpp \ - sources/model/hd/data/treatment/MTreatmentUltrafiltrationData.cpp \ + sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.cpp \ + sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.cpp \ + sources/model/dd/data/MDDConductivityData.cpp \ + sources/model/dd/data/MDDGenDialysateData.cpp \ + sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.cpp \ + sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.cpp \ + sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.cpp \ + sources/model/td/data/MTDAirTrapData.cpp \ + sources/model/td/data/MTDBatteryData.cpp \ + sources/model/td/data/MTDEjectorData.cpp \ + sources/model/td/data/MTDSwitchesData.cpp \ + sources/model/td/data/MTDTemperatureData.cpp \ + sources/model/td/data/MTDValvesData.cpp \ + sources/model/td/data/MTDVoltageData.cpp \ + sources/model/td/data/treatment/MTreatmentBloodFlowData.cpp \ + sources/model/td/data/treatment/MTreatmentPressureOcclusionData.cpp \ + sources/model/td/data/treatment/MTreatmentSalineData.cpp \ + sources/model/td/data/treatment/MTreatmentSetPointData.cpp \ + sources/model/td/data/treatment/MTreatmentTimeData.cpp \ + sources/model/td/data/treatment/MTreatmentUltrafiltrationData.cpp \ sources/model/ui/data/MUIBloodPressureData.cpp \ sources/storage/Settings.cpp \ sources/storage/TreatmentLog.cpp \ sources/view/dg/data/VDDGenDialysateData.cpp \ - sources/view/hd/data/VTDBatteryData.cpp \ - sources/view/hd/data/VTDEjectorData.cpp \ - sources/view/hd/data/VTDSwitchesData.cpp \ - sources/view/hd/data/VTDTemperatureData.cpp \ - sources/view/hd/data/VTDValvesData.cpp \ sources/view/hd/data/post/VHDPOSTData.cpp \ sources/bluetooth/BluetoothInterface.cpp \ sources/cloudsync/CloudSyncController.cpp \ @@ -520,21 +536,10 @@ sources/model/hd/data/MHDAccelerometerData.cpp \ sources/model/hd/data/MHDSyringePumpData.cpp \ sources/model/hd/data/MHDAirBubbleData.cpp \ - sources/model/hd/data/MTDAirTrapData.cpp \ - sources/model/hd/data/MTDVoltageData.cpp \ - sources/model/hd/data/MTDTemperatureData.cpp \ - sources/model/hd/data/MTDValvesData.cpp \ - sources/model/hd/data/MTDBatteryData.cpp \ - sources/model/hd/data/MTDSwitchesData.cpp \ - sources/model/hd/data/MTDEjectorData.cpp \ sources/model/hd/data/MHDBloodLeakData.cpp \ sources/model/hd/data/MTreatmentRangesData.cpp \ - sources/model/hd/data/treatment/MTreatmentTimeData.cpp \ - sources/model/hd/data/treatment/MTreatmentBloodFlowData.cpp \ sources/model/hd/data/treatment/MTreatmentDialysateFlowData.cpp \ sources/model/hd/data/treatment/MTreatmentOutletFlowData.cpp \ - sources/model/hd/data/treatment/MTreatmentPressureOcclusionData.cpp \ - sources/model/hd/data/treatment/MTreatmentSalineData.cpp \ sources/model/hd/data/treatment/MTreatmentHeparinData.cpp \ sources/model/hd/data/treatment/MTreatmentRinsebackData.cpp \ sources/model/hd/data/treatment/MTreatmentRecirculateData.cpp \ @@ -588,6 +593,9 @@ sources/view/VGeneralEvent.cpp \ sources/device/DeviceView.cpp \ \ # ---------- Views - TD - States Data + sources/view/td/data/VTDAirTrapData.cpp \ + sources/view/td/data/VTDBatteryData.cpp \ + sources/view/td/data/VTDEjectorData.cpp \ sources/view/td/data/VTDOpModeData.cpp \ \ # ---------- Views - CONFIRM sources/view/confirm/VConfirm.cpp \ @@ -597,8 +605,6 @@ sources/view/hd/alarm/VAlarmStatus.cpp \ sources/view/hd/alarm/VAlarmActiveList.cpp \ \ # ---------- Views - Settings - sources/view/hd/data/treatment/VTreatmentSetPointData.cpp \ - sources/view/hd/data/treatment/VTreatmentUltrafiltrationData.cpp \ sources/view/settings/VSettings.cpp \ sources/view/settings/VLocalization.cpp \ sources/view/settings/VDateTime.cpp \ @@ -654,19 +660,13 @@ sources/view/hd/data/VHDSyringePumpData.cpp \ sources/view/hd/data/VHDAirBubbleData.cpp \ sources/view/hd/data/VHDBloodLeakData.cpp \ - sources/view/hd/data/VTDAirTrapData.cpp \ - sources/view/hd/data/VTDVoltageData.cpp \ \ # ---------- Views - HD - Data - Pre-Treatment sources/view/hd/data/pretreatment/VPreTreatmentSelfTestNoCartridgeData.cpp \ sources/view/hd/data/pretreatment/VPreTreatmentSelfTestDryData.cpp \ sources/view/hd/data/pretreatment/VPreTreatmentDisposablesPrimeData.cpp \ \ # ---------- Views - HD - Data - In-Treatment sources/view/hd/data/VTreatmentRanges.cpp \ - sources/view/hd/data/treatment/VTreatmentTime.cpp \ - sources/view/hd/data/treatment/VTreatmentBloodFlow.cpp \ sources/view/hd/data/treatment/VTreatmentDialysateFlow.cpp \ - sources/view/hd/data/treatment/VTreatmentPressureOcclusion.cpp \ - sources/view/hd/data/treatment/VTreatmentSalineData.cpp \ sources/view/hd/data/treatment/VTreatmentHeparinData.cpp \ \ # ---------- Views - HD - Data - End-Treatment sources/view/hd/data/treatment/VTreatmentBloodPrimeData.cpp \ @@ -698,7 +698,17 @@ sources/utility/format.cpp \ sources/utility/types.cpp \ sources/utility/encryption.cpp \ - sources/utility/qrcodegen.cpp + sources/utility/qrcodegen.cpp \ + sources/view/td/data/VTDSwitchesData.cpp \ + sources/view/td/data/VTDTemperatureData.cpp \ + sources/view/td/data/VTDValvesData.cpp \ + sources/view/td/data/VTDVoltageData.cpp \ + sources/view/td/data/treatment/VTreatmentBloodFlow.cpp \ + sources/view/td/data/treatment/VTreatmentPressureOcclusion.cpp \ + sources/view/td/data/treatment/VTreatmentSalineData.cpp \ + sources/view/td/data/treatment/VTreatmentSetPointData.cpp \ + sources/view/td/data/treatment/VTreatmentTime.cpp \ + sources/view/td/data/treatment/VTreatmentUltrafiltrationData.cpp RESOURCES += \ leahi.qrc Index: sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.cpp =================================================================== diff -u --- sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.cpp (revision 0) +++ sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,60 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustDDSerialNumberResponse.cpp + * \author (last) Behrouz NematiPour + * \date (last) 19-Dec-2022 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#include "MAdjustDDSerialNumberResponse.h" + +using namespace Model; + +QVariantList MAdjustSerialNumberDDResponse::parameters() const { + return { + _data.mSerialNumber + }; +} + +/** + * \brief MAdjustSerialNumberDDResponse::isValid + * \details Checks if character meets DD serial constraints. (Alphanumeric or '-') + * \param vChar - the character. + * \return bool - whether character is valid. + */ +bool MAdjustSerialNumberDDResponse::isValid(const QChar &vChar) +{ + return vChar.isLetterOrNumber() || vChar == '-'; +} + +/** + * \brief MAdjustSerialNumberDDResponse::fromByteArray + * \details Removes any invalid characters from DD serial string. + * \param vByteArray - DD serial string represented as a byte array. + * \return true if serial contains any valid characters. + */ +bool MAdjustSerialNumberDDResponse::fromByteArray(const QByteArray &vByteArray, int *) { + // only keep valid characters from serial and stop if end of line reached + QString serial; + for ( char c: vByteArray ) { + if ( !c ) break; + QChar ch(c); + if ( isValid(ch) ) { + serial += ch; + } + } + + // whitespace cannot be in serial and empty serial is invalid + _data.mSerialNumber = serial.trimmed(); + return ! _data.mSerialNumber.isEmpty(); +} + +MAdjustSerialNumberDDResponse::Data MAdjustSerialNumberDDResponse::data() const { + return _data; +} Index: sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.h =================================================================== diff -u --- sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.h (revision 0) +++ sources/model/dd/adjustment/settings/MAdjustDDSerialNumberResponse.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,77 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustDDSerialNumberResponse.h + * \author (last) Behrouz NematiPour + * \date (last) 19-Dec-2022 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#pragma once + +// Qt + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustSerialNumberDDResponse class + * \details The DD serial number response data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x8800| 0x101 | Rsp | Y | DD | UI | DD Serial Number | + * + * | Payload || + * | || + * | #1:(bytes) | \ref Data::serialNumber + null term | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | DD | + * | infoText | Serial | + * + */ +class MAdjustSerialNumberDDResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + bool isValid(const QChar &vChar); + +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("Serial"); } + + struct Data { + QString mSerialNumber; + }; + + MAdjustSerialNumberDDResponse() {} + + bool fromByteArray (const QByteArray &vByteArray, int *vIndex = nullptr) override; + Data data ( ) const ; +private: + Data _data; +}; +} + +typedef Model::MAdjustSerialNumberDDResponse::Data AdjustSerialNumberDDResponseData; Index: sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.cpp =================================================================== diff -u --- sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.cpp (revision 0) +++ sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,65 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustDDVersionsResponse.cpp + * \author (last) Michael Garthwaite + * \date (last) 28-Feb-2022 + * \author (original) Behrouz NematiPour + * \date (original) 16-Apr-2021 + * + */ +#include "MAdjustDDVersionsResponse.h" + +using namespace Model; + +QVariantList MAdjustVersionsDDResponse::parameters() const { + return { + _data.mMajor .value, + _data.mMinor .value, + _data.mMicro .value, + _data.mBuild .value, + _data.mFPGAId .value, + _data.mFPGAMajor .value, + _data.mFPGAMinor .value, + _data.mFPGALab .value, + _data.mCompatibilityRev .value, + }; +} + +bool MAdjustVersionsDDResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mMajor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mMinor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mMicro )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mBuild )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGAId )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGAMajor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGAMinor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGALab )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCompatibilityRev )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false; +} + +AdjustVersionsDDResponseData MAdjustVersionsDDResponse::data() const { + Data data; + data.mMajor = _data.mMajor .value; + data.mMinor = _data.mMinor .value; + data.mMicro = _data.mMicro .value; + data.mBuild = _data.mBuild .value; + data.mFPGAId = _data.mFPGAId .value; + data.mFPGAMajor = _data.mFPGAMajor .value; + data.mFPGAMinor = _data.mFPGAMinor .value; + data.mFPGALab = _data.mFPGALab .value; + data.mCompatibilityRev = _data.mCompatibilityRev .value; + return data; +} Index: sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.h =================================================================== diff -u --- sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.h (revision 0) +++ sources/model/dd/adjustment/settings/MAdjustDDVersionsResponse.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,104 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustDDVersionsResponse.h + * \author (last) Behrouz NematiPour + * \date (last) 27-Jun-2022 + * \author (original) Behrouz NematiPour + * \date (original) 16-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustVersionsDDResponse class + * \details The DD versions data model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * | 0x0F00 | 0x101 | Rsp | Y | DD | All | DD Versions Data | + * + * | Payload || + * | || + * | #1:(U08) | \ref Data::mMajor | + * | #2:(U08) | \ref Data::mMinor | + * | #3:(U08) | \ref Data::mMicro | + * | #4:(U16) | \ref Data::mBuild | + * | #5:(U08) | \ref Data::mFPGAId | + * | #6:(U08) | \ref Data::mFPGAMajor | + * | #7:(U08) | \ref Data::mFPGAMinor | + * | #8:(U08) | \ref Data::mFPGALab | + * | #9:(U32) | \ref Data::mCompatibilty Rev | + * + * \sa Data + * \sa MAdjustVersionsDDResponse : DD Versions Response Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | DD | + * | infoText | Version | + * + */ +class MAdjustVersionsDDResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U08 mMajor ; + Types::U08 mMinor ; + Types::U08 mMicro ; + Types::U16 mBuild ; + Types::U08 mFPGAId ; + Types::U08 mFPGAMajor ; + Types::U08 mFPGAMinor ; + Types::U08 mFPGALab ; + Types::U32 mCompatibilityRev ; + } _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("VersionRsp") ; } + + struct Data { + quint8 mMajor = 0; /*!< DD Versions Major value of type quint8 extracted out */ + quint8 mMinor = 0; /*!< DD Versions Minor value of type quint8 extracted out */ + quint8 mMicro = 0; /*!< DD Versions Micro value of type quint8 extracted out */ + quint16 mBuild = 0; /*!< DD Versions Build value of type quint16 extracted out */ + quint8 mFPGAId = 0; /*!< DD Versions FPGA ID value of type quint8 extracted out */ + quint8 mFPGAMajor = 0; /*!< DD Versions FPGA Major value of type quint8 extracted out */ + quint8 mFPGAMinor = 0; /*!< DD Versions FPGA Minor value of type quint8 extracted out */ + quint8 mFPGALab = 0; /*!< DD Versions FPGA Lab value of type quint8 extracted out */ + quint32 mCompatibilityRev = 0; /*!< DD Compatibility Revision */ + }; + + MAdjustVersionsDDResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MAdjustVersionsDDResponse::Data AdjustVersionsDDResponseData; Index: sources/model/dd/data/MDDConductivityData.cpp =================================================================== diff -u --- sources/model/dd/data/MDDConductivityData.cpp (revision 0) +++ sources/model/dd/data/MDDConductivityData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,58 @@ +/*! + * + * Copyright (c) 2022-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 MDDConductivityData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 30-Mar-2023 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MDDConductivityData.h" + +using namespace Model; + +QVariantList MDDConductivityData::parameters() const { + return { + _data.mCD1 .value, + _data.mCD2 .value, + _data.mCD3 .value, + _data.mCD4 .value, + _data.mCD5 .value, + }; +} + +bool MDDConductivityData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mCD1 )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCD2 )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCD3 )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCD4 )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCD5 )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MDDConductivityData + * \details Provides model's Data from the received messages data values + * \return Data + */ +MDDConductivityData::Data MDDConductivityData::data() const { + Data data; + data.mCD1 = _data.mCD1 .value; + data.mCD2 = _data.mCD2 .value; + data.mCD3 = _data.mCD3 .value; + data.mCD4 = _data.mCD4 .value; + data.mCD5 = _data.mCD5 .value; + return data; +} Index: sources/model/dd/data/MDDConductivityData.h =================================================================== diff -u --- sources/model/dd/data/MDDConductivityData.h (revision 0) +++ sources/model/dd/data/MDDConductivityData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,91 @@ +/*! + * + * Copyright (c) 2022-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 MDDConductivityData.h + * \author (last) Behrouz NematiPour + * \date (last) 30-Mar-2023 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { +/*! + * \brief The MDDConductivityData class + * \details The DD conductivity sensors data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1F00| 0x101 | 1 Hz | N | DD | All | DD Conductivity Data | + * + * | Payload || + * | || + * | #01:(F32) | \ref Data::mCD1 | + * | #02:(F32) | \ref Data::mCD2 | + * | #03:(F32) | \ref Data::mCD3 | + * | #04:(F32) | \ref Data::mCD4 | + * | #05:(F32) | \ref Data::mCD5 | + * + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | DD | + * | infoText | Conductivity | + * + */ +class MDDConductivityData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mCD1 ; + Types::F32 mCD2 ; + Types::F32 mCD3 ; + Types::F32 mCD4 ; + Types::F32 mCD5 ; + + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("Conductivity"); } + + struct Data{ + float mCD1 = 0; ///< Bicarb only conductivity sensor 1 + float mCD2 = 0; ///< Acid and Bicarb mix conductivity sensor 1 + float mCD3 = 0; ///< Acid and Bicarb mix conductivity sensor 2 + float mCD4 = 0; ///< Spent dialysate conductivity sensor + float mCD5 = 0; ///< Bicarb only conductivity sensor 2 + }; + + MDDConductivityData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MDDConductivityData::Data DDConductivityData; Index: sources/model/dd/data/MDDGenDialysateData.cpp =================================================================== diff -u --- sources/model/dd/data/MDDGenDialysateData.cpp (revision 0) +++ sources/model/dd/data/MDDGenDialysateData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,69 @@ +/*! + * + * Copyright (c) 2022-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 MDDGenDialysateData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 30-Mar-2023 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + */ +#include "MDDGenDialysateData.h" + +using namespace Model; + +QVariantList MDDGenDialysateData::parameters() const { + return { + _data.mGenDialysateExec .value, + _data.mDDInProgress .value, + _data.mFltLevel1 .value, + _data.mBicarbLevel .value, + _data.mSpentLevel .value, + _data.mHydNegativePressure .value, + _data.mHydPositivePressure .value, + _data.mSpendPressure .value, + _data.mDialGood .value, + }; +} + +bool MDDGenDialysateData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mGenDialysateExec )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDDInProgress )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFltLevel1 )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mBicarbLevel )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSpentLevel )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHydNegativePressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHydPositivePressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSpendPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDialGood )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MDDGenDialysateData + * \details Provides model's Data from the received messages data values + * \return Data + */ +MDDGenDialysateData::Data MDDGenDialysateData::data() const { + Data data; + data.mGenDialysateExec = _data.mGenDialysateExec .value; + data.mDDInProgress = _data.mDDInProgress .value; + data.mFltLevel1 = _data.mFltLevel1 .value; + data.mBicarbLevel = _data.mBicarbLevel .value; + data.mSpentLevel = _data.mSpentLevel .value; + data.mHydNegativePressure = _data.mHydNegativePressure .value; + data.mHydPositivePressure = _data.mHydPositivePressure .value; + data.mSpendPressure = _data.mSpendPressure .value; + data.mDialGood = _data.mDialGood .value; + return data; +} Index: sources/model/dd/data/MDDGenDialysateData.h =================================================================== diff -u --- sources/model/dd/data/MDDGenDialysateData.h (revision 0) +++ sources/model/dd/data/MDDGenDialysateData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,103 @@ +/*! + * + * Copyright (c) 2022-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 MDDGenDialysateData.h + * \author (last) Behrouz NematiPour + * \date (last) 30-Mar-2023 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { +/*! + * \brief The MDDGenDialysateData class + * \details The DD Generate Dialysate Mode data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2F00| 0x101 | 1 Hz | N | DD | All | DD Generate Dialysate Mode Data | + * + * | Payload || + * | || + * | #01:(U32) | \ref Data::mGenDialysateExec | + * | #02:(U32) | \ref Data::mDDInProgress | + * | #03:(U32) | \ref Data::mFltLevel1 | + * | #04:(U32) | \ref Data::mBicarbLevel | + * | #05:(U32) | \ref Data::mSpentLevel | + * | #06:(F32) | \ref Data::mHydNegativePressure | + * | #07:(F32) | \ref Data::mHydPositivePressure | + * | #08:(F32) | \ref Data::mSpendPressure | + * | #09:(U32) | \ref Data::mDialGood | + * + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | DD | + * | infoText | Gen Dialysate| + * + */ +class MDDGenDialysateData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mGenDialysateExec ; + Types::U32 mDDInProgress ; + Types::U32 mFltLevel1 ; + Types::U32 mBicarbLevel ; + Types::U32 mSpentLevel ; + Types::F32 mHydNegativePressure ; + Types::F32 mHydPositivePressure ; + Types::F32 mSpendPressure ; + Types::U32 mDialGood ; + + } _data; + +public: + Type_Enum typeText () const override { return Type_Enum::eDatum ; } + Unit_Enum unitText () const override { return Unit_Enum::eDD ; } + QString infoText () const override { return QString("GenDial"); } + + struct Data{ + quint32 mGenDialysateExec = 0; ///< Generate dialysate execution state + quint32 mDDInProgress = 0; ///< Dialysate Delivery in Progress Bool + quint32 mFltLevel1 = 0; ///< Floater level (low, medium and high) + quint32 mBicarbLevel = 0; ///< BiCarb Chamber level + quint32 mSpentLevel = 0; ///< Spent dialysate chamber level + float mHydNegativePressure = 0; ///< Hydraulics chamber negative pressure + float mHydPositivePressure = 0; ///< Hydraulics chamber positive pressure + float mSpendPressure = 0; ///< Spent Dialysate positive pressure + quint32 mDialGood = 0; ///< Ready to deliver dialysate or not + }; + + MDDGenDialysateData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MDDGenDialysateData::Data DDGenDialysateData; Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/adjustment/settings/MAdjustDDSerialNumberResponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/adjustment/settings/MAdjustDDSerialNumberResponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/adjustment/settings/MAdjustDDVersionsResponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/adjustment/settings/MAdjustDDVersionsResponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/data/MDDConductivityData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/data/MDDConductivityData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/data/MDDGenDialysateData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/dg/data/MDDGenDialysateData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustTDSerialNumberResponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustTDSerialNumberResponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustTDVersionsRequest.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustTDVersionsRequest.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustTDVersionsResponse.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/adjustment/settings/MAdjustTDVersionsResponse.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDAirTrapData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDAirTrapData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDBatteryData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDBatteryData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDEjectorData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDEjectorData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDSwitchesData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDSwitchesData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDTemperatureData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDTemperatureData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDValvesData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDValvesData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDValvesDatacpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDVoltageData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/MTDVoltageData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentBloodFlowData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentBloodFlowData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentPressureOcclusionData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentPressureOcclusionData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentSalineData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentSalineData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentSetPointData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentSetPointData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentTimeData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentTimeData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentUltrafiltrationData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/model/hd/data/treatment/MTreatmentUltrafiltrationData.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.cpp =================================================================== diff -u --- sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.cpp (revision 0) +++ sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,60 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustTDSerialNumberResponse.cpp + * \author (last) Behrouz NematiPour + * \date (last) 19-Dec-2022 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#include "MAdjustTDSerialNumberResponse.h" + +using namespace Model; + +QVariantList MAdjustSerialNumberTDResponse::parameters() const { + return { + _data.mSerialNumber + }; +} + +/** + * \brief MAdjustSerialNumberTDResponse::isValid + * \details Checks if character meets TD serial constraints. (alphanumeric or '-') + * \param vChar - the character. + * \return bool - whether character is valid. + */ +bool MAdjustSerialNumberTDResponse::isValid(const QChar &vChar) +{ + return vChar.isLetterOrNumber() || vChar == '-'; +} + +/** + * \brief MAdjustSerialNumberTDResponse::fromByteArray + * \details Removes any invalid characters from TD serial string. + * \param vByteArray - TD serial string represented as a byte array. + * \return bool - whether serial contains any valid characters. + */ +bool MAdjustSerialNumberTDResponse::fromByteArray(const QByteArray &vByteArray, int *) { + QString serial; + for ( char c: vByteArray ) { + // stop if end of file found while iterating through serial + if ( !c ) break; + QChar ch(c); + if ( isValid(ch) ) { + serial += ch; + } + } + + // whitespace cannot be in serial and empty serial is invalid + _data.mSerialNumber = serial.trimmed(); + return ! _data.mSerialNumber.isEmpty(); +} + +MAdjustSerialNumberTDResponse::Data MAdjustSerialNumberTDResponse::data() const { + return _data; +} Index: sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.h =================================================================== diff -u --- sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.h (revision 0) +++ sources/model/td/adjustment/settings/MAdjustTDSerialNumberResponse.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,77 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustTDSerialNumberResponse.h + * \author (last) Behrouz NematiPour + * \date (last) 19-Dec-2022 + * \author (original) Behrouz NematiPour + * \date (original) 13-Jun-2021 + * + */ +#pragma once + +// Qt + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustSerialNumberTDResponse class + * \details The TD serial number response data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------:| + * |0x9900| 0x040 | Rsp | Y | TD | UI | TD Serial Number | + * + * | Payload || + * | || + * | #1:(bytes) | \ref Data::mSerialNumber + null term | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | TD | + * | infoText | Serial | + * + */ +class MAdjustSerialNumberTDResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + bool isValid(const QChar &vChar); + +public: + + Type_Enum typeText () const override { return Type_Enum::eEvent; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("Serial"); } + + struct Data { + QString mSerialNumber; + }; + + MAdjustSerialNumberTDResponse() {} + + bool fromByteArray (const QByteArray &vByteArray, int *vIndex = nullptr) override; + Data data ( ) const ; +private: + Data _data; +}; +} + +typedef Model::MAdjustSerialNumberTDResponse::Data AdjustSerialNumberTDResponseData; Index: sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.cpp =================================================================== diff -u --- sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.cpp (revision 0) +++ sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,31 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustTDVersionsRequest.cpp + * \author (last) Behrouz NematiPour + * \date (last) 30-Jul-2021 + * \author (original) Behrouz NematiPour + * \date (original) 30-Jul-2021 + * + */ +#include "MAdjustTDVersionsRequest.h" + +using namespace Model; + +QVariantList MAdjustVersionsTDRequest::parameters() const { + return {}; +} + +bool MAdjustVersionsTDRequest::fromByteArray(const QByteArray &, int *) { + // int index = 0; // message data start position + return true ; +} + +AdjustVersionsTDRequestData MAdjustVersionsTDRequest::data() const { + Data data; + return data; +} Index: sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.h =================================================================== diff -u --- sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.h (revision 0) +++ sources/model/td/adjustment/settings/MAdjustTDVersionsRequest.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,77 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustTDVersionsRequest.h + * \author (last) Behrouz NematiPour + * \date (last) 30-Jul-2021 + * \author (original) Behrouz NematiPour + * \date (original) 30-Jul-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustVersionsTDRequest class + * \details The TD versions data model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:------:|:------:|:----:|:---:|:---:|:----:|:-----------:| + * | 0x1500 | 0x040 | Req | Y | TD | UI | TD Versions Request Data | + * + * | Payload || + * | || + * + * \sa Data + * \sa MAdjustVersionsTDRequest : TD Versions Request Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | TD | + * | infoText | VersionReq | + * + */ +class MAdjustVersionsTDRequest : 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::eTD ; } + QString infoText () const override { return QString("VersionReq") ; } + + struct Data { + }; + + MAdjustVersionsTDRequest () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MAdjustVersionsTDRequest::Data AdjustVersionsTDRequestData; Index: sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.cpp =================================================================== diff -u --- sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.cpp (revision 0) +++ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,65 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustTDVersionsResponse.cpp + * \author (last) Michael Garthwaite + * \date (last) 28-Feb-2022 + * \author (original) Behrouz NematiPour + * \date (original) 16-Apr-2021 + * + */ +#include "MAdjustTDVersionsResponse.h" + +using namespace Model; + +QVariantList MAdjustVersionsTDResponse::parameters() const { + return { + _data.mMajor .value, + _data.mMinor .value, + _data.mMicro .value, + _data.mBuild .value, + _data.mFPGAId .value, + _data.mFPGAMajor .value, + _data.mFPGAMinor .value, + _data.mFPGALab .value, + _data.mCompatibilityRev .value, + }; +} + +bool MAdjustVersionsTDResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mMajor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mMinor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mMicro )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mBuild )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGAId )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGAMajor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGAMinor )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFPGALab )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCompatibilityRev )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +AdjustVersionsTDResponseData MAdjustVersionsTDResponse::data() const { + Data data; + data.mMajor = _data.mMajor .value; + data.mMinor = _data.mMinor .value; + data.mMicro = _data.mMicro .value; + data.mBuild = _data.mBuild .value; + data.mFPGAId = _data.mFPGAId .value; + data.mFPGAMajor = _data.mFPGAMajor .value; + data.mFPGAMinor = _data.mFPGAMinor .value; + data.mFPGALab = _data.mFPGALab .value; + data.mCompatibilityRev = _data.mCompatibilityRev .value; + return data; +} Index: sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.h =================================================================== diff -u --- sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.h (revision 0) +++ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,104 @@ +/*! + * + * Copyright (c) 2021-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 MAdjustTDVersionsResponse.h + * \author (last) Michael Garthwaite + * \date (last) 28-Feb-2022 + * \author (original) Behrouz NematiPour + * \date (original) 16-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustVersionsTDResponse class + * \details The TD versions data model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:------:|:------:|:----:|:---:|:---:|:----:|:---------------------:| + * | 0x0E00 | 0x100 | Rsp | Y | TD | All | TD Versions Data | + * + * | Payload || + * | || + * | #1:(U08) | \ref Data::mTDMajor | + * | #2:(U08) | \ref Data::mTDMinor | + * | #3:(U08) | \ref Data::mTDMicro | + * | #4:(U16) | \ref Data::mTDBuild | + * | #5:(U08) | \ref Data::mTDFPGAId | + * | #6:(U08) | \ref Data::mTDFPGAMajor | + * | #7:(U08) | \ref Data::mTDFPGAMinor | + * | #8:(U08) | \ref Data::mTDFPGALab | + * | #9:(U32) | \ref Data::mCompatibilityRev | + * + * \sa Data + * \sa MAdjustVersionsTDResponse : TD Versions Response Data + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | TD | + * | infoText | VersionRsp | + * + */ +class MAdjustVersionsTDResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U08 mMajor ; + Types::U08 mMinor ; + Types::U08 mMicro ; + Types::U16 mBuild ; + Types::U08 mFPGAId ; + Types::U08 mFPGAMajor ; + Types::U08 mFPGAMinor ; + Types::U08 mFPGALab ; + Types::U32 mCompatibilityRev ; + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eEvent ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("VersionRsp") ; } + + struct Data { + quint8 mMajor = 0; /*!< TD Versions Major value of type quint8 extracted out */ + quint8 mMinor = 0; /*!< TD Versions Minor value of type quint8 extracted out */ + quint8 mMicro = 0; /*!< TD Versions Micro value of type quint8 extracted out */ + quint16 mBuild = 0; /*!< TD Versions Build value of type quint16 extracted out */ + quint8 mFPGAId = 0; /*!< TD Versions FPGA ID value of type quint8 extracted out */ + quint8 mFPGAMajor = 0; /*!< TD Versions FPGA Major value of type quint8 extracted out */ + quint8 mFPGAMinor = 0; /*!< TD Versions FPGA Minor value of type quint8 extracted out */ + quint8 mFPGALab = 0; /*!< TD Versions FPGA Lab value of type quint8 extracted out */ + quint32 mCompatibilityRev = 0; /*!< TD Versions Compatibility Revision */ + }; + + MAdjustVersionsTDResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MAdjustVersionsTDResponse::Data AdjustVersionsTDResponseData; Index: sources/model/td/data/MTDAirTrapData.cpp =================================================================== diff -u --- sources/model/td/data/MTDAirTrapData.cpp (revision 0) +++ sources/model/td/data/MTDAirTrapData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,64 @@ +/*! + * + * 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.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MTDAirTrapData.h" + +using namespace Model; + +QVariantList MTDAirTrapData::parameters() const { + return { + _data.mLowLevel .value, + _data.mUpLevel .value, + _data.mLowLevelRaw .value, + _data.mUpLevelRaw .value, + _data.mValveStateH13.value, + _data.mValveStateH20.value, + _data.mControlling .value, + }; +} + +bool MTDAirTrapData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; + if ( ! GetValue(vByteArray, index, _data.mLowLevel )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mUpLevel )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mLowLevelRaw )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mUpLevelRaw )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mValveStateH13)) goto lError; + if ( ! GetValue(vByteArray, index, _data.mValveStateH20)) goto lError; + if ( ! GetValue(vByteArray, index, _data.mControlling )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTDAirTrapData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTDAirTrapData::Data MTDAirTrapData::data() const{ + Data data; + data.mLowLevel = _data.mLowLevel .value; + data.mUpLevel = _data.mUpLevel .value; + data.mLowLevelRaw = _data.mLowLevelRaw .value; + data.mUpLevelRaw = _data.mUpLevelRaw .value; + data.mValveStateH13 = _data.mValveStateH13 .value; + data.mValveStateH20 = _data.mValveStateH20 .value; + data.mControlling = _data.mControlling .value; + return data; +} Index: sources/model/td/data/MTDAirTrapData.h =================================================================== diff -u --- sources/model/td/data/MTDAirTrapData.h (revision 0) +++ sources/model/td/data/MTDAirTrapData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,97 @@ +/*! + * + * 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::mLowLevel | + * | #2:(U32) | \ref Data::mUpLevel | + * | #3:(U32) | \ref Data::mLowLevelRaw | + * | #4:(U32) | \ref Data::mUpLevelRaw | + * | #5:(U32) | \ref Data::mValveStateH13 | + * | #6:(U32) | \ref Data::mValveStateH20 | + * | #7:(U32) | \ref Data::mControlling | + * + * \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 mLowLevel ; + Types::U32 mUpLevel ; + Types::U32 mLowLevelRaw ; + Types::U32 mUpLevelRaw ; + Types::U32 mValveStateH13 ; + Types::U32 mValveStateH20 ; + Types::U32 mControlling ; + } _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 mLowLevel = 0; ///< lower level value + quint32 mUpLevel = 0; ///< upper level value + quint32 mLowLevelRaw = 0; ///< lower level raw value + quint32 mUpLevelRaw = 0; ///< upper level raw value + quint32 mValveStateH13 = 0; ///< air valve H13 state + quint32 mValveStateH20 = 0; ///< air valve H20 state + quint32 mControlling = 0; ///< air control + }; + + MTDAirTrapData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MTDAirTrapData::Data TDAirTrapData; Index: sources/model/td/data/MTDBatteryData.cpp =================================================================== diff -u --- sources/model/td/data/MTDBatteryData.cpp (revision 0) +++ sources/model/td/data/MTDBatteryData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,49 @@ +/*! + * + * 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 MTDBatteryData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MTDBatteryData.h" + +using namespace Model; + +QVariantList MTDBatteryData::parameters() const { + return { + _data.mCapacity .value, + _data.mACPower .value, + }; +} + +bool MTDBatteryData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; + if ( ! GetValue(vByteArray, index, _data.mCapacity )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mACPower )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTDBatteryData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTDBatteryData::Data MTDBatteryData::data() const{ + Data data; + data.mACPower = _data.mCapacity .value; + data.mCapacity = _data.mACPower .value; + return data; +} Index: sources/model/td/data/MTDBatteryData.h =================================================================== diff -u --- sources/model/td/data/MTDBatteryData.h (revision 0) +++ sources/model/td/data/MTDBatteryData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,83 @@ +/*! + * + * 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 MTDBatteryData.h + * \author (original) Tiffany Mejia + * \date (original) 20-May-2025 + * + */ +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * TODO: Subject to change upon FW implementation + * \brief The MTDBatteryData class + * \details The TD Battery data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x9400| 0x100 | 1 Hz | N | TD | All | TD Battery Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mCapacity | + * | #2:(U32) | \ref Data::mACPower | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Battery | + * + */ +class MTDBatteryData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mCapacity ; + Types::U32 mACPower ; + } _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("Battery") ; } + + + struct Data { + quint32 mCapacity = 0; ///< battery capacity + quint32 mACPower = 0; ///< a/c power status + }; + + MTDBatteryData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MTDBatteryData::Data TDBatteryData; Index: sources/model/td/data/MTDEjectorData.cpp =================================================================== diff -u --- sources/model/td/data/MTDEjectorData.cpp (revision 0) +++ sources/model/td/data/MTDEjectorData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,49 @@ +/*! + * + * 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 MTDEjectorData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MTDEjectorData.h" + +using namespace Model; + +QVariantList MTDEjectorData::parameters() const { + return { + _data.mState .value, + _data.mSetSpeed .value, + }; +} + +bool MTDEjectorData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; + if ( ! GetValue(vByteArray, index, _data.mState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSetSpeed )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTDEjectorData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTDEjectorData::Data MTDEjectorData::data() const{ + Data data; + data.mState = _data.mState .value; + data.mSetSpeed = _data.mSetSpeed .value; + return data; +} Index: sources/model/td/data/MTDEjectorData.h =================================================================== diff -u --- sources/model/td/data/MTDEjectorData.h (revision 0) +++ sources/model/td/data/MTDEjectorData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,82 @@ +/*! + * + * 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 MTDEjectorData.h + * \author (original) Tiffany Mejia + * \date (original) 20-May-2025 + * + */ +#pragma once + + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTDEjectorData class + * \details The TD Ejector data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4E00| 0x100 | 1 Hz | N | TD | All | TD Ejector Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mState | + * | #2:(F32) | \ref Data::mSetSpeed | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Ejector | + * + */ +class MTDEjectorData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mState ; + Types::F32 mSetSpeed ; + } _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("Ejector") ; } + + + struct Data { + quint32 mState = 0; ///< Ejector State + float mSetSpeed = 0; ///< Ejector set speed + }; + + MTDEjectorData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MTDEjectorData::Data TDEjectorData; Index: sources/model/td/data/MTDSwitchesData.cpp =================================================================== diff -u --- sources/model/td/data/MTDSwitchesData.cpp (revision 0) +++ sources/model/td/data/MTDSwitchesData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,46 @@ +/*! + * + * 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 MTDSwitchesData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MTDSwitchesData.h" + +using namespace Model; + +QVariantList MTDSwitchesData::parameters() const { + return { + _data.mDoor .value, + }; +} + +bool MTDSwitchesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; + if ( ! GetValue(vByteArray, index, _data.mDoor )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTDSwitchesData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTDSwitchesData::Data MTDSwitchesData::data() const{ + Data data; + data.mDoor = _data.mDoor .value; + return data; +} Index: sources/model/td/data/MTDSwitchesData.h =================================================================== diff -u --- sources/model/td/data/MTDSwitchesData.h (revision 0) +++ sources/model/td/data/MTDSwitchesData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,79 @@ +/*! + * + * 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 MTDSwitchesData.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 MTDSwitchesData class + * \details The TD Switches data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2100| 0x100 | 1 Hz | N | TD | All | TD Switches Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mDoor | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Switches | + * + */ +class MTDSwitchesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mDoor ; + } _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("Switches") ; } + + + struct Data { + quint32 mDoor = 0; ///< Door status + }; + + MTDSwitchesData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MTDSwitchesData::Data TDSwitchesData; Index: sources/model/td/data/MTDTemperatureData.cpp =================================================================== diff -u --- sources/model/td/data/MTDTemperatureData.cpp (revision 0) +++ sources/model/td/data/MTDTemperatureData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,46 @@ +/*! + * + * 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 MTDTemperatureData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MTDTemperatureData.h" + +using namespace Model; + +QVariantList MTDTemperatureData::parameters() const { + return { + _data.mBoardTemp .value, + }; +} + +bool MTDTemperatureData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; + if ( ! GetValue(vByteArray, index, _data.mBoardTemp )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTDTemperatureData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTDTemperatureData::Data MTDTemperatureData::data() const{ + Data data; + data.mBoardTemp = _data.mBoardTemp .value; + return data; +} Index: sources/model/td/data/MTDTemperatureData.h =================================================================== diff -u --- sources/model/td/data/MTDTemperatureData.h (revision 0) +++ sources/model/td/data/MTDTemperatureData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,80 @@ +/*! + * + * 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 MTDTemperatureData.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 { + +/*! + * TODO: Subject to change upon FW implementation + * \brief The MTDTemperatureData class + * \details The TD Temparature data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x9100| 0x100 | 1 Hz | N | TD | All | TD Temperature Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mBoardTemp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Temperature | + * + */ +class MTDTemperatureData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mBoardTemp ; + } _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("Temperature") ; } + + + struct Data { + float mBoardTemp = 0; ///< TD Board Temperature + }; + + MTDTemperatureData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MTDTemperatureData::Data TDTemperatureData; Index: sources/model/td/data/MTDValvesData.cpp =================================================================== diff -u --- sources/model/td/data/MTDValvesData.cpp (revision 0) +++ sources/model/td/data/MTDValvesData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,58 @@ +/*! + * + * 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 MTDValvesData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MTDValvesData.h" + +using namespace Model; + +QVariantList MTDValvesData::parameters() const { + return { + _data.mValveId .value, + _data.mState .value, + _data.mPosName .value, + _data.mPosCount .value, + _data.mNextPos .value, + }; +} + +bool MTDValvesData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; + if ( ! GetValue(vByteArray, index, _data.mValveId )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mPosName )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mPosCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mNextPos )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTDValvesData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTDValvesData::Data MTDValvesData::data() const{ + Data data; + data.mValveId = _data.mValveId .value; + data.mState = _data.mState .value; + data.mPosName = _data.mPosName .value; + data.mPosCount = _data.mPosCount .value; + data.mNextPos = _data.mNextPos .value; + return data; +} Index: sources/model/td/data/MTDValvesData.h =================================================================== diff -u --- sources/model/td/data/MTDValvesData.h (revision 0) +++ sources/model/td/data/MTDValvesData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,91 @@ +/*! + * + * 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 MTDValvesData.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 MTDValvesData class + * \details The TD Valves data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2B00| 0x100 | 1 Hz | N | TD | All | TD Valves Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mValveId | + * | #2:(U32) | \ref Data::mState | + * | #3:(U32) | \ref Data::mPosName | + * | #4:(S16) | \ref Data::mPosCount | + * | #5:(S16) | \ref Data::mNextPos | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Valves | + * + */ +class MTDValvesData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mValveId ; + Types::U32 mState ; + Types::U32 mPosName ; + Types::S16 mPosCount ; + Types::S16 mNextPos ; + } _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("Valves") ; } + + + struct Data { + quint32 mValveId = 0; ///< Valve ID + quint32 mState = 0; ///< Valve State + quint32 mPosName = 0; ///< Position Name + qint16 mPosCount = 0; ///< Position Count + qint16 mNextPos = 0; ///< Next Position + }; + + MTDValvesData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MTDValvesData::Data TDValvesData; Index: sources/model/td/data/MTDVoltageData.cpp =================================================================== diff -u --- sources/model/td/data/MTDVoltageData.cpp (revision 0) +++ sources/model/td/data/MTDVoltageData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,76 @@ +/*! + * + * 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 MTDVoltageData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "MTDVoltageData.h" + +using namespace Model; + +QVariantList MTDVoltageData::parameters() const { + return { + _data.m1_2V.value, + _data.m3_3V.value, + _data.mLogic5V.value, + _data.mSensors5V.value, + _data.m24V.value, + _data.mRegen24V.value, + _data.mFpgaAdcRef.value, + _data.mPresRef.value, + _data.mFpgaVcc.value, + _data.mFpgaVaux.value, + _data.mFpgaVpvn.value, + }; +} + +bool MTDVoltageData::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; + if ( ! GetValue(vByteArray, index, _data.m1_2V )) goto lError; + if ( ! GetValue(vByteArray, index, _data.m3_3V )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mLogic5V )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSensors5V )) goto lError; + if ( ! GetValue(vByteArray, index, _data.m24V )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRegen24V )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFpgaAdcRef )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mPresRef )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFpgaVcc )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFpgaVaux )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFpgaVpvn )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTDVoltageData::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTDVoltageData::Data MTDVoltageData::data() const{ + Data data; + data.m1_2V = _data.m1_2V.value; + data.m3_3V = _data.m3_3V.value; + data.mLogic5V = _data.mLogic5V.value; + data.mSensors5V = _data.mSensors5V.value; + data.m24V = _data.m24V.value; + data.mRegen24V = _data.mRegen24V.value; + data.mFpgaAdcRef = _data.mFpgaAdcRef.value; + data.mPresRef = _data.mPresRef.value; + data.mFpgaVcc = _data.mFpgaVcc.value; + data.mFpgaVaux = _data.mFpgaVaux.value; + data.mFpgaVpvn = _data.mFpgaVpvn.value; + return data; +} Index: sources/model/td/data/MTDVoltageData.h =================================================================== diff -u --- sources/model/td/data/MTDVoltageData.h (revision 0) +++ sources/model/td/data/MTDVoltageData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,109 @@ +/*! + * + * 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 MTDVoltageData.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 MTDVoltageData class + * \details The TD Voltage data model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1D00| 0x100 | 1 Hz | N | TD | All | TD Voltage Data | + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::m1_2V | + * | #2:(F32) | \ref Data::m3_3V | + * | #3:(F32) | \ref Data::mLogic5V | + * | #4:(F32) | \ref Data::mSensors5V | + * | #5:(F32) | \ref Data::m24V | + * | #6:(F32) | \ref Data::mRegen24V | + * | #7:(F32) | \ref Data::mFpgaAdcRef | + * | #8:(F32) | \ref Data::mPresRef | + * | #9:(F32) | \ref Data::mFpgaVcc | + * | #10:(F32)| \ref Data::mFpgaVaux | + * | #11:(F32)| \ref Data::mFpgaVpvn | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Voltage | + * + */ +class MTDVoltageData : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 m1_2V; + Types::F32 m3_3V; + Types::F32 mLogic5V; + Types::F32 mSensors5V; + Types::F32 m24V; + Types::F32 mRegen24V; + Types::F32 mFpgaAdcRef; + Types::F32 mPresRef; + Types::F32 mFpgaVcc; + Types::F32 mFpgaVaux; + Types::F32 mFpgaVpvn; + } _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("Voltage") ; } + + + struct Data { + float m1_2V = 0; ///< 1.2V line + float m3_3V = 0; ///< 3.3V line + float mLogic5V = 0; ///< Logic voltage (5V) + float mSensors5V = 0; ///< Sensors voltage (5V) + float m24V = 0; ///< Actuators voltage (24V) + float mRegen24V = 0; ///< Actuators regen voltage (24V) + float mFpgaAdcRef = 0; ///< FPGA ADC reference voltage (1V) + float mPresRef = 0; ///< PBA ADC reference voltage (3V) + float mFpgaVcc = 0; ///< FPGA Vcc (3V) + float mFpgaVaux = 0; ///< FPGA Vaux (3V) + float mFpgaVpvn = 0; ///< FPGA Vpvn (1V) + }; + + MTDVoltageData () { } + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; + +}; +} + +typedef Model::MTDVoltageData::Data TDVoltageData; Index: sources/model/td/data/treatment/MTreatmentBloodFlowData.cpp =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentBloodFlowData.cpp (revision 0) +++ sources/model/td/data/treatment/MTreatmentBloodFlowData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,71 @@ +/*! + * + * Copyright (c) 2022-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 MTreatmentBloodFlowData.cpp + * \author (last) Dara Navaei + * \date (last) 10-May-2024 + * \author (original) Michael Garthwaite + * \date (original) 09-Feb-2022 + * + */ +#include "MTreatmentBloodFlowData.h" + +using namespace Model; + +QVariantList MBloodFlow::parameters() const { + return { + _data.mFlowSetPoint .value, + _data.mMeasuredFlow .value, + _data.mRotorSpeed .value, + _data.mMotorSpeed .value, + _data.mMotorCtlCurrent .value, + _data.mRPM .value, + _data.mRotorCount .value, + _data.mPresFlow .value, + _data.mRotorHall .value, + }; +} + +bool MBloodFlow::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mFlowSetPoint )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mMeasuredFlow )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRotorSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mMotorSpeed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mMotorCtlCurrent )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRPM )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRotorCount )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mPresFlow )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRotorHall )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MBloodFlow::data + * \details Provides model's Data from the received messages data values of + BloodFlow. + * \return Data + */ +MBloodFlow::Data MBloodFlow::data() const { + Data data; + data.mFlowSetPoint = _data.mFlowSetPoint .value; + data.mMeasuredFlow = _data.mMeasuredFlow .value; + data.mRotorSpeed = _data.mRotorSpeed .value; + data.mMotorSpeed = _data.mMotorSpeed .value; + data.mMotorCtlCurrent = _data.mMotorCtlCurrent .value; + data.mRPM = _data.mRPM .value; + data.mRotorCount = _data.mRotorCount .value; + data.mPresFlow = _data.mPresFlow .value; + data.mRotorHall = _data.mRotorHall .value; + return data; +} Index: sources/model/td/data/treatment/MTreatmentBloodFlowData.h =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentBloodFlowData.h (revision 0) +++ sources/model/td/data/treatment/MTreatmentBloodFlowData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,100 @@ +/*! + * + * Copyright (c) 2022-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 MTreatmentBloodFlowData.h + * \author (last) Dara Navaei + * \date (last) 08-May-2024 + * \author (original) Michael Garthwaite + * \date (original) 09-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { +/*! + * \brief The MBloodFlow class + * \details The blood flow data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x1100| 0x100 | 7 | 1 Hz | N | TD | All | Blood Flow Data | + * + * | Payload || + * | || + * | #1 :(S32) | \ref Data::mFlowSetPoint | + * | #2 :(F32) | \ref Data::mMeasuredFlow | + * | #3 :(F32) | \ref Data::mRotorSpeed | + * | #4 :(F32) | \ref Data::mMotorSpeed | + * | #5 :(F32) | \ref Data::mMotorCtlCurrent | + * | #6 :(F32) | \ref Data::mRPM | + * | #7 :(U32) | \ref Data::mRotorCount | + * | #8 :(U32) | \ref Data::mPresFlow | + * | #9 :(U32) | \ref Data::mRotorHall | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | BloodFlow | + * + */ +class MBloodFlow : public MAbstract { + + // friends + friend class ::tst_models; + + struct { + Types::S32 mFlowSetPoint ; ///< Flow Set Point + Types::F32 mMeasuredFlow ; ///< Measured Flow + Types::F32 mRotorSpeed ; ///< Rotor Speed + Types::F32 mMotorSpeed ; ///< Motor Speed + Types::F32 mMotorCtlCurrent ; ///< Motor Controller Current + Types::F32 mRPM ; ///< RPM + Types::U32 mRotorCount ; ///< Rotor Count + Types::U32 mPresFlow ; ///< Prescribed flow rate + Types::U32 mRotorHall ; ///< Rotor Hall Sensor Value + } _data; + + QVariantList parameters() const override; +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("BloodFlow"); } + + struct Data { + qint32 mFlowSetPoint = 0; ///< Flow Set Point + float mMeasuredFlow = 0; ///< Measured Flow + float mRotorSpeed = 0; ///< Rotor Speed + float mMotorSpeed = 0; ///< Motor Speed + float mMotorCtlCurrent = 0; ///< Motor Controller Current + float mRPM = 0; ///< RPM + quint32 mRotorCount = 0; ///< Rotor Count + quint32 mPresFlow = 0; ///< Prescribed flow rate + quint32 mRotorHall = 0; ///< Rotor Hall Sensor Value + }; + + MBloodFlow() { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data() const; +}; +} + +typedef Model:: MBloodFlow::Data BloodFlowData; Index: sources/model/td/data/treatment/MTreatmentPressureOcclusionData.cpp =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentPressureOcclusionData.cpp (revision 0) +++ sources/model/td/data/treatment/MTreatmentPressureOcclusionData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,79 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentPressureOcclusionData.cpp + * \author (last) Dara Navaei + * \date (last) 03-May-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "MTreatmentPressureOcclusionData.h" + +using namespace Model; + +QVariantList MPressureOcclusion::parameters() const { + return { + _data.mArterialPressure .value, + _data.mVenousPressure .value, + _data.mLimitState .value, + _data.mArterialMin .value, + _data.mArterialMax .value, + _data.mVenousMin .value, + _data.mVenousMax .value, + _data.mArterialLongFilter .value, + _data.mVenousLongFilter .value, + _data.mTmpPressure .value, + _data.mTmpMin .value, + _data.mTmpMax .value, + }; +} + +bool MPressureOcclusion::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mArterialPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVenousPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mLimitState )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mArterialMin )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mArterialMax )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVenousMin )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVenousMax )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mArterialLongFilter )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVenousLongFilter )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mTmpPressure )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mTmpMin )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mTmpMax )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MPressureOcclusion::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MPressureOcclusion::Data MPressureOcclusion::data() const { + Data data; + data.mArterialPressure = _data.mArterialPressure .value; + data.mVenousPressure = _data.mVenousPressure .value; + data.mLimitState = _data.mLimitState .value; + data.mArterialMin = _data.mArterialMin .value; + data.mArterialMax = _data.mArterialMax .value; + data.mVenousMin = _data.mVenousMin .value; + data.mVenousMax = _data.mVenousMax .value; + data.mArterialLongFilter = _data.mArterialLongFilter .value; + data.mVenousLongFilter = _data.mVenousLongFilter .value; + data.mTmpPressure = _data.mTmpPressure .value; + data.mTmpMin = _data.mTmpMin .value; + data.mTmpMax = _data.mTmpMax .value; + return data; +} Index: sources/model/td/data/treatment/MTreatmentPressureOcclusionData.h =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentPressureOcclusionData.h (revision 0) +++ sources/model/td/data/treatment/MTreatmentPressureOcclusionData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,112 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentPressureOcclusionData.h + * \author (last) Dara Navaei + * \date (last) 03-May-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MPressureOcclusion class + * \details The pressureocclusion data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x2400| 0x100 | 7 | 1 Hz | N | TD | All | PressureOcclusion Data | + * + * | Payload || + * | || + * | #1: (F32) | \ref Data::mArterialPressure | + * | #2: (F32) | \ref Data::mVenousPressure | + * | #3: (U32) | \ref Data::mLimitState | + * | #4: (S32) | \ref Data::mArterialMin | + * | #5: (S32) | \ref Data::mArterialMax | + * | #6: (S32) | \ref Data::mVenousMin | + * | #7: (S32) | \ref Data::mVenousMax | + * | #8: (F32) | \ref Data::mArterialLongFilter | + * | #9: (F32) | \ref Data::mVenousLongFilter | + * | #10:(F32) | \ref Data::mTmpPressure | + * | #11:(F32) | \ref Data::mTmpMin | + * | #12:(F32) | \ref Data::mTmpMax | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Occlusion | + * + */ +class MPressureOcclusion : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mArterialPressure ; ///< Latest arterial pressure (mmHg) + Types::F32 mVenousPressure ; ///< Latest venous pressure (mmHg) + Types::U32 mLimitState ; ///< Latest BP occlusion (no units) + Types::S32 mArterialMin ; ///< Current pressure limits state (enum-stabilization or stable) + Types::S32 mArterialMax ; ///< Current arterial minimum pressure limit (mmHg) + Types::S32 mVenousMin ; ///< Current arterial maximum pressure limit (mmHg) + Types::S32 mVenousMax ; ///< Current venous minimum pressure limit (mmHg) + Types::F32 mArterialLongFilter ; ///< Current venous maximum pressure limit (mmHg) + Types::F32 mVenousLongFilter ; ///< Arterial long filter (mmHg) + Types::F32 mTmpPressure ; ///< Venous long filter (mmHg) + Types::F32 mTmpMin ; ///< Blood pump occlusion long filter + Types::F32 mTmpMax ; ///< Partial Occlusion base line + } _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("Occlusion"); } + + struct Data { + float mArterialPressure = 0; + float mVenousPressure = 0; + quint32 mLimitState = 0; + qint32 mArterialMin = 0; + qint32 mArterialMax = 0; + qint32 mVenousMin = 0; + qint32 mVenousMax = 0; + float mArterialLongFilter = 0; + float mVenousLongFilter = 0; + float mTmpPressure = 0; + float mTmpMin = 0; + float mTmpMax = 0; + }; + + MPressureOcclusion () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MPressureOcclusion::Data PressureOcclusionData; Index: sources/model/td/data/treatment/MTreatmentSalineData.cpp =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentSalineData.cpp (revision 0) +++ sources/model/td/data/treatment/MTreatmentSalineData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,55 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentSalineData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 11-Apr-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "MTreatmentSalineData.h" + +using namespace Model; + +QVariantList MTreatmentSaline::parameters() const { + return { + _data.mTarget .value, + _data.mCumulative .value, + _data.mDelivered .value, + _data.mState .value, + }; +} + +bool MTreatmentSaline::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mTarget )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCumulative )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDelivered )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mState )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTreatmentSaline::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTreatmentSaline::Data MTreatmentSaline::data() const { + Data data; + data.mTarget = _data.mTarget .value; + data.mCumulative = _data.mCumulative .value; + data.mDelivered = _data.mDelivered .value; + data.mState = _data.mState .value; + return data; +} Index: sources/model/td/data/treatment/MTreatmentSalineData.h =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentSalineData.h (revision 0) +++ sources/model/td/data/treatment/MTreatmentSalineData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,91 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentSalineData.h + * \author (last) Behrouz NematiPour + * \date (last) 09-Mar-2022 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTreatmentSaline class + * \details The treatment saline bolus data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3D00| 0x100 | 7 | 1 Hz | N | TD | All | Treatment Saline Bolus Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mTarget | + * | #2:(F32) | \ref Data::mCumulative | + * | #3:(F32) | \ref Data::mDelivered | + * | #4:(U32) | \ref Data::mState | + * + * \sa Data + * \sa MAdjustSalineReq : Saline Bolus Request + * \sa MAdjustSalineResponse : Saline Bolus Response + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Saline | + * + */ +class MTreatmentSaline : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mTarget ; + Types::F32 mCumulative ; + Types::F32 mDelivered ; + Types::U32 mState ; + } _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("Saline") ; } + + struct Data { + quint32 mTarget = 0; ///< Target volume for the current started saline bolus + float mCumulative = 0; ///< Cumulative volume of all saline deliveries during current treatment + float mDelivered = 0; ///< Current delivered saline volume + quint32 mState = 0; ///< Saline Bolus state + }; + +public: + MTreatmentSaline () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MTreatmentSaline::Data TreatmentSalineData; Index: sources/model/td/data/treatment/MTreatmentSetPointData.cpp =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentSetPointData.cpp (revision 0) +++ sources/model/td/data/treatment/MTreatmentSetPointData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,52 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentSetPointData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 11-Apr-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "MTreatmentSetPointData.h" + +using namespace Model; + +QVariantList MTreatmentSetPoint::parameters() const { + return { + _data.mBloodFlow .value, + _data.mDialysateFlow .value, + _data.mDialysateTemp .value, + }; +} + +bool MTreatmentSetPoint::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mBloodFlow )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDialysateFlow )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDialysateTemp )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTreatmentSetPoint::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTreatmentSetPoint::Data MTreatmentSetPoint::data() const { + Data data; + data.mBloodFlow = _data.mBloodFlow .value; + data.mDialysateFlow = _data.mDialysateFlow .value; + data.mDialysateTemp = _data.mDialysateTemp .value; + return data; +} Index: sources/model/td/data/treatment/MTreatmentSetPointData.h =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentSetPointData.h (revision 0) +++ sources/model/td/data/treatment/MTreatmentSetPointData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,86 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentSetPointData.h + * \author (last) Behrouz NematiPour + * \date (last) 09-Mar-2022 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTreatmentSetPoint class + * \details The treatment Set Points data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x4F00| 0x100 | 7 | 1 Hz | N | TD | All | Treatment Set Point Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mBloodFlow | + * | #2:(U32) | \ref Data::mDialysateFlow | + * | #3:(F32) | \ref Data::mDialysateTemp | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Tx Set Points | + * + */ +class MTreatmentSetPoint : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mBloodFlow ; + Types::U32 mDialysateFlow ; + Types::F32 mDialysateTemp ; + } _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("SetPointData") ; } + + struct Data { + quint32 mBloodFlow = 0; ///< Blood Flow set point + quint32 mDialysateFlow = 0; ///< Dilaysate Flow set point + float mDialysateTemp = 0; ///< Dialysate set point + }; + +public: + MTreatmentSetPoint () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MTreatmentSetPoint::Data TreatmentSetPointData; Index: sources/model/td/data/treatment/MTreatmentTimeData.cpp =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentTimeData.cpp (revision 0) +++ sources/model/td/data/treatment/MTreatmentTimeData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,52 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentTimeData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 11-Apr-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "MTreatmentTimeData.h" + +using namespace Model; + +QVariantList MTreatmentTime::parameters() const { + return { + _data.mTotal .value, + _data.mElapsed .value, + _data.mRemaining.value, + }; +} + +bool MTreatmentTime::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mTotal )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mElapsed )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRemaining )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTreatmentTime::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTreatmentTime::Data MTreatmentTime::data() const { + Data data; + data.mTotal = _data.mTotal .value; + data.mElapsed = _data.mElapsed .value; + data.mRemaining = _data.mRemaining.value; + return data; +} Index: sources/model/td/data/treatment/MTreatmentTimeData.h =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentTimeData.h (revision 0) +++ sources/model/td/data/treatment/MTreatmentTimeData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,86 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentTimeData.h + * \author (last) Behrouz NematiPour + * \date (last) 11-Apr-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTreatmentTime class + * \details The treatment time data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3B00| 0x100 | 7 | 1 Hz | N | TD | All | Treatment Time Data | + * + * | Payload || + * | || + * | #1:(U32) | \ref Data::mTotal | + * | #2:(U32) | \ref Data::mElapsed | + * | #3:(U32) | \ref Data::mRemaining | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | TreatmentTime | + * + */ +class MTreatmentTime : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mTotal ; + Types::U32 mElapsed ; + Types::U32 mRemaining ; + } _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("TreatmentTime"); } + + struct Data { + quint32 mTotal = 0; ///< Total treatment time in sec */ + quint32 mElapsed = 0; ///< Elapsed treatment time in sec */ + quint32 mRemaining = 0; ///< Remaining treatment time in sec */ + }; + +public: + MTreatmentTime () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MTreatmentTime::Data TreatmentTimeData; Index: sources/model/td/data/treatment/MTreatmentUltrafiltrationData.cpp =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentUltrafiltrationData.cpp (revision 0) +++ sources/model/td/data/treatment/MTreatmentUltrafiltrationData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,55 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentUltrafiltrationData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 11-Apr-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "MTreatmentUltrafiltrationData.h" + +using namespace Model; + +QVariantList MTreatmentUltrafiltration::parameters() const { + return { + _data.mSetVolume .value, + _data.mTargetRate .value, + _data.mVolumeRemoved .value, + _data.mState .value, + }; +} + +bool MTreatmentUltrafiltration::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mSetVolume )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mTargetRate )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVolumeRemoved )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mState )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MTreatmentUltrafiltration::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +MTreatmentUltrafiltration::Data MTreatmentUltrafiltration::data() const { + Data data; + data.mSetVolume = _data.mSetVolume .value; + data.mTargetRate = _data.mTargetRate .value; + data.mVolumeRemoved = _data.mVolumeRemoved .value; + data.mState = _data.mState .value; + return data; +} Index: sources/model/td/data/treatment/MTreatmentUltrafiltrationData.h =================================================================== diff -u --- sources/model/td/data/treatment/MTreatmentUltrafiltrationData.h (revision 0) +++ sources/model/td/data/treatment/MTreatmentUltrafiltrationData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,89 @@ +/*! + * + * Copyright (c) 2021-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 MTreatmentUltrafiltrationData.h + * \author (last) Behrouz NematiPour + * \date (last) 09-Mar-2022 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MTreatmentUltrafiltration class + * \details The treatment Ultrafiltration data model + * + * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | + * |0x3E00| 0x100 | 7 | 1 Hz | N | TD | All | Treatment Ultrafiltration Data| + * + * | Payload || + * | || + * | #1:(F32) | \ref Data::mSetVolume | + * | #2:(F32) | \ref Data::mTargetRate | + * | #3:(F32) | \ref Data::mVolumeRemoved | + * | #4:(U32) | \ref Data::mState | + * + * \sa Data + * + *

Logging info

+ * | || + * | || + * | typeText | Datum | + * | unitText | TD | + * | infoText | Ultrafiltration | + * + */ +class MTreatmentUltrafiltration : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::F32 mSetVolume ; + Types::F32 mTargetRate ; + Types::F32 mVolumeRemoved ; + Types::U32 mState ; + } _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("Ultrafiltration") ; } + + struct Data { + float mSetVolume = 0; ///< Ultrafiltration set volume + float mTargetRate = 0; ///< Current Ultrafiltration target rate + float mVolumeRemoved = 0; ///< Current volume removed during ultrafiltration + quint32 mState = 0; ///< Ultrafiltration rate + }; + +public: + MTreatmentUltrafiltration () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MTreatmentUltrafiltration::Data TreatmentUltrafiltrationData; Index: sources/view/dd/data/VDDConductivityData.h =================================================================== diff -u --- sources/view/dd/data/VDDConductivityData.h (revision 0) +++ sources/view/dd/data/VDDConductivityData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,47 @@ +/*! + * + * Copyright (c) 2020-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 VDDConductivityData.h + * \author (last) Behrouz NematiPour + * \date (last) 27-Mar-2023 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MDDConductivityData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDConductivityclass + * \details View for Model's Data representation. + * + * \sa Model::MDDConductivityData + * + */ +class VDDConductivity : public QObject +{ + Q_OBJECT + + PROPERTY( float , CD1 , 0) + PROPERTY( float , CD2 , 0) + PROPERTY( float , CD3 , 0) + PROPERTY( float , CD4 , 0) + PROPERTY( float , CD5 , 0) + + VIEW_DEC(VDDConductivity, DDConductivityData) +}; +} Index: sources/view/dd/data/VDDGenDialysateData.h =================================================================== diff -u --- sources/view/dd/data/VDDGenDialysateData.h (revision 0) +++ sources/view/dd/data/VDDGenDialysateData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,51 @@ +/*! + * + * Copyright (c) 2020-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 VDDGenDialysateData.h + * \author (last) Behrouz NematiPour + * \date (last) 27-Mar-2023 + * \author (original) Behrouz NemaiPour + * \date (original) 02-Jul-2020 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MDDGenDialysateData.h" + +// namespace +namespace View { + +/*! + * \brief The VDDGenDialysate class + * \details View for Model's Data representation. + * + * \sa Model::MDDGenDialysateData + */ +class VDDGenDialysate : public QObject +{ + Q_OBJECT + + PROPERTY( quint32 , genDialysateExec , 0) + PROPERTY( quint32 , ddInProgress , 0) + PROPERTY( quint32 , fltLevel1 , 0) + PROPERTY( quint32 , fltLevel2 , 0) + PROPERTY( quint32 , bicarbLevel , 0) + PROPERTY( quint32 , spentLevel , 0) + PROPERTY( float , hydNegativePressure , 0) + PROPERTY( float , hydPositivePressure , 0) + PROPERTY( float , spendPressure , 0) + PROPERTY( quint32 , dialGood , 0) + + VIEW_DEC(VDDGenDialysate, DDGenDialysateData) +}; +} Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/dg/data/VDDConductivityData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/dg/data/VDDGenDialysateData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDAirTrapData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDAirTrapData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDBatteryData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDBatteryData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDEjectorData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDEjectorData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDSwitchesData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDSwitchesData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDTemperatureData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDTemperatureData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDValvesData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDValvesData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDVoltageData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/VTDVoltageData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentBloodFlow.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentBloodFlow.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentPressureOcclusion.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentPressureOcclusion.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentSalineData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentSalineData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentSetPointData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentSetPointData.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentTime.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentTime.h'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentUltrafiltrationData.cpp'. Fisheye: No comparison available. Pass `N' to diff? Fisheye: Tag f9abb75101e8cbe4c3a388361cfd3bbf592605f8 refers to a dead (removed) revision in file `sources/view/hd/data/treatment/VTreatmentUltrafiltrationData.h'. Fisheye: No comparison available. Pass `N' to diff? Index: sources/view/td/data/VTDAirTrapData.cpp =================================================================== diff -u --- sources/view/td/data/VTDAirTrapData.cpp (revision 0) +++ sources/view/td/data/VTDAirTrapData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,30 @@ +/*! + * + * Copyright (c) 2022-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 VTDAirTrapData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "VTDAirTrapData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDAirTrap, TDAirTrapData) + +void VTDAirTrap::onActionReceive(const TDAirTrapData &vData) { + lowLevel (vData.mLowLevel ); + upLevel (vData.mUpLevel ); + lowLevelRaw (vData.mLowLevelRaw ); + upLevelRaw (vData.mUpLevelRaw ); + valveStateH13 (vData.mValveStateH13 ); + valveStateH20 (vData.mValveStateH20 ); + controlling (vData.mControlling ); +} Index: sources/view/td/data/VTDAirTrapData.h =================================================================== diff -u --- sources/view/td/data/VTDAirTrapData.h (revision 0) +++ sources/view/td/data/VTDAirTrapData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,48 @@ +/*! + * + * Copyright (c) 2022-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 VTDAirTrapData.h + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTDAirTrapData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDAirTrapData class + * \details View for Model's Data representation. + * + * \sa Model::MTDAirTrapData + * + */ +class VTDAirTrap : public QObject { + Q_OBJECT + + PROPERTY( quint32 , lowLevel , 0) + PROPERTY( quint32 , upLevel , 0) + PROPERTY( quint32 , lowLevelRaw , 0) + PROPERTY( quint32 , upLevelRaw , 0) + PROPERTY( quint32 , valveStateH20 , 0) + PROPERTY( quint32 , valveStateH13 , 0) + PROPERTY( quint32 , controlling , 0) + + VIEW_DEC(VTDAirTrap, TDAirTrapData) +}; +} Index: sources/view/td/data/VTDBatteryData.cpp =================================================================== diff -u --- sources/view/td/data/VTDBatteryData.cpp (revision 0) +++ sources/view/td/data/VTDBatteryData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,25 @@ +/*! + * + * Copyright (c) 2022-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 VTDBatteryData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "VTDBatteryData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDBattery, TDBatteryData) + +void VTDBattery::onActionReceive(const TDBatteryData &vData) { + aCPower (vData.mACPower ); + capacity (vData.mCapacity ); +} Index: sources/view/td/data/VTDBatteryData.h =================================================================== diff -u --- sources/view/td/data/VTDBatteryData.h (revision 0) +++ sources/view/td/data/VTDBatteryData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2022-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 VTDBatteryData.h + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTDBatteryData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDBatteryData class + * \details View for Model's Data representation. + * + * \sa Model::MTDBatteryData + * + */ +class VTDBattery : public QObject { + Q_OBJECT + + PROPERTY( quint32 , aCPower , 0) + PROPERTY( quint32 , capacity , 0) + + VIEW_DEC(VTDBattery, TDBatteryData) +}; +} Index: sources/view/td/data/VTDEjectorData.cpp =================================================================== diff -u --- sources/view/td/data/VTDEjectorData.cpp (revision 0) +++ sources/view/td/data/VTDEjectorData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,25 @@ +/*! + * + * Copyright (c) 2022-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 VTDEjectorData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "VTDEjectorData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDEjector, TDEjectorData) + +void VTDEjector::onActionReceive(const TDEjectorData &vData) { + state (vData.mState ); + setSpeed (vData.mSetSpeed ); +} Index: sources/view/td/data/VTDEjectorData.h =================================================================== diff -u --- sources/view/td/data/VTDEjectorData.h (revision 0) +++ sources/view/td/data/VTDEjectorData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2022-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 VTDEjectorData.h + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTDEjectorData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDEjectorData class + * \details View for Model's Data representation. + * + * \sa Model::MTDEjectorData + * + */ +class VTDEjector : public QObject { + Q_OBJECT + + PROPERTY( quint32 , state , 0) + PROPERTY( float , setSpeed , 0) + + VIEW_DEC(VTDEjector, TDEjectorData) +}; +} Index: sources/view/td/data/VTDSwitchesData.cpp =================================================================== diff -u --- sources/view/td/data/VTDSwitchesData.cpp (revision 0) +++ sources/view/td/data/VTDSwitchesData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,24 @@ +/*! + * + * Copyright (c) 2022-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 VTDSwitchesData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "VTDSwitchesData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDSwitches, TDSwitchesData) + +void VTDSwitches::onActionReceive(const TDSwitchesData &vData) { + door (vData.mDoor ); +} Index: sources/view/td/data/VTDSwitchesData.h =================================================================== diff -u --- sources/view/td/data/VTDSwitchesData.h (revision 0) +++ sources/view/td/data/VTDSwitchesData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,43 @@ +/*! + * + * Copyright (c) 2022-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 VTDSwitchesData.h + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTDSwitchesData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDSwitchesData class + * \details View for Model's Data representation. + * + * \sa Model::MTDSwitchesData + * + */ +class VTDSwitches : public QObject { + Q_OBJECT + + PROPERTY( quint32 , door , 0) + PROPERTY( quint32 , capacity , 0) + + VIEW_DEC(VTDSwitches, TDSwitchesData) +}; +} Index: sources/view/td/data/VTDTemperatureData.cpp =================================================================== diff -u --- sources/view/td/data/VTDTemperatureData.cpp (revision 0) +++ sources/view/td/data/VTDTemperatureData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,24 @@ +/*! + * + * Copyright (c) 2022-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 VTDTemperatureData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "VTDTemperatureData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDTemperature, TDTemperatureData) + +void VTDTemperature::onActionReceive(const TDTemperatureData &vData) { + boardTemp (vData.mBoardTemp ); +} Index: sources/view/td/data/VTDTemperatureData.h =================================================================== diff -u --- sources/view/td/data/VTDTemperatureData.h (revision 0) +++ sources/view/td/data/VTDTemperatureData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,42 @@ +/*! + * + * Copyright (c) 2022-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 VTDTemperatureData.h + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTDTemperatureData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDTemperatureData class + * \details View for Model's Data representation. + * + * \sa Model::MTDTemperatureData + * + */ +class VTDTemperature : public QObject { + Q_OBJECT + + PROPERTY( float , boardTemp , 0) + + VIEW_DEC(VTDTemperature, TDTemperatureData) +}; +} Index: sources/view/td/data/VTDValvesData.cpp =================================================================== diff -u --- sources/view/td/data/VTDValvesData.cpp (revision 0) +++ sources/view/td/data/VTDValvesData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,28 @@ +/*! + * + * Copyright (c) 2022-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 VTDValvesData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "VTDValvesData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDValves, TDValvesData) + +void VTDValves::onActionReceive(const TDValvesData &vData) { + valveId (vData.mValveId ); + state (vData.mState ); + posName (vData.mPosName ); + posCount (vData.mPosCount ); + nextPos (vData.mNextPos ); +} Index: sources/view/td/data/VTDValvesData.h =================================================================== diff -u --- sources/view/td/data/VTDValvesData.h (revision 0) +++ sources/view/td/data/VTDValvesData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,46 @@ +/*! + * + * Copyright (c) 2022-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 VTDValvesData.h + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTDValvesData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDValvesData class + * \details View for Model's Data representation. + * + * \sa Model::MTDValvesData + * + */ +class VTDValves : public QObject { + Q_OBJECT + + PROPERTY( quint32 , valveId , 0) + PROPERTY( quint32 , state , 0) + PROPERTY( quint32 , posName , 0) + PROPERTY( qint16 , posCount , 0) + PROPERTY( qint16 , nextPos , 0) + + VIEW_DEC(VTDValves, TDValvesData) +}; +} Index: sources/view/td/data/VTDVoltageData.cpp =================================================================== diff -u --- sources/view/td/data/VTDVoltageData.cpp (revision 0) +++ sources/view/td/data/VTDVoltageData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,34 @@ +/*! + * + * Copyright (c) 2022-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 VHDVoltageData.cpp + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#include "VTDVoltageData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTDVoltage, TDVoltageData) + +void VTDVoltage::onActionReceive(const TDVoltageData &vData) { + line_1_2V (vData.m1_2V ); + line_3_3V (vData.m3_3V ); + logic5V (vData.mLogic5V ); + sensors5V (vData.mSensors5V ); + line_24V (vData.m24V ); + regen24V (vData.mRegen24V ); + fpgaAdcRef (vData.mFpgaAdcRef ); + presRef (vData.mPresRef ); + fpgaVcc (vData.mFpgaVcc ); + fpgaVaux (vData.mFpgaVaux ); + fpgaVpvn (vData.mFpgaVpvn ); +} Index: sources/view/td/data/VTDVoltageData.h =================================================================== diff -u --- sources/view/td/data/VTDVoltageData.h (revision 0) +++ sources/view/td/data/VTDVoltageData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,52 @@ +/*! + * + * Copyright (c) 2022-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 VTDVoltageData.h + * \author (last) Dara Navaei + * \date (last) 27-Feb-2024 + * \author (original) Michael Garthwaite + * \date (original) 23-Feb-2022 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTDVoltageData.h" + +// namespace +namespace View { + +/*! + * \brief The VTDVoltageData class + * \details View for Model's Data representation. + * + * \sa Model::MTDVoltageData + * + */ +class VTDVoltage : public QObject { + Q_OBJECT + + PROPERTY( float , line_1_2V , 0) + PROPERTY( float , line_3_3V , 0) + PROPERTY( float , logic5V , 0) + PROPERTY( float , sensors5V , 0) + PROPERTY( float , line_24V , 0) + PROPERTY( float , regen24V , 0) + PROPERTY( float , fpgaAdcRef , 0) + PROPERTY( float , presRef , 0) + PROPERTY( float , fpgaVcc , 0) + PROPERTY( float , fpgaVaux , 0) + PROPERTY( float , fpgaVpvn , 0) + + VIEW_DEC(VTDVoltage, TDVoltageData) +}; +} Index: sources/view/td/data/treatment/VTreatmentBloodFlow.cpp =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentBloodFlow.cpp (revision 0) +++ sources/view/td/data/treatment/VTreatmentBloodFlow.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,33 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentBloodFlow.cpp + * \author (last) Dara Navaei + * \date (last) 08-May-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "VTreatmentBloodFlow.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTreatmentBloodFlow, BloodFlowData) + +void VTreatmentBloodFlow::onActionReceive(const BloodFlowData &vData) +{ + flowSetPoint (vData. mFlowSetPoint ); + measuredFlow (vData. mMeasuredFlow ); + rotorSpeed (vData. mRotorSpeed ); + motorSpeed (vData. mMotorSpeed ); + motorCtlCurrent (vData. mMotorCtlCurrent ); + rPM (vData. mRPM ); + rotorCount (vData. mRotorCount ); + presFlow (vData. mPresFlow ); + rotorHall (vData. mRotorHall ); +} Index: sources/view/td/data/treatment/VTreatmentBloodFlow.h =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentBloodFlow.h (revision 0) +++ sources/view/td/data/treatment/VTreatmentBloodFlow.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,51 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentBloodFlow.h + * \author (last) Dara Navaei + * \date (last) 08-May-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTreatmentBloodFlowData.h" + +// namespace +namespace View { + +/*! + * \brief The VTreatmentBloodFlow class + * \details View for Model's data representation. + * + * \sa Model::MBloodFlow + * + */ +class VTreatmentBloodFlow : public QObject +{ + Q_OBJECT + + PROPERTY( qint32 , flowSetPoint , 0) + PROPERTY( float , measuredFlow , 0) + PROPERTY( float , rotorSpeed , 0) + PROPERTY( float , motorSpeed , 0) + PROPERTY( float , motorCtlCurrent , 0) + PROPERTY( float , rPM , 0) + PROPERTY( quint32, rotorCount , 0) + PROPERTY( quint32, presFlow , 0) + PROPERTY( quint32, rotorHall , 0) + + VIEW_DEC(VTreatmentBloodFlow, BloodFlowData) +}; +} Index: sources/view/td/data/treatment/VTreatmentPressureOcclusion.cpp =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentPressureOcclusion.cpp (revision 0) +++ sources/view/td/data/treatment/VTreatmentPressureOcclusion.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,36 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentPressureOcclusion.cpp + * \author (last) Dara Navaei + * \date (last) 03-May-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "VTreatmentPressureOcclusion.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTreatmentPressureOcclusion, PressureOcclusionData) + +void VTreatmentPressureOcclusion::onActionReceive(const PressureOcclusionData &vData) +{ + arterialPressure ( vData.mArterialPressure ); + venousPressure ( vData.mVenousPressure ); + limitState ( vData.mLimitState ); + arterialMin ( vData.mArterialMin ); + arterialMax ( vData.mArterialMax ); + venousMin ( vData.mVenousMin ); + venousMax ( vData.mVenousMax ); + arterialLongFilter ( vData.mArterialLongFilter ); + venousLongFilter ( vData.mVenousLongFilter ); + tmpPressure ( vData.mTmpPressure ); + tmpMin ( vData.mTmpMin ); + tmpMax ( vData.mTmpMax ); +} Index: sources/view/td/data/treatment/VTreatmentPressureOcclusion.h =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentPressureOcclusion.h (revision 0) +++ sources/view/td/data/treatment/VTreatmentPressureOcclusion.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,54 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentPressureOcclusion.h + * \author (last) Dara Navaei + * \date (last) 03-May-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTreatmentPressureOcclusionData.h" + +// namespace +namespace View { + +/*! + * \brief The VTreatmentPressureOcclusion class + * \details View for Model's data representation. + * + * \sa Model::MPressureOcclusion + * + */ +class VTreatmentPressureOcclusion : public QObject +{ + Q_OBJECT + + PROPERTY( float , arterialPressure , 0) + PROPERTY( float , venousPressure , 0) + PROPERTY( quint32 , limitState , 0) + PROPERTY( qint32 , arterialMin , 0) + PROPERTY( qint32 , arterialMax , 0) + PROPERTY( qint32 , venousMin , 0) + PROPERTY( qint32 , venousMax , 0) + PROPERTY( float , arterialLongFilter , 0) + PROPERTY( float , venousLongFilter , 0) + PROPERTY( float , tmpPressure , 0) + PROPERTY( float , tmpMin , 0) + PROPERTY( float , tmpMax , 0) + + VIEW_DEC(VTreatmentPressureOcclusion, PressureOcclusionData) +}; +} Index: sources/view/td/data/treatment/VTreatmentSalineData.cpp =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentSalineData.cpp (revision 0) +++ sources/view/td/data/treatment/VTreatmentSalineData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,28 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentSalineData.cpp + * \author (last) Behrouz NematiPour + * \date (last) 11-Apr-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "VTreatmentSalineData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTreatmentSaline, TreatmentSalineData) + +void VTreatmentSaline::onActionReceive(const TreatmentSalineData &vData) +{ + target (vData.mTarget ); + cumulative (vData.mCumulative); + delivered (vData.mDelivered ); + state (vData.mState ); +} Index: sources/view/td/data/treatment/VTreatmentSalineData.h =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentSalineData.h (revision 0) +++ sources/view/td/data/treatment/VTreatmentSalineData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,46 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentSalineData.h + * \author (last) Behrouz NematiPour + * \date (last) 10-Aug-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTreatmentSalineData.h" + +// namespace +namespace View { + +/*! + * \brief The VTreatmentSaline class + * \details View for Model's data representation. + * + * \sa Model::MTreatmentSaline + * + */ +class VTreatmentSaline : public QObject +{ + Q_OBJECT + + PROPERTY( quint32 , target , 0) + PROPERTY( float , cumulative , 0) + PROPERTY( float , delivered , 0) + PROPERTY( quint32 , state , 0) + + VIEW_DEC(VTreatmentSaline, TreatmentSalineData) +}; +} Index: sources/view/td/data/treatment/VTreatmentSetPointData.cpp =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentSetPointData.cpp (revision 0) +++ sources/view/td/data/treatment/VTreatmentSetPointData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,28 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentSetPointData.cpp + * \author (last) Dara Navaei + * \date (last) 18-Jan-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "VTreatmentSetPointData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTreatmentSetPoint, TreatmentSetPointData) + +void VTreatmentSetPoint::onActionReceive(const TreatmentSetPointData &vData) +{ + bloodFlow ( vData.mBloodFlow ); + dialysateFlow ( vData.mDialysateFlow ); + dialysateTemp ( vData.mDialysateTemp ); + +} Index: sources/view/td/data/treatment/VTreatmentSetPointData.h =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentSetPointData.h (revision 0) +++ sources/view/td/data/treatment/VTreatmentSetPointData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,45 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentSetPointData.h + * \author (last) Dara Navaei + * \date (last) 18-Jan-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTreatmentSetPointData.h" + +// namespace +namespace View { + +/*! + * \brief The VTreatmentSetPoint Data class + * \details View for Model's data representation. + * + * \sa Model::MTreatmentSetPointData + * + */ +class VTreatmentSetPoint : public QObject +{ + Q_OBJECT + + PROPERTY( quint32 , bloodFlow , 0) + PROPERTY( quint32 , dialysateFlow , 0) + PROPERTY( float , dialysateTemp , 0) + + VIEW_DEC(VTreatmentSetPoint, TreatmentSetPointData) +}; +} Index: sources/view/td/data/treatment/VTreatmentTime.cpp =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentTime.cpp (revision 0) +++ sources/view/td/data/treatment/VTreatmentTime.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,28 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentTime.cpp + * \author (last) Behrouz NematiPour + * \date (last) 15-May-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "VTreatmentTime.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTreatmentTime, TreatmentTimeData) + +void VTreatmentTime::onActionReceive(const TreatmentTimeData &vData) +{ + time_Total ( vData.mTotal ); + time_Elapsed ( vData.mElapsed ); + time_Remaining ( vData.mRemaining ); + time_IsLeft ( vData.mTotal > 0 ); +} Index: sources/view/td/data/treatment/VTreatmentTime.h =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentTime.h (revision 0) +++ sources/view/td/data/treatment/VTreatmentTime.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,46 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentTime.h + * \author (last) Behrouz NematiPour + * \date (last) 10-Aug-2021 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTreatmentTimeData.h" + +// namespace +namespace View { + +/*! + * \brief The VTreatmentTime class + * \details View for Model's data representation. + * + * \sa Model::MTreatmentTime + * + */ +class VTreatmentTime : public QObject +{ + Q_OBJECT + + PROPERTY( quint32 , time_Total , 0) + PROPERTY( quint32 , time_Elapsed , 0) + PROPERTY( quint32 , time_Remaining , 0) + PROPERTY( bool , time_IsLeft , 0) + + VIEW_DEC(VTreatmentTime, TreatmentTimeData) +}; +} Index: sources/view/td/data/treatment/VTreatmentUltrafiltrationData.cpp =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentUltrafiltrationData.cpp (revision 0) +++ sources/view/td/data/treatment/VTreatmentUltrafiltrationData.cpp (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,29 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentUltrafiltrationData.cpp + * \author (last) Dara Navaei + * \date (last) 18-Jan-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#include "VTreatmentUltrafiltrationData.h" + +// Project +#include "GuiController.h" + +VIEW_DEF(VTreatmentUltrafiltration, TreatmentUltrafiltrationData) + +void VTreatmentUltrafiltration::onActionReceive(const TreatmentUltrafiltrationData &vData) +{ + setVolume ( vData.mSetVolume ); + targetRate ( vData.mTargetRate ); + volumeRemoved ( vData.mVolumeRemoved ); + state ( vData.mState ); + +} Index: sources/view/td/data/treatment/VTreatmentUltrafiltrationData.h =================================================================== diff -u --- sources/view/td/data/treatment/VTreatmentUltrafiltrationData.h (revision 0) +++ sources/view/td/data/treatment/VTreatmentUltrafiltrationData.h (revision f9abb75101e8cbe4c3a388361cfd3bbf592605f8) @@ -0,0 +1,49 @@ +/*! + * + * Copyright (c) 2021-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 VTreatmentUltrafiltrationData.h + * \author (last) Dara Navaei + * \date (last) 18-Jan-2024 + * \author (original) Behrouz NematiPour + * \date (original) 11-Apr-2021 + * + */ +#pragma once + +// Qt +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VView.h" +#include "MTreatmentUltrafiltrationData.h" + +// namespace +namespace View { + +/*! + * \brief The VTreatmentUltrafiltration class + * \details View for Model's data representation. + * + * \sa Model::MTreatmentUltrafiltration + * + */ +class VTreatmentUltrafiltration : public QObject +{ + Q_OBJECT + + PROPERTY( float, minimum , 0.000 ) // no message to update this value and is 0 for now. + PROPERTY( float, maximum , 0.600 ) + + PROPERTY( float , setVolume , 0) + PROPERTY( float , targetRate , 0) + PROPERTY( float , volumeRemoved , 0) + PROPERTY( quint32, state , 0) + + VIEW_DEC(VTreatmentUltrafiltration, TreatmentUltrafiltrationData) +}; +}