Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -r250f7f30b65a740ae957606f144437aee050a4f1 -r4b208641ed0c22d13211e6343ffaec9778560cc5 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 250f7f30b65a740ae957606f144437aee050a4f1) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 4b208641ed0c22d13211e6343ffaec9778560cc5) @@ -140,6 +140,7 @@ static U32 flowFilterCounter = 0; ///< Flow filtering counter. static DG_FLOW_SENSORS_CAL_RECORD_T flowSensorsCalRecord; ///< Flow sensors calibration record. static DG_RO_PUMP_CAL_RECORD_T roPumpCalRecord; ///< RO pump calibration record. +static F32 rawFlowLP; ///< Raw flow rate without subtracting the CP1 and CP2 in L/min. // ********** private function prototypes ********** @@ -160,7 +161,7 @@ * @details Inputs: roControlTimerCounter,roPumpOpenLoopTargetDutyCycle, * roPumpFlowRateRunningSum, roPumpPressureRunningSum, measuredFlowReadingsSum, * flowFilterCounter, flowVerificationCounter, roPumpState, roPumpControlMode - * roPumpDataPublicationTimerCounter + * roPumpDataPublicationTimerCounter, rawFlowLP * @details Outputs: none * @return none *************************************************************************/ @@ -197,6 +198,7 @@ roPumpControlMode = NUM_OF_PUMP_CONTROL_MODES; isROPumpOn = FALSE; roPumpFeedbackDutyCyclePct = 0.0; + rawFlowLP = 0.0; } /*********************************************************************//** @@ -363,6 +365,7 @@ flow * flowSensorsCalRecord.flowSensors[ CAL_DATA_RO_PUMP_FLOW_SENSOR ].gain + flowSensorsCalRecord.flowSensors[ CAL_DATA_RO_PUMP_FLOW_SENSOR ].offset; + rawFlowLP = flow; measuredROFlowRateLPM.data = flow - ( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP1_ACID ) / ML_PER_LITER ) - ( getMeasuredPumpSpeed( CONCENTRATEPUMPS_CP2_BICARB ) / ML_PER_LITER ); @@ -805,12 +808,13 @@ { RO_PUMP_DATA_T pumpData; - pumpData.roPumpTgtFlowRate = getTargetROPumpFlowRate(); - pumpData.roPumpTgtPressure = getTargetROPumpPressure(); - pumpData.measROFlowRate = getMeasuredROFlowRateLPM(); - pumpData.roPumpDutyCycle = roPumpDutyCyclePctSet * FRACTION_TO_PERCENT_FACTOR; - pumpData.roPumpState = (U32)roPumpState; - pumpData.roPumpFBDutyCycle = roPumpFeedbackDutyCyclePct * FRACTION_TO_PERCENT_FACTOR; + pumpData.roPumpTgtFlowRateLM = getTargetROPumpFlowRate(); + pumpData.roPumpTgtPressure = getTargetROPumpPressure(); + pumpData.measROFlowRate = getMeasuredROFlowRateLPM(); + pumpData.roPumpDutyCycle = roPumpDutyCyclePctSet * FRACTION_TO_PERCENT_FACTOR; + pumpData.roPumpState = (U32)roPumpState; + pumpData.roPumpFBDutyCycle = roPumpFeedbackDutyCyclePct * FRACTION_TO_PERCENT_FACTOR; + pumpData.roPumpRawFlowRateMLP = rawFlowLP * ML_PER_LITER; broadcastData( MSG_ID_RO_PUMP_DATA, COMM_BUFFER_OUT_CAN_DG_BROADCAST, (U08*)&pumpData, sizeof( RO_PUMP_DATA_T ) );