Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rfe301ed4aa3b3e5cd2a279488652338ee66366a1 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision fe301ed4aa3b3e5cd2a279488652338ee66366a1) @@ -97,7 +97,7 @@ {Gui::GuiActionType::ID_DGOperationModeData , 2 * 4 }, // 2 parameter each 4bytes {Gui::GuiActionType::ID_DGReservoirData , 3 * 4 }, // 3 parameters each 4bytes {Gui::GuiActionType::ID_DGValvesStatesData , 1 * 2 }, // 1 parameters each 2bytes - {Gui::GuiActionType::ID_DGHeatersData , 3 * 4 }, // 3 parameters each 4bytes + {Gui::GuiActionType::ID_DGHeatersData , 11 * 4 }, // 11 parameters each 4bytes {Gui::GuiActionType::ID_DGLoadCellReadingsData , 4 * 4 }, // 4 parameters each 4bytes {Gui::GuiActionType::ID_DGTemperaturesData , 13 * 4 }, // 13 parameters each 4bytes {Gui::GuiActionType::ID_DGAccelerometerData , 9 * 4 }, // 9 parameters each 4bytes Index: sources/gui/qml/dialogs/DiagnosticsDialog.qml =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rfe301ed4aa3b3e5cd2a279488652338ee66366a1 --- sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/gui/qml/dialogs/DiagnosticsDialog.qml (.../DiagnosticsDialog.qml) (revision fe301ed4aa3b3e5cd2a279488652338ee66366a1) @@ -139,9 +139,9 @@ x: col(4) y: row(0) model: [ - vDGHeaters.mainPrimaryDC .toFixed(2), - vDGHeaters.smallPrimaryDC .toFixed(2), - vDGHeaters.trimmerDC .toFixed(2), + vDGHeaters.mainPrimayHeaterDC .toFixed(2), + vDGHeaters.smallPrimaryHeaterDC .toFixed(2), + vDGHeaters.trimmerHeaterDC .toFixed(2), ] label: [ "HP1", Index: sources/model/dg/data/MDGHeatersData.cpp =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rfe301ed4aa3b3e5cd2a279488652338ee66366a1 --- sources/model/dg/data/MDGHeatersData.cpp (.../MDGHeatersData.cpp) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/model/dg/data/MDGHeatersData.cpp (.../MDGHeatersData.cpp) (revision fe301ed4aa3b3e5cd2a279488652338ee66366a1) @@ -18,21 +18,46 @@ QVariantList MDGHeaters::parameters() const { return { - _data.mMainPrimaryDC .value, - _data.mSmallPrimaryDC .value, - _data.mTrimmerDC .value + _data.mMainPrimayHeaterDC .value, + _data.mSmallPrimaryHeaterDC .value, + _data.mTrimmerHeaterDC .value, + _data.mPrimaryTargetTemp .value, + _data.mTrimmerTargetTemp .value, + _data.mPrimaryHeaterState .value, + _data.mTrimmerHeaterState .value, + _data.mPrimaryEfficiency .value, + _data.mPrimaryCalcTargetTemp .value, + _data.mTrimmerCalcCurrentTemp .value, + _data.mTrimmerUseLastDC .value, }; + } bool MDGHeaters::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position - if (GetValue(vByteArray, index, _data.mMainPrimaryDC )) - if (GetValue(vByteArray, index, _data.mSmallPrimaryDC )) - if (GetValue(vByteArray, index, _data.mTrimmerDC )) + if (GetValue(vByteArray, index, _data.mMainPrimayHeaterDC )) + if (GetValue(vByteArray, index, _data.mSmallPrimaryHeaterDC )) + if (GetValue(vByteArray, index, _data.mTrimmerHeaterDC )) + if (GetValue(vByteArray, index, _data.mPrimaryTargetTemp )) + if (GetValue(vByteArray, index, _data.mTrimmerTargetTemp )) + if (GetValue(vByteArray, index, _data.mPrimaryHeaterState )) + if (GetValue(vByteArray, index, _data.mTrimmerHeaterState )) + if (GetValue(vByteArray, index, _data.mPrimaryEfficiency )) + if (GetValue(vByteArray, index, _data.mPrimaryCalcTargetTemp )) + if (GetValue(vByteArray, index, _data.mTrimmerCalcCurrentTemp )) + if (GetValue(vByteArray, index, _data.mTrimmerUseLastDC )) return true ; 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; } + 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; } + else { if(vIndex) *vIndex = index; return false; } } /*! @@ -42,8 +67,16 @@ */ MDGHeaters::Data MDGHeaters::data() const { Data data; - data.mMainPrimaryDC = _data.mMainPrimaryDC .value; - data.mSmallPrimaryDC = _data.mSmallPrimaryDC .value; - data.mTrimmerDC = _data.mTrimmerDC .value; + data.mMainPrimayHeaterDC = _data.mMainPrimayHeaterDC .value; + data.mSmallPrimaryHeaterDC = _data.mSmallPrimaryHeaterDC .value; + data.mTrimmerHeaterDC = _data.mTrimmerHeaterDC .value; + data.mPrimaryTargetTemp = _data.mPrimaryTargetTemp .value; + data.mTrimmerTargetTemp = _data.mTrimmerTargetTemp .value; + data.mPrimaryHeaterState = _data.mPrimaryHeaterState .value; + data.mTrimmerHeaterState = _data.mTrimmerHeaterState .value; + data.mPrimaryEfficiency = _data.mPrimaryEfficiency .value; + data.mPrimaryCalcTargetTemp = _data.mPrimaryCalcTargetTemp .value; + data.mTrimmerCalcCurrentTemp = _data.mTrimmerCalcCurrentTemp .value; + data.mTrimmerUseLastDC = _data.mTrimmerUseLastDC .value; return data; } Index: sources/model/dg/data/MDGHeatersData.h =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rfe301ed4aa3b3e5cd2a279488652338ee66366a1 --- sources/model/dg/data/MDGHeatersData.h (.../MDGHeatersData.h) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/model/dg/data/MDGHeatersData.h (.../MDGHeatersData.h) (revision fe301ed4aa3b3e5cd2a279488652338ee66366a1) @@ -36,9 +36,17 @@ * * | Payload || * | || - * | #1:(F32) | \ref Data::mMainPrimaryDC | - * | #2:(F32) | \ref Data::mSmallPrimaryDC | - * | #3:(F32) | \ref Data::mTrimmerDC | + * | # 1:(F32) | \ref Data::mMainPrimayHeaterDC | + * | # 2:(F32) | \ref Data::mSmallPrimaryHeaterDC | + * | # 3:(F32) | \ref Data::mTrimmerHeaterDC | + * | # 4:(F32) | \ref Data::mPrimaryTargetTemp | + * | # 5:(F32) | \ref Data::mTrimmerTargetTemp | + * | # 6:(F32) | \ref Data::mPrimaryHeaterState | + * | # 7:(F32) | \ref Data::mTrimmerHeaterState | + * | # 8:(F32) | \ref Data::mPrimaryEfficiency | + * | # 9:(F32) | \ref Data::mPrimaryCalcTargetTemp | + * | #10:(F32) | \ref Data::mTrimmerCalcCurrentTemp | + * | #11:(F32) | \ref Data::mTrimmerUseLastDC | * * \sa Data * @@ -55,13 +63,20 @@ // friends friend class ::tst_models; - // Heaters Data (U32) mainPrimaryDC (U32) smallPrimaryDC (U32) trimmerDC QVariantList parameters() const override; struct { - Types::F32 mMainPrimaryDC ; - Types::F32 mSmallPrimaryDC ; - Types::F32 mTrimmerDC ; + Types::F32 mMainPrimayHeaterDC ; ///< Main primary heater DC + Types::F32 mSmallPrimaryHeaterDC ; ///< Small primary heater DC + Types::F32 mTrimmerHeaterDC ; ///< Trimmer heater DC + Types::F32 mPrimaryTargetTemp ; ///< Primary heater target temperature + Types::F32 mTrimmerTargetTemp ; ///< Trimmer heater target temperature + Types::U32 mPrimaryHeaterState ; ///< Primary heater state + Types::U32 mTrimmerHeaterState ; ///< Trimmer heater state + Types::F32 mPrimaryEfficiency ; ///< Primary heater efficiency + Types::F32 mPrimaryCalcTargetTemp ; ///< Primary heater calculated target temperature + Types::F32 mTrimmerCalcCurrentTemp ; ///< Trimmer heater calculated current temperature + Types::U32 mTrimmerUseLastDC ; ///< Trimmer heater use last duty cycle } _data; public: @@ -71,9 +86,17 @@ QString infoText () const override { return QString("Heaters"); } struct Data { - float mMainPrimaryDC = 0; ///< main Primary DC - float mSmallPrimaryDC = 0; ///< small Primary DC - float mTrimmerDC = 0; ///< trimmer DC + float mMainPrimayHeaterDC = 0; ///< main Primary DC + float mSmallPrimaryHeaterDC = 0; ///< small Primary DC + float mTrimmerHeaterDC = 0; ///< trimmer DC + float mPrimaryTargetTemp = 0; ///< Primary heater target temperature + float mTrimmerTargetTemp = 0; ///< Trimmer heater target temperature + quint32 mPrimaryHeaterState = 0; ///< Primary heater state + quint32 mTrimmerHeaterState = 0; ///< Trimmer heater state + float mPrimaryEfficiency = 0; ///< Primary heater efficiency + float mPrimaryCalcTargetTemp = 0; ///< Primary heater calculated target temperature + float mTrimmerCalcCurrentTemp = 0; ///< Trimmer heater calculated current temperature + quint32 mTrimmerUseLastDC = 0; ///< Trimmer heater use last duty cycle }; MDGHeaters () {} Index: sources/view/dg/data/VDGHeatersData.cpp =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rfe301ed4aa3b3e5cd2a279488652338ee66366a1 --- sources/view/dg/data/VDGHeatersData.cpp (.../VDGHeatersData.cpp) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/view/dg/data/VDGHeatersData.cpp (.../VDGHeatersData.cpp) (revision fe301ed4aa3b3e5cd2a279488652338ee66366a1) @@ -21,7 +21,15 @@ void VDGHeaters::onActionReceive(const DGHeatersData &vData) { - mainPrimaryDC ( vData.mMainPrimaryDC ); - smallPrimaryDC ( vData.mSmallPrimaryDC ); - trimmerDC ( vData.mTrimmerDC ); + mainPrimayHeaterDC ( vData.mMainPrimayHeaterDC ); + smallPrimaryHeaterDC ( vData.mSmallPrimaryHeaterDC ); + trimmerHeaterDC ( vData.mTrimmerHeaterDC ); + primaryTargetTemp ( vData.mPrimaryTargetTemp ); + trimmerTargetTemp ( vData.mTrimmerTargetTemp ); + primaryHeaterState ( vData.mPrimaryHeaterState ); + trimmerHeaterState ( vData.mTrimmerHeaterState ); + primaryEfficiency ( vData.mPrimaryEfficiency ); + primaryCalcTargetTemp ( vData.mPrimaryCalcTargetTemp ); + trimmerCalcCurrentTemp ( vData.mTrimmerCalcCurrentTemp ); + trimmerUseLastDC ( vData.mTrimmerUseLastDC ); } Index: sources/view/dg/data/VDGHeatersData.h =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rfe301ed4aa3b3e5cd2a279488652338ee66366a1 --- sources/view/dg/data/VDGHeatersData.h (.../VDGHeatersData.h) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ sources/view/dg/data/VDGHeatersData.h (.../VDGHeatersData.h) (revision fe301ed4aa3b3e5cd2a279488652338ee66366a1) @@ -8,7 +8,7 @@ * \file VDGHeatersData.h * \author (last) Behrouz NematiPour * \date (last) 10-Aug-2021 - * \author (original) Behrouz NemaiPour + * \author (original) Behrouz NematiPour * \date (original) 02-Jul-2020 * */ @@ -36,9 +36,17 @@ { Q_OBJECT - PROPERTY( float , mainPrimaryDC , 0) - PROPERTY( float , smallPrimaryDC , 0) - PROPERTY( float , trimmerDC , 0) + PROPERTY( float , mainPrimayHeaterDC , 0) + PROPERTY( float , smallPrimaryHeaterDC , 0) + PROPERTY( float , trimmerHeaterDC , 0) + PROPERTY( float , primaryTargetTemp , 0) + PROPERTY( float , trimmerTargetTemp , 0) + PROPERTY( quint32 , primaryHeaterState , 0) + PROPERTY( quint32 , trimmerHeaterState , 0) + PROPERTY( float , primaryEfficiency , 0) + PROPERTY( float , primaryCalcTargetTemp , 0) + PROPERTY( float , trimmerCalcCurrentTemp , 0) + PROPERTY( quint32 , trimmerUseLastDC , 0) VIEW_DEC(VDGHeaters, DGHeatersData) }; Index: unittests/tst_models.cpp =================================================================== diff -u -rc9f8f8cf3c6c37fc6460d8675c62c9442c4d4263 -rfe301ed4aa3b3e5cd2a279488652338ee66366a1 --- unittests/tst_models.cpp (.../tst_models.cpp) (revision c9f8f8cf3c6c37fc6460d8675c62c9442c4d4263) +++ unittests/tst_models.cpp (.../tst_models.cpp) (revision fe301ed4aa3b3e5cd2a279488652338ee66366a1) @@ -775,18 +775,18 @@ QTest::addColumn("errorIndex"); QTest::addColumn("data"); QTest::newRow("msg complete ") << 0 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07" "08" "09" "0A" "0B")); - QTest::newRow("mMainPrimaryDC ") << 1 << QByteArray::fromHex(QByteArray()); - QTest::newRow("mMainPrimaryDC ") << 1 << QByteArray::fromHex(QByteArray("00")); - QTest::newRow("mMainPrimaryDC ") << 1 << QByteArray::fromHex(QByteArray("00" "01")); - QTest::newRow("mMainPrimaryDC ") << 1 << QByteArray::fromHex(QByteArray("00" "01" "02")); - QTest::newRow("mSmallPrimaryDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03")); - QTest::newRow("mSmallPrimaryDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04")); - QTest::newRow("mSmallPrimaryDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05")); - QTest::newRow("mSmallPrimaryDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06")); - QTest::newRow("mTrimmerDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07")); - QTest::newRow("mTrimmerDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07" "08")); - QTest::newRow("mTrimmerDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07" "08" "09")); - QTest::newRow("mTrimmerDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07" "08" "09" "0A")); + QTest::newRow("mMainPrimayHeaterDC ") << 1 << QByteArray::fromHex(QByteArray()); + QTest::newRow("mMainPrimayHeaterDC ") << 1 << QByteArray::fromHex(QByteArray("00")); + QTest::newRow("mMainPrimayHeaterDC ") << 1 << QByteArray::fromHex(QByteArray("00" "01")); + QTest::newRow("mMainPrimayHeaterDC ") << 1 << QByteArray::fromHex(QByteArray("00" "01" "02")); + QTest::newRow("mSmallPrimaryHeaterDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03")); + QTest::newRow("mSmallPrimaryHeaterDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04")); + QTest::newRow("mSmallPrimaryHeaterDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05")); + QTest::newRow("mSmallPrimaryHeaterDC") << 2 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06")); + QTest::newRow("mTrimmerHeaterDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07")); + QTest::newRow("mTrimmerHeaterDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07" "08")); + QTest::newRow("mTrimmerHeaterDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07" "08" "09")); + QTest::newRow("mTrimmerHeaterDC ") << 3 << QByteArray::fromHex(QByteArray("00" "01" "02" "03" "04" "05" "06" "07" "08" "09" "0A")); } // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DGHeatersData test definition ~~~~~~~~~~~~~~~~~~~~~~~~ // void tst_models::tst_DGHeatersData() { @@ -804,10 +804,10 @@ #endif switch (errorIndex) { - case 0: { index = 0 ; QVERIFY ( mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; - case 1: { index = index * sizeof mData._data.mMainPrimaryDC ; QVERIFY (! mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; - case 2: { index = index * sizeof mData._data.mSmallPrimaryDC; QVERIFY (! mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; - case 3: { index = index * sizeof mData._data.mTrimmerDC ; QVERIFY (! mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; + case 0: { index = 0 ; QVERIFY ( mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; + case 1: { index = index * sizeof mData._data.mMainPrimayHeaterDC ; QVERIFY (! mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; + case 2: { index = index * sizeof mData._data.mSmallPrimaryHeaterDC ; QVERIFY (! mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; + case 3: { index = index * sizeof mData._data.mTrimmerHeaterDC ; QVERIFY (! mData.fromByteArray(data)); QCOMPARE( index, startIndex ); } break; default: QVERIFY2(false, "Incorrect Test"); break;