Index: main.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- main.cpp (.../main.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ main.cpp (.../main.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -106,8 +106,10 @@ bool gUseRootHome = false ; QString gParserErrorText = ""; +QString gStandard_tmp = QString("/%1/").arg("tmp"); + /*! * \page CommandLineSwitches Denali Command Line Switches * \verbatim @@ -447,7 +449,6 @@ */ int main(int argc, char *argv[]) { - #ifndef SQUISH_COCO_BULD signal(SIGINT , signalhandler); signal(SIGTERM, signalhandler); Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -100,7 +100,7 @@ {Gui::GuiActionType::ID_DGValvesStatesData , 1 * 2 + 13 }, // 1 parameter 16bits & 13 parameters each 1 byte {Gui::GuiActionType::ID_DGHeatersData , 11 * 4 }, // 11 parameters each 4bytes {Gui::GuiActionType::ID_DGLoadCellReadingsData , 4 * 4 }, // 4 parameters each 4bytes - {Gui::GuiActionType::ID_DGTemperaturesData , 21 * 4 }, // 21 parameters each 4bytes + {Gui::GuiActionType::ID_DGTemperaturesData , 23 * 4 }, // 23 parameters each 4bytes {Gui::GuiActionType::ID_DGAccelerometerData , 9 * 4 }, // 9 parameters each 4bytes {Gui::GuiActionType::ID_DGConductivityData , 13 * 4 }, // 13 parameters each 4bytes // HD Data Messages Index: sources/device/DeviceController.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/device/DeviceController.cpp (.../DeviceController.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -283,7 +283,7 @@ qint64 mCTotal = 0; bool isMounted = FileHandler::isMounted(Storage::SDCard_Base_Path_Name); - QString pathToCheckSpace = isMounted ? Storage::SDCard_Base_Path_Name : Storage::Standard_tmp; + QString pathToCheckSpace = isMounted ? Storage::SDCard_Base_Path_Name : gStandard_tmp; mCIsReady = driveSpaceCheck(pathToCheckSpace, mCTotal, mCAvailable, &mCIsReadOnly); //DEBUG: qDebug()<< "Checking space for path of : " << pathToCheckSpace << " mCTotal " << mCTotal << " available " << mCAvailable; Index: sources/gui/qml/dialogs/DiagnosticsDialog.qml =================================================================== diff -u -r2bb4b7e255c69e5b3a869f37bcbb37d7ad87870f -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision 2bb4b7e255c69e5b3a869f37bcbb37d7ad87870f) +++ sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -230,6 +230,9 @@ vDGTemperatures.interalTHDRTD .toFixed(2) , vDGTemperatures.internalCondSnsrTemp .toFixed(2) , vDGTemperatures.baroTempSensor .toFixed(2) , + // NOTE: the below fields are commented out due to lack of real estate in the diagnostics screen + //vDGTemperatures.dialysateInletMvngAvg .toFixed(2) , + //vDGTemperatures.redundantOutletMvngAvg .toFixed(2) , ] label: [ "TPi" , @@ -253,6 +256,9 @@ "iTHD" , "iCond" , "baro" , + // NOTE: the below fields are commented out due to lack of real estate in the diagnostics screen + // TDiAvg, + // TROAvg, ] } Index: sources/main.h =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/main.h (.../main.h) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/main.h (.../main.h) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -103,6 +103,7 @@ extern bool gEnableManufacturing ; extern bool gEnableUpdating ; extern bool gUseRootHome ; +extern QString gStandard_tmp ; //--------------------------------------------------------------------------------// Index: sources/model/dg/data/MDGTemperaturesData.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/model/dg/data/MDGTemperaturesData.cpp (.../MDGTemperaturesData.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/model/dg/data/MDGTemperaturesData.cpp (.../MDGTemperaturesData.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -40,6 +40,8 @@ _data.mInteralTHDRTD .value, _data.mInternalCondSnsrTemp .value, _data.mBaroTempSensor .value, + _data.mDialysateInletMvngAvg .value, + _data.mRedundantOutletMvngAvg .value, }; } @@ -66,6 +68,8 @@ if (GetValue(vByteArray, index, _data.mInteralTHDRTD )) if (GetValue(vByteArray, index, _data.mInternalCondSnsrTemp )) if (GetValue(vByteArray, index, _data.mBaroTempSensor )) + if (GetValue(vByteArray, index, _data.mDialysateInletMvngAvg )) + if (GetValue(vByteArray, index, _data.mRedundantOutletMvngAvg )) return true ; else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } @@ -88,6 +92,8 @@ else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } } /*! @@ -118,5 +124,7 @@ data.mInteralTHDRTD = _data.mInteralTHDRTD .value; data.mInternalCondSnsrTemp = _data.mInternalCondSnsrTemp .value; data.mBaroTempSensor = _data.mBaroTempSensor .value; + data.mDialysateInletMvngAvg = _data.mDialysateInletMvngAvg .value; + data.mRedundantOutletMvngAvg = _data.mRedundantOutletMvngAvg .value; return data; } Index: sources/model/dg/data/MDGTemperaturesData.h =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/model/dg/data/MDGTemperaturesData.h (.../MDGTemperaturesData.h) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/model/dg/data/MDGTemperaturesData.h (.../MDGTemperaturesData.h) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -57,6 +57,8 @@ * | #19:(F32) | \ref Data::mInteralTHDRTD | * | #20:(F32) | \ref Data::mInternalCondSnsrTemp | * | #21:(F32) | \ref Data::mBaroTempSensor | + * | #22:(F32) | \ref Data::mDialysateInletMvngAvg | + * | #23:(F32) | \ref Data::mRedundantOutletMvngAvg | * * \sa Data * @@ -101,6 +103,8 @@ Types::F32 mInteralTHDRTD ; ///< THd RTD channel temperature sensor Types::F32 mInternalCondSnsrTemp ; ///< Conductivity Sensor internal temperature sensor Types::F32 mBaroTempSensor ; ///< Barometric temperature sensor + Types::F32 mDialysateInletMvngAvg ; ///< Dialysate inlet moving average + Types::F32 mRedundantOutletMvngAvg ; ///< Redundant outlet moving average } _data; public: @@ -131,6 +135,8 @@ float mInteralTHDRTD = 0; ///< THd RTD channel temperature sensor float mInternalCondSnsrTemp = 0; ///< Conductivity Sensor internal temperature sensor float mBaroTempSensor = 0; ///< Barometric temperature sensor + float mDialysateInletMvngAvg = 0; ///< Dialysate inlet moving average + float mRedundantOutletMvngAvg = 0; ///< Redundant outlet moving average }; MDGTemperatures() { } Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -r26a5f53e4a10cfba0f18ec7a1485ae222bed4125 -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 26a5f53e4a10cfba0f18ec7a1485ae222bed4125) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 24-Jan-2024 + * \date (last) 05-Feb-2024 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 * Index: sources/storage/FileHandler.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/storage/FileHandler.cpp (.../FileHandler.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/storage/FileHandler.cpp (.../FileHandler.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -25,6 +25,8 @@ // #include "Logger.h" // logger should not be used in this class. #include "StorageGlobals.h" +extern QString gStandard_tmp; + // namespace using namespace Storage; @@ -304,7 +306,7 @@ static bool tested = false; if ( tested ) return ok; - QString tmp = Storage::Standard_tmp; + QString tmp = gStandard_tmp; QString tmpTestFolder = tmp + "tmp_test_folder" ; QString tmpTestFile = tmp + "tmp_test_file" ; QString tmpTestContent = "tmp_test_content"; Index: sources/storage/Logger.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/storage/Logger.cpp (.../Logger.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/storage/Logger.cpp (.../Logger.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -234,7 +234,7 @@ #endif if (vUseTempPath) { - _dir.setPath(Storage::Standard_tmp); + _dir.setPath(gStandard_tmp); // NOTE: Do not use LOG_XXXXX, At this moment Logger has not been initialized yet QString msg = QString("temp location used for events logging (%1)").arg(_dir.path()); //DEBUG qDebug() << msg; @@ -271,8 +271,8 @@ QString basePath = Storage::Settings_Path(); // use the Settings path first (/var/configurations (Encrypted Partition)) - if ( ! QDir (basePath ).exists( )) { basePath = Storage::Standard_tmp; goto lOut; } - if ( ! FileHandler::makeFolder (basePath + Storage::Txr_Folder_Treatment )) { basePath = Storage::Standard_tmp; goto lOut; } + if ( ! QDir (basePath ).exists( )) { basePath = gStandard_tmp; goto lOut; } + if ( ! FileHandler::makeFolder (basePath + Storage::Txr_Folder_Treatment )) { basePath = gStandard_tmp; goto lOut; } lOut: _logPathNames[vLogType] = basePath + Storage::Txr_Folder_Treatment; Index: sources/storage/StorageGlobals.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/storage/StorageGlobals.cpp (.../StorageGlobals.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/storage/StorageGlobals.cpp (.../StorageGlobals.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -31,11 +31,6 @@ */ namespace Storage { - - /****** TO BE CONSISTENT, ALWAYS INCLUDE '/' AT THE END OF ALL THE FOLDER/DIR/PATH IN HERE ******/ - - const char *Standard_tmp = "/tmp/"; - const char *POST_LOG = "post.log"; // this file shall reside in the home folder where the application stored. Index: sources/storage/StorageGlobals.h =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/storage/StorageGlobals.h (.../StorageGlobals.h) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/storage/StorageGlobals.h (.../StorageGlobals.h) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -22,9 +22,6 @@ */ namespace Storage { - // standard locations - extern const char *Standard_tmp; - // POST extern const char *POST_LOG; Index: sources/utility/types.h =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/utility/types.h (.../types.h) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/utility/types.h (.../types.h) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -152,23 +152,24 @@ template < typename T > bool Types::getValue(const QByteArray &vData, int &vStartIndex, T &vValue, QString vValueName) { - int end = vStartIndex + sizeof(T); + int size = sizeof(T); + int end = vStartIndex + size; if (vData.length() < end) { LOG_DEBUG(QString("Not enough data from position %1 to the length of %2 to get data of type '%3' in buffer %4 %5") - .arg(vStartIndex) - .arg(sizeof(T)) - .arg(typeid(T).name()) - .arg(Format::toHexString(vData)) - .arg(vValueName.isEmpty() ? "" : QString("for value %1").arg(vValueName)) - ); + .arg(vStartIndex) + .arg(size) + .arg(typeid(T).name()) + .arg(Format::toHexString(vData)) + .arg(vValueName.isEmpty() ? "" : QString("for value %1").arg(vValueName)) + ); return false; } int i = 0; - while (vStartIndex < end) { - vValue.bytes[i] = vData[vStartIndex]; + while (i < size) { + vValue.bytes[i] = vData[vStartIndex + i]; i++; - vStartIndex++; } + vStartIndex += size; return true; } Index: sources/view/dg/data/VDGTemperaturesData.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/view/dg/data/VDGTemperaturesData.cpp (.../VDGTemperaturesData.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/view/dg/data/VDGTemperaturesData.cpp (.../VDGTemperaturesData.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -42,4 +42,6 @@ interalTHDRTD ( vData.mInteralTHDRTD ); internalCondSnsrTemp ( vData.mInternalCondSnsrTemp ); baroTempSensor ( vData.mBaroTempSensor ); + dialysateInletMvngAvg ( vData.mDialysateInletMvngAvg ); + redundantOutletMvngAvg ( vData.mRedundantOutletMvngAvg ); } Index: sources/view/dg/data/VDGTemperaturesData.h =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- sources/view/dg/data/VDGTemperaturesData.h (.../VDGTemperaturesData.h) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ sources/view/dg/data/VDGTemperaturesData.h (.../VDGTemperaturesData.h) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -57,6 +57,8 @@ PROPERTY( float , interalTHDRTD , 0) PROPERTY( float , internalCondSnsrTemp , 0) PROPERTY( float , baroTempSensor , 0) + PROPERTY( float , dialysateInletMvngAvg , 0) + PROPERTY( float , redundantOutletMvngAvg , 0) VIEW_DEC(VDGTemperatures, DGTemperaturesData) }; Index: unittests/tst_utilities.cpp =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- unittests/tst_utilities.cpp (.../tst_utilities.cpp) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ unittests/tst_utilities.cpp (.../tst_utilities.cpp) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -235,15 +235,66 @@ QCOMPARE(mActual, mExpected); } -void tst_utilities::tst_getValue_len() +void tst_utilities::tst_getValue_len_log() { - Types::S32 vFlowSetPoint; + bool ok = true; int index = 0; + Types::S32 vFlowSetPoint; QByteArray data; data += 0xFF; - QVERIFY( ! Types::getValue<>( data, index, vFlowSetPoint ) ); + ok = ! GetValue( data, index, vFlowSetPoint ) && ok; + QVERIFY( ok ); } +void tst_utilities::tst_getValue_len_lt() +{ + bool ok = true; + int index = 0; + Types::S32 vP1; + QByteArray data; + data += 0x01; + data += 0x02; + data += 0x03; + data += 0x04; + data += 0x05; + ok = GetValue( data, index, vP1 ) && ( vP1.value == 67305985 ) && ok; + QVERIFY( ok ); +} + +void tst_utilities::tst_getValue_len_eq() +{ + bool ok = true; + int index = 0; + Types::S32 vP1; + Types::U08 vP2; + QByteArray data; + data += 0x01; + data += 0x02; + data += 0x03; + data += 0x04; + data += 0x05; + ok = GetValue( data, index, vP1 ) && ( vP1.value == 67305985 ) && ok; + ok = GetValue( data, index, vP2 ) && ( vP2.value == 5 ) && ok; + QVERIFY( ok ); +} + +void tst_utilities::tst_getValue_len_gt() +{ + bool ok = true; + int index = 0; + Types::S32 vP1; + Types::U16 vP2; + QByteArray data; + data += 0x01; + data += 0x02; + data += 0x03; + data += 0x04; + data += 0x05; + ok = GetValue( data, index, vP1 ) && ( vP1.value == 67305985 ) && ok; + ok = ! GetValue( data, index, vP2 ) && ( vP2.value == 0 ) && ok; + QVERIFY( ok ); +} + void tst_utilities::tst_safeIncrement_StepZero() { uchar c = 0; Index: unittests/tst_utilities.h =================================================================== diff -u -ra9b3b248a786b93bf6dfd8c29946d708d18dde9a -rc32e2e5e71c9baf96b0045732025c83e3c86f1fb --- unittests/tst_utilities.h (.../tst_utilities.h) (revision a9b3b248a786b93bf6dfd8c29946d708d18dde9a) +++ unittests/tst_utilities.h (.../tst_utilities.h) (revision c32e2e5e71c9baf96b0045732025c83e3c86f1fb) @@ -25,7 +25,10 @@ explicit tst_utilities(QObject *parent = nullptr); private slots: - void tst_getValue_len(); + void tst_getValue_len_log(); + void tst_getValue_len_lt(); + void tst_getValue_len_eq(); + void tst_getValue_len_gt(); void tst_floatCompare_noMatch(); void tst_floatCompare_isMatch(); void tst_getbits_NoError();