Index: firmware/App/Controllers/Fans.c =================================================================== diff -u -r02654dc5b372b3af948ebd28aabb95cc4b51c785 -r4b208641ed0c22d13211e6343ffaec9778560cc5 --- firmware/App/Controllers/Fans.c (.../Fans.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) +++ firmware/App/Controllers/Fans.c (.../Fans.c) (revision 4b208641ed0c22d13211e6343ffaec9778560cc5) @@ -57,7 +57,7 @@ #define FANS_MIN_ALLOWED_RPM 150 ///< Fans max allowed RPM value. #define FANS_MIN_RPM_OUT_OF_RANGE_TOL 0.25 ///< Fans min RPM out of range tolerance. #define FANS_MAX_RPM_OUT_OF_RANGE_TOL 0.5 ///< Fans max RPM out of range tolerance. -#define DATA_PUBLISH_COUNTER_START_COUNT 4 ///< Data publish counter start count. +#define DATA_PUBLISH_COUNTER_START_COUNT 4 ///< Data publish counter start count. /// Fans exec states typedef enum fans_Exec_States Index: firmware/App/Controllers/Heaters.c =================================================================== diff -u -r02654dc5b372b3af948ebd28aabb95cc4b51c785 -r4b208641ed0c22d13211e6343ffaec9778560cc5 --- firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 02654dc5b372b3af948ebd28aabb95cc4b51c785) +++ firmware/App/Controllers/Heaters.c (.../Heaters.c) (revision 4b208641ed0c22d13211e6343ffaec9778560cc5) @@ -397,9 +397,9 @@ } } } -#endif monitorHeatersVoltage(); +#endif // Check for data publication publishHeatersData(); 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 ) ); Index: firmware/App/Controllers/ROPump.h =================================================================== diff -u -rcc8b9ddb9905161ddb0dc2af6bfbf863408669c8 -r4b208641ed0c22d13211e6343ffaec9778560cc5 --- firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision cc8b9ddb9905161ddb0dc2af6bfbf863408669c8) +++ firmware/App/Controllers/ROPump.h (.../ROPump.h) (revision 4b208641ed0c22d13211e6343ffaec9778560cc5) @@ -41,8 +41,9 @@ F32 measROFlowRate; ///< RO flow rate measurement. F32 roPumpDutyCycle; ///< RO pump duty cycle. U32 roPumpState; ///< RO pump current state. - F32 roPumpTgtFlowRate; ///< RO pump target flow rate. + F32 roPumpTgtFlowRateLM; ///< RO pump target flow rate in L/min F32 roPumpFBDutyCycle; ///< RO pump feedback duty cycle. + F32 roPumpRawFlowRateMLP; ///< RO pump raw flow rate in mL/min. } RO_PUMP_DATA_T; // ********** public function prototypes ********** Index: firmware/App/DGCommon.h =================================================================== diff -u -r609d5c77e1f5bd85e9dd1a90b786e56004a79f06 -r4b208641ed0c22d13211e6343ffaec9778560cc5 --- firmware/App/DGCommon.h (.../DGCommon.h) (revision 609d5c77e1f5bd85e9dd1a90b786e56004a79f06) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision 4b208641ed0c22d13211e6343ffaec9778560cc5) @@ -45,7 +45,7 @@ // #define PRESSURES_DEBUG 1 // Not needed // #define IGNORE_DRAIN_PUMP_MONITOR 1 // Build switch #define IGNORE_HEATERS_MONITOR 1 // Build switch -// #define IGNORE_RO_PUMP_MONITOR 1 // Build switch + #define IGNORE_RO_PUMP_MONITOR 1 // Build switch #define DISABLE_RO_RATIO_CHECK 1 // Implement #define DISABLE_COND_SENSOR_CHECK 1 // Disabled for Tom // Implement #define DISABLE_WATER_QUALITY_CHECK 1 // Disabled for Tom // Implement Index: firmware/App/Services/Reservoirs.c =================================================================== diff -u -r9490539a39d2bfd8d40558f3c05b09b48f041e6c -r4b208641ed0c22d13211e6343ffaec9778560cc5 --- firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 9490539a39d2bfd8d40558f3c05b09b48f041e6c) +++ firmware/App/Services/Reservoirs.c (.../Reservoirs.c) (revision 4b208641ed0c22d13211e6343ffaec9778560cc5) @@ -689,7 +689,8 @@ { reservoirWeightUnchangeStartTime[ reservoirId ] = 0; } - else if ( ( TRUE == didTimeout( reservoirWeightUnchangeStartTime[ reservoirId ], timeout ) && + // TODO make a #define if the extra 1000 ms worked + else if ( ( TRUE == didTimeout( reservoirWeightUnchangeStartTime[ reservoirId ], timeout + 1000 ) && ( getMeasuredDGPressure( PRESSURE_SENSOR_DRAIN_PUMP_INLET ) > MIN_DRAIN_INLET_PSI_EMPTY ) ) ) { result = TRUE;