Index: firmware/App/Controllers/ROPump.c =================================================================== diff -u -rdaf8d5b60c753becab80cbaf164aac0e49d533a2 -r82d72d52bc2b2836ba8195f3d43b111e877bcd61 --- firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision daf8d5b60c753becab80cbaf164aac0e49d533a2) +++ firmware/App/Controllers/ROPump.c (.../ROPump.c) (revision 82d72d52bc2b2836ba8195f3d43b111e877bcd61) @@ -422,7 +422,7 @@ roPumpPWMDutyCyclePctSet = newPWM; setROPumpControlSignalPWM( newPWM ); } - else if ( fabs( actualFlowRate - targetFlowRate ) <= ROP_FLOW_TARGET_TOLERANCE ) + else { result = RO_PUMP_VERIFY_FLOW_STATE; } Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -rdaf8d5b60c753becab80cbaf164aac0e49d533a2 -r82d72d52bc2b2836ba8195f3d43b111e877bcd61 --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision daf8d5b60c753becab80cbaf164aac0e49d533a2) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision 82d72d52bc2b2836ba8195f3d43b111e877bcd61) @@ -507,7 +507,7 @@ setDrainPumpTargetDeltaPressure( DRAIN_PUMP_TARGET_DELTA_PRESSURE ); setROPumpTargetFlowRate( RO_PUMP_TARGET_FLOW_RATE_LPM ); - if ( ++heatDisinfectCurrentCycle >= getNoOfCyclesToRun() ) + if ( ++heatDisinfectCurrentCycle > getNoOfCyclesToRun() ) { drainPumpTargetRPM = DRAIN_PUMP_DISINFECT_DRAIN_PATH_TARGET_RPM; heatDisinfectInternalState = INTERNAL_HEAT_DISINFECT_STATE_OFF; Index: firmware/App/Services/AlarmMgmt.h =================================================================== diff -u -r8f5feed92f41a476d5656038bcdfe884e17bd593 -r82d72d52bc2b2836ba8195f3d43b111e877bcd61 --- firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 8f5feed92f41a476d5656038bcdfe884e17bd593) +++ firmware/App/Services/AlarmMgmt.h (.../AlarmMgmt.h) (revision 82d72d52bc2b2836ba8195f3d43b111e877bcd61) @@ -136,7 +136,14 @@ SW_FAULT_ID_CAN_PASSIVE_WARNING, SW_FAULT_ID_CAN_OFF_ERROR, SW_FAULT_ID_FPGA_UART_FRAME_ERROR, - SW_FAULT_ID_FPGA_UART_OVERRUN_ERROR, + SW_FAULT_ID_FPGA_UART_OVERRUN_ERROR, + SW_FAULT_ID_UTIL_TIME_WINDOWED_COUNT_ERROR, + SW_FAULT_ID_ACCEL_INVALID_STATE, + SW_FAULT_ID_ACCEL_GET_INVALID_AXIS, + SW_FAULT_ID_ACCEL_GET_MAX_INVALID_AXIS, // 50 + SW_FAULT_ID_ACCEL_INVALID_SELF_TEST_STATE, + SW_FAULT_ID_UTIL_INVALID_WIN_COUNT, + SW_FAULT_ID_UTIL_INVALID_WIN_MAX_COUNT, NUM_OF_SW_FAULT_IDS } SW_FAULT_ID_T;