Index: firmware/App/Controllers/FlowSensors.c =================================================================== diff -u -r59357d3831aa60f17ccdfbe0eef1a005935b9a58 -r4e258399f9732bf6d36c89115fd96bf7a62834d1 --- firmware/App/Controllers/FlowSensors.c (.../FlowSensors.c) (revision 59357d3831aa60f17ccdfbe0eef1a005935b9a58) +++ firmware/App/Controllers/FlowSensors.c (.../FlowSensors.c) (revision 4e258399f9732bf6d36c89115fd96bf7a62834d1) @@ -332,20 +332,31 @@ * @details Outputs: flowSensorStatus * @param: sensorId the Id of the sensor which its value is overridden. * @param: value override measured flow rate in LPM + * @param: raw override pre-calibrated, raw value, or post-calibrated values. * @return TRUE if override successful, FALSE if not *************************************************************************/ -BOOL testSetMeasuredFlowRateOverride( U32 sensorId, F32 flowLPM ) +BOOL testSetMeasuredFlowRateOverride( U32 sensorId, F32 flowLPM, BOOL raw ) { BOOL result = FALSE; if ( sensorId < NUM_OF_FLOW_SENSORS ) { if ( TRUE == isTestingActivated() ) { - flowSensorStatus[ sensorId ].measuredFlowLPM.ovInitData = flowSensorStatus[ sensorId ].measuredFlowLPM.data; - flowSensorStatus[ sensorId ].measuredFlowLPM.ovData = flowLPM; - flowSensorStatus[ sensorId ].measuredFlowLPM.override = OVERRIDE_KEY; - result = TRUE; + if ( TRUE == raw ) + { + flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.ovInitData = flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.data; + flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.ovData = flowLPM; + flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.override = OVERRIDE_KEY; + result = TRUE; + } + else + { + flowSensorStatus[ sensorId ].measuredFlowLPM.ovInitData = flowSensorStatus[ sensorId ].measuredFlowLPM.data; + flowSensorStatus[ sensorId ].measuredFlowLPM.ovData = flowLPM; + flowSensorStatus[ sensorId ].measuredFlowLPM.override = OVERRIDE_KEY; + result = TRUE; + } } } @@ -373,6 +384,12 @@ flowSensorStatus[ sensorId ].measuredFlowLPM.override = OVERRIDE_RESET; flowSensorStatus[ sensorId ].measuredFlowLPM.ovInitData = 0.0F; flowSensorStatus[ sensorId ].measuredFlowLPM.ovData = 0.0F; + + flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.data = flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.ovInitData; + flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.override = OVERRIDE_RESET; + flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.ovInitData = 0.0F; + flowSensorStatus[ sensorId ].measuredFlowBeforeCalLPM.ovData = 0.0F; + result = TRUE; } }