Index: sources/view/settings/VCalibrationSettings.cpp =================================================================== diff -u -r50d6907ed1bef8273ad246a823073153016997e1 -r969fb65fb9857c0a6a84cb9f7d591d16de40e898 --- sources/view/settings/VCalibrationSettings.cpp (.../VCalibrationSettings.cpp) (revision 50d6907ed1bef8273ad246a823073153016997e1) +++ sources/view/settings/VCalibrationSettings.cpp (.../VCalibrationSettings.cpp) (revision 969fb65fb9857c0a6a84cb9f7d591d16de40e898) @@ -1,85 +1,129 @@ -#include "VCalibrationSettings.h" // Project #include "GuiController.h" #include "format.h" +#include "VCalibrationSettings.h" +#include + VIEW_DEF_CLASS_ADJUSTMENT(VCalibrationSettings) void View::VCalibrationSettings::initConnections() { -// ADJUST_VIEW_CONNECTION(InstitutionalRequestData) -// ACTION_VIEW_CONNECTION(InstitutionalRecordResponseData) -// ACTION_VIEW_CONNECTION(SettingsData); -// ACTION_VIEW_CONNECTION(AdjustInstitutionalRecordResponseData) - _calibrationList.setRoleNames({ - { eRole_Title , "title" }, - + { eRole_Title , "title" }, + { eRole_Component , "component" }, + { eRole_Payload , "payload" }, }); +} - initModel(); +QVariantList View::VCalibrationSettings::createInitPayload(int vCount) +{ + QVariantList list; + list.reserve(vCount); + + for (int i = 0; i < vCount; ++i) { + list.append(0); + } + + rejectionReasons(list); + + return list; } -void View::VCalibrationSettings::initModel() +quint32 View::VCalibrationSettings::getEpochUTC() { - _calibrationList.insertRow( eBloodFlowRate, {{ eRole_Title, tr("Blood Flow Rate") }}); - _calibrationList.insertRow( eDialysateFlowRate, {{ eRole_Title, tr("Dialysate Flow Rate") }}); - _calibrationList.insertRow( eTreatmentDuration, {{ eRole_Title, tr("Treatment Duration") }}); - _calibrationList.insertRow( eHeparinBolusVolume, {{ eRole_Title, tr("Heparin Bolus Volume") }}); - _calibrationList.insertRow( eHeparinDispenseRate, {{ eRole_Title, tr("Heparin Dispense Rate") }}); - _calibrationList.insertRow( eHeparinStopTime, {{ eRole_Title, tr("Heparin Stop Time") }}); - _calibrationList.insertRow( eDialysateTemperature, {{ eRole_Title, tr("Dialysate Temperature") }}); - _calibrationList.insertRow( eAcidCompositionPotassium, {{ eRole_Title, tr("Acid Composition ([K+])") }}); - _calibrationList.insertRow( eAcidCompositionCalcium, {{ eRole_Title, tr("Acid Composition ([Ca2+])") }}); - _calibrationList.insertRow( eBicarbFinalDialysateComposition, {{ eRole_Title, tr("Bicarb. Final Dialysate Composition") }}); - _calibrationList.insertRow( eSodiumFinalDialysateComposition, {{ eRole_Title, tr("Sodium Final Dialysate Composition") }}); - _calibrationList.insertRow( eFluidBolusVolume, {{ eRole_Title, tr("Fluid Bolus Volume") }}); - _calibrationList.insertRow( eArterialPressureLimit, {{ eRole_Title, tr("Arterial Pressure Limit") }}); - _calibrationList.insertRow( eVenousPressureLimit, {{ eRole_Title, tr("Venous Pressure Limit") }}); - _calibrationList.insertRow( eVenousAsymPressureLimit, {{ eRole_Title, tr("Venous Asym Pressure Limit") }}); - _calibrationList.insertRow( eTMPWindowLimit, {{ eRole_Title, tr("TMP Window Limit") }}); - _calibrationList.insertRow( eUFVolume, {{ eRole_Title, tr("UF Volume") }}); - _calibrationList.insertRow( eVitalsInterval, {{ eRole_Title, tr("Vitals Interval") }}); - _calibrationList.insertRow( eRinsebackVolume, {{ eRole_Title, tr("Rinseback Volume") }}); - _calibrationList.insertRow( eRinsebackFlowRate, {{ eRole_Title, tr("Rinseback Flow Rate") }}); - _calibrationList.insertRow( eSubstitutionVolume, {{ eRole_Title, tr("Substitution Volume") }}); + const QDateTime currentDateTimeUTC = QDateTime::currentDateTime(); + return currentDateTimeUTC.toSecsSinceEpoch(); } -//void View::VInstitutionalRecord::onActionReceive(const InstitutionalRecordResponseData &vData) -//{ -// adjustment_Accepted ( vData.mAccepted ); -// adjustment_Reason ( vData.mReason ); +void View::VCalibrationSettings::refreshList (int vIndex) +{ + _columnTitle.clear(); + _calibrationList.clear(); -// _institutionalList.updateData( eBloodFlowRate, eRole_MinVal, vData.mBloodFlowMin ); -// _institutionalList.updateData( eBloodFlowRate, eRole_MaxVal, vData.mBloodFlowMax ); -// _institutionalList.updateData( eBloodFlowRate, eRole_DefVal, vData.mBloodFlowDef ); + switch (vIndex) { + case ePressure : + { + columnTitle ( { tr("4th order"), tr("3rd order"), tr("2nd order"), tr("Gain"), tr("Offset"), tr("Cal Time") } ) ; + QVariantList initPayloadValues = createInitPayload(_columnTitle.count()); // may remove alter when we add getter message from FW + // DD Pressure sensors + _calibrationList.appendRow( {{ eRole_Title, tr("Hydraulics Outlet Pressure")}, { eRole_Component, tr("D9" )}, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Dry Bicarb Pressure")}, { eRole_Component, tr("D66")}, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Spent Dialysate Pressure")}, { eRole_Component, tr("D51")}, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Fresh Dialysate Pressure")}, { eRole_Component, tr("D15")}, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Transmembrane Pressure")}, { eRole_Component, tr("D41")}, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("D87 Pressure Sensor")}, { eRole_Component, tr("D87")}, {eRole_Payload, initPayloadValues }}); +// // FP Pressure sensors + _calibrationList.appendRow( {{ eRole_Title, tr("Water inlet pressure before regulator")}, { eRole_Component, tr("M3") }, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Water inlet pressure after regulator")}, { eRole_Component, tr("P8") }, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Water inlet pressure before the cond. sensor")}, { eRole_Component, tr("P13")}, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Pressure before the RO filter")}, { eRole_Component, tr("P17")}, {eRole_Payload, initPayloadValues }}); + _calibrationList.appendRow( {{ eRole_Title, tr("Pressure after the RO filter")}, { eRole_Component, tr("P46")}, {eRole_Payload, initPayloadValues }}); + break; + } + case eTemperature : + columnTitle ( { tr("4th order"), tr("3rd order"), tr("2nd order"), tr("Gain"), tr("Offset"), tr("Cal Time") } ) ; + break; + case eConcentratePump : + columnTitle ( { tr("4th order"), tr("3rd order"), tr("2nd order"), tr("Gain"), tr("Offset"), tr("Cal Time") } ) ; + break; + case eDialysatePumpD48 : + columnTitle ( { tr("4th order"), tr("3rd order"), tr("2nd order"), tr("Gain"), tr("Offset"), tr("Cal Time") } ) ; + break; + case eDialysatePumpD1 : + columnTitle ( { tr("Target Speed"), tr("Cal Time") } ) ; -// // *** has to be the last to let the information to be set and then emit the signal *** -// // *** otherwise will use the Previous values before being set. *** -// adjustment ( true ); -//} + break; + case eAcidTypes : + break; + case eBicarbTypes : + break; + case eAccelerometer : + break; + case eBloodLeak : + break; + } +} +void View::VCalibrationSettings::doAdjustment(int vIndex, int vSensorIndex, QVariantList vPayload) +{ + // to test rejeciton reason - works -- REMOIVE later +// static int test = 0; +// rejectionReasons ({0,0,0,0,test = ! test,0}); -//void View::VInstitutionalRecord::onActionReceive(const AdjustInstitutionalRecordResponseData &vData) -//{ -// _institutionalList.updateData(eBloodFlowRate, eRole_RejectionMin, vData.mBloodFlowRateMinRejectionReason ); -// _institutionalList.updateData(eBloodFlowRate, eRole_RejectionMax, vData.mBloodFlowRateMaxRejectionReason ); -// _institutionalList.updateData(eBloodFlowRate, eRole_RejectionDef, vData.mBloodFlowRateDefRejectionReason ); -// _institutionalList.updateData(eDialysateFlowRate, eRole_RejectionMin, vData.mDialysateFlowRateMinRejectionReason ); -// _institutionalList.updateData(eDialysateFlowRate, eRole_RejectionMax, vData.mDialysateFlowRateMaxRejectionReason ); -// _institutionalList.updateData(eDialysateFlowRate, eRole_RejectionDef, vData.mDialysateFlowRateDefRejectionReason ); -// _institutionalList.updateData(eTreatmentDuration, eRole_RejectionMin, vData.mTreatmentDurationMinRejectionReason ); -// _institutionalList.updateData(eTreatmentDuration, eRole_RejectionMax, vData.mTreatmentDurationMaxRejectionReason ); -// _institutionalList.updateData(eTreatmentDuration, eRole_RejectionDef, vData.mTreatmentDurationDefRejectionReason ); -// _institutionalList.updateData(eHeparinBolusVolume, eRole_RejectionMin, vData.mHeparinBolusVolumeMinRejectionReason ); -// _institutionalList.updateData(eHeparinBolusVolume, eRole_RejectionMax, vData.mHeparinBolusVolumeMaxRejectionReason ); -// _institutionalList.updateData(eHeparinBolusVolume, eRole_RejectionDef, vData.mHeparinBolusVolumeDefRejectionReason ); -// _institutionalList.updateData(eHeparinDispenseRate, eRole_RejectionMin, vData.mHeparinDispensingRateMinRejectionReason ); -// _institutionalList.updateData(eHeparinDispenseRate, eRole_RejectionMax, vData.mHeparinDispensingRateMaxRejectionReason ); -// _institutionalList.updateData(eHeparinDispenseRate, eRole_RejectionDef, vData.mHeparinDispensingRateDefRejectionReason ); -// _institutionalList.updateData(eHeparinStopTime, eRole_RejectionMin, vData.mHeparinStopTimeMinRejectionReason ); + quint32 calTime = getEpochUTC(); -//} + // set cal time to payload. + if ( ! vPayload.isEmpty()) + { + vPayload.last() = Format::fromEpoch( calTime, "yyyy/MM/dd, HH:mm" ); + } + _calibrationList.updateData(vSensorIndex, eRole_Payload, vPayload); + + qDebug() << "Cal Time: " << vPayload.last() << " -- Epoch:" << calTime; + + + switch (vIndex) { + case ePressure : + break; + case eTemperature : + break; + case eConcentratePump : + break; + case eDialysatePumpD48 : + break; + case eDialysatePumpD1 : + break; + case eAcidTypes : + break; + case eBicarbTypes : + break; + case eAccelerometer : + break; + case eBloodLeak : + break; + } +}