Index: sources/gui/qml/components/TextEntry.qml =================================================================== diff -u -rb2a0a682b4f9bcf52352e6cb6206ba10f09c7847 -r25fec42483af3397ccd9306da1c5b19f5d950164 --- sources/gui/qml/components/TextEntry.qml (.../TextEntry.qml) (revision b2a0a682b4f9bcf52352e6cb6206ba10f09c7847) +++ sources/gui/qml/components/TextEntry.qml (.../TextEntry.qml) (revision 25fec42483af3397ccd9306da1c5b19f5d950164) @@ -110,6 +110,7 @@ selectedTextColor : acceptableInput ? Colors.textMain : Colors.red anchors.left : _separator.right horizontalAlignment : TextInput.AlignHCenter + verticalAlignment : TextInput.AlignVCenter inputMethodHints : Qt.ImhDigitsOnly selectByMouse : true activeFocusOnPress : true Index: sources/gui/qml/dialogs/CalibrationDialog.qml =================================================================== diff -u -r4b5d1e497ef4f425cd03540dbbeef1d8197aed1d -r25fec42483af3397ccd9306da1c5b19f5d950164 --- sources/gui/qml/dialogs/CalibrationDialog.qml (.../CalibrationDialog.qml) (revision 4b5d1e497ef4f425cd03540dbbeef1d8197aed1d) +++ sources/gui/qml/dialogs/CalibrationDialog.qml (.../CalibrationDialog.qml) (revision 25fec42483af3397ccd9306da1c5b19f5d950164) @@ -179,8 +179,10 @@ TextEntry { id : _textEntry anchors.centerIn : parent - width :parent.width - height :parent.height + width : parent.width + height : parent.height + textInput.width : parent.width + textInput.height : parent.height text : Number(modelData).toFixed(3) ?? Variables.emptyEntry textInput.font.pixelSize: Fonts.fontPixelValueControl line.visible : false Index: sources/view/settings/VCalibrationSettings.cpp =================================================================== diff -u -rf61d6b9a0c33bf07bc4dc056a7abaf4437f65363 -r25fec42483af3397ccd9306da1c5b19f5d950164 --- sources/view/settings/VCalibrationSettings.cpp (.../VCalibrationSettings.cpp) (revision f61d6b9a0c33bf07bc4dc056a7abaf4437f65363) +++ sources/view/settings/VCalibrationSettings.cpp (.../VCalibrationSettings.cpp) (revision 25fec42483af3397ccd9306da1c5b19f5d950164) @@ -310,12 +310,40 @@ int vSensorIndex, QVariantList vPayload) { - enum CalibrationPayload{ + enum CalibrationPayload { eGain = 0 , eOffset , eCalibrationTime }; + enum ConcentratesCalibrationPayload { + ConcMixRatio , + FullBottleVolumeML , + ConductivityUSPerCM , + BottleTemperature + }; + + enum AccelerometerCalibrationPayload { + XOffSet , + YOffSet , + ZOffSet , + }; + + enum ConductivityCalibrationPayload { + KHigh , + AlphaHigh , + EtaHigh , + Zetahigh , + KLow , + AlphaLow , + EtaLow , + ZetaLow , + Beta , + Delta , + Reserved1 , + Reserved2 + }; + // epoch for fw payload const quint32 calTimeEpoch = getEpochUTC(); const QString formattedTime = Format::fromEpoch( calTimeEpoch, "yyyy/MM/dd, HH:mm" ); @@ -344,24 +372,181 @@ break; } case eTemperature : + { + if (vPayload.size() < 3) { goto invalid; } + + AdjustDDCalibrationTemperatureRequestData data; + data.mIndex = vSensorIndex ; + data.mGain = vPayload[eGain] .toFloat(&result) ; + ok &= result; + data.mOffset = vPayload[eOffset] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eConcentratePump : + { + if (vPayload.size() < 3) { goto invalid; } + + AdjustDDCalibrationConcentratePumpRequestData data; + data.mIndex = vSensorIndex ; + data.mGain = vPayload[eGain] .toFloat(&result) ; + ok &= result; + data.mOffset = vPayload[eOffset] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eDialysatePumpD12 : + { + if (vPayload.size() < 2) { goto invalid; } + + AdjustDDCalibrationD12DialysatePumpRequestData data; + data.mTargetPumpSpeed = vPayload[0] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eDialysatePumpD48 : + { + if (vPayload.size() < 3) { goto invalid; } + + AdjustDDCalibrationD48DialysatePumpRequestData data; + data.mGain = vPayload[eGain] .toFloat(&result) ; + ok &= result; + data.mOffset = vPayload[eOffset] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eAcidTypes : + { + if (vPayload.size() < 5) { goto invalid; } + + AdjustDDCalibrationAcidConcentratesRequestData data; + data.mIndex = vSensorIndex ; + data.mAcidConcMixRatio = vPayload[ConcMixRatio] .toFloat(&result) ; + ok &= result; + data.mAcidFullBottleVolumeML = vPayload[FullBottleVolumeML] .toFloat(&result) ; + ok &= result; + data.mAcidConductivityUSPerCM = vPayload[ConductivityUSPerCM] .toFloat(&result) ; + ok &= result; + data.mAcidBottleTemperature = vPayload[BottleTemperature] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eBicarbTypes : + { + if (vPayload.size() < 5) { goto invalid; } + + AdjustDDCalibrationBicarbConcentratesRequestData data; + data.mIndex = vSensorIndex ; + data.mBicarbConcMixRatio = vPayload[ConcMixRatio] .toFloat(&result) ; + ok &= result; + data.mBicarbStartVolumeML = vPayload[FullBottleVolumeML] .toFloat(&result) ; + ok &= result; + data.mBicarbConductivityUSPerCM = vPayload[ConductivityUSPerCM] .toFloat(&result) ; + ok &= result; + data.mBicarbBottleTemperature = vPayload[BottleTemperature] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eAccelerometer : + { + if (vPayload.size() < 4) { goto invalid; } + + AdjustDDCalibrationAccelerometerSensorRequestData data; + data.mAccelXOffset = vPayload[XOffSet] .toFloat(&result) ; + ok &= result; + data.mAccelYOffset = vPayload[YOffSet] .toFloat(&result) ; + ok &= result; + data.mAccelZOffset = vPayload[ZOffSet] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eBloodLeak : + { + if (vPayload.size() < 2) { goto invalid; } + + AdjustDDCalibrationBloodLeakSensorRequestData data; + data.mSetPoint = vPayload[0] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; + } case eConductivity : + { + if (vPayload.size() < 13) { goto invalid; } + + AdjustDDCalibrationConductivityRequestData data; + data.mIndex = vSensorIndex ; + data.mKHigh = vPayload[KHigh] .toFloat(&result) ; + ok &= result; + data.mAlphaHigh = vPayload[AlphaHigh] .toFloat(&result) ; + ok &= result; + data.mEtaHigh = vPayload[EtaHigh] .toFloat(&result) ; + ok &= result; + data.mZetahigh = vPayload[Zetahigh] .toFloat(&result) ; + ok &= result; + data.mKLow = vPayload[KLow] .toFloat(&result) ; + ok &= result; + data.mAlphaLow = vPayload[AlphaLow] .toFloat(&result) ; + ok &= result; + data.mEtaLow = vPayload[EtaLow] .toFloat(&result) ; + ok &= result; + data.mZetaLow = vPayload[ZetaLow] .toFloat(&result) ; + ok &= result; + data.mBeta = vPayload[Beta] .toFloat(&result) ; + ok &= result; + data.mDelta = vPayload[Delta] .toFloat(&result) ; + ok &= result; + data.mReserved1 = vPayload[Reserved1] .toFloat(&result) ; + ok &= result; + data.mReserved2 = vPayload[Reserved2] .toFloat(&result) ; + ok &= result; + data.mCalibrationTime = calTimeEpoch ; + + if (!ok) goto invalid; + + emit didAdjustment(data); break; } + } vPayload[eCalibrationTime] = formattedTime; _calibrationList.updateData(vSensorIndex, eRole_Payload, vPayload); @@ -381,9 +566,10 @@ { adjustment_Accepted ( vData.mAccepted ); adjustment_Reason ( vData.mReason ); + _calibrationList.updateData( vData.mIndex, eRole_Payload, QVariantList ({ vData.mGain, vData.mOffset, - vData.mCalTime })); + Format::fromEpoch( vData.mCalTime, "yyyy/MM/dd, HH:mm" ) })); _calibrationList.updateData( vData.mIndex, eRole_Received, true ); adjustment ( true ); @@ -417,7 +603,7 @@ adjustment_Reason ( vData.mReason ); _calibrationList.updateData( vData.mIndex, eRole_Payload, QVariantList ({ vData.mGain, vData.mOffset, - vData.mCalTime })); + Format::fromEpoch( vData.mCalTime, "yyyy/MM/dd, HH:mm" ) })); _calibrationList.updateData( vData.mIndex, eRole_Received, true ); adjustment ( true ); @@ -451,7 +637,7 @@ adjustment_Reason ( vData.mReason ); _calibrationList.updateData( vData.mIndex, eRole_Payload, QVariantList ({ vData.mGain, vData.mOffset, - vData.mCalTime })); + Format::fromEpoch( vData.mCalTime, "yyyy/MM/dd, HH:mm" )})); _calibrationList.updateData( vData.mIndex, eRole_Received, true ); adjustment ( true );