Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -r85339f0aa398217143fa3178a05ad5d6c6374bb8 -ra3916397312e1dc73efe99d6b3569b7387a9419b --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision 85339f0aa398217143fa3178a05ad5d6c6374bb8) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision a3916397312e1dc73efe99d6b3569b7387a9419b) @@ -114,6 +114,7 @@ #define NELSON_SUPPORT_TARGET_TEMP_C 6.0F // Nelson support heat disinfect target temperature in C. #define NELSON_SUPPORT_STOP_TEMP_C ( NELSON_SUPPORT_TARGET_TEMP_C - 5.0F ) // Nelson support heat disinfect stop temperature in C. #define NELSON_SUPPORT_DISINFECT_TIME_MS ( 2 * MIN_PER_HOUR * SEC_PER_MIN * MS_PER_SECOND ) // Nelson support heat disinfect time in milliseconds. +#define NELSON_SUPPORT_INOCULATE_TIME_MS ( 30 * SEC_PER_MIN * MS_PER_SECOND ) // Nelson support inoculate time in milliseconds. #endif /// Cancellation paths @@ -1251,22 +1252,31 @@ break; case HEAT_DISINFECT_COMPLETE: - if ( TRUE == isRODisinfectDone ) { - requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, NO_PARK_CONC_PUMPS ); - requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, NO_PARK_CONC_PUMPS ); - stopHeater( DG_PRIMARY_HEATER ); - stopHeater( DG_TRIMMER_HEATER ); +#ifndef _RELEASE_ + if ( ( NELSON_HEAT_DISINFECT == nelsonSupport ) || ( NELSON_POS_CONTROL_HEAT_DISINFECT == nelsonSupport ) ) + { + deenergizeActuators( NO_PARK_CONC_PUMPS ); + state = DG_HEAT_DISINFECT_STATE_COMPLETE; + } + else +#endif + { + requestConcentratePumpOff( CONCENTRATEPUMPS_CP1_ACID, NO_PARK_CONC_PUMPS ); + requestConcentratePumpOff( CONCENTRATEPUMPS_CP2_BICARB, NO_PARK_CONC_PUMPS ); + stopHeater( DG_PRIMARY_HEATER ); + stopHeater( DG_TRIMMER_HEATER ); - timeStatus[ RSRVR_AT_77_C ].startTimeMS = 0; - timeStatus[ RSRVR_AT_82_C ].startTimeMS = 0; - timeStatus[ RO_AT_77_C ].startTimeMS = 0; - timeStatus[ RO_AT_82_C ].startTimeMS = 0; - rsrvr1RefVolML = 0.0F; - rsrvr2RefVolML = 0.0F; - stateTimer = getMSTimerCount(); - state = DG_HEAT_DISINFECT_STATE_COOL_DOWN_HEATERS; + timeStatus[ RSRVR_AT_77_C ].startTimeMS = 0; + timeStatus[ RSRVR_AT_82_C ].startTimeMS = 0; + timeStatus[ RO_AT_77_C ].startTimeMS = 0; + timeStatus[ RO_AT_82_C ].startTimeMS = 0; + rsrvr1RefVolML = 0.0F; + rsrvr2RefVolML = 0.0F; + stateTimer = getMSTimerCount(); + state = DG_HEAT_DISINFECT_STATE_COOL_DOWN_HEATERS; + } } #ifndef _RELEASE_ if ( NELSON_INOCULATE == nelsonSupport ) @@ -1288,11 +1298,6 @@ rsrvr2RefVolML = 0.0F; state = DG_NELSON_HEAT_DISINFECT_STATE_FILL_R1_WITH_WATER; } - else if ( ( NELSON_HEAT_DISINFECT == nelsonSupport ) || ( NELSON_POS_CONTROL_HEAT_DISINFECT == nelsonSupport ) ) - { - deenergizeActuators( PARK_CONC_PUMPS ); - state = DG_HEAT_DISINFECT_STATE_COMPLETE; - } #endif break; @@ -1629,7 +1634,7 @@ static DG_RESERVOIR_STATUS_T getRsrvrFillStatus( DG_RESERVOIR_ID_T reservoir, F32 targetVol, U32 timeout ) { DG_RESERVOIR_STATUS_T status = DG_RESERVOIR_BELOW_TARGET; - F32 volume = 0.0; + F32 volume = 0.0F; if ( DG_RESERVOIR_1 == reservoir ) { @@ -2023,25 +2028,26 @@ timeStatus[ RO_AT_77_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RO_AT_77_C ].startTimeMS = 0; timeStatus[ RO_AT_77_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; - timeStatus[ RO_AT_77_C ].targetTimeMS = HEAT_DISINFECT_AT_77_C_TIME_MS; + timeStatus[ RO_AT_77_C ].targetTimeMS = NELSON_SUPPORT_INOCULATE_TIME_MS; timeStatus[ RO_AT_77_C ].tempSensor = TEMPSENSORS_HEAT_DISINFECT; timeStatus[ RO_AT_82_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RO_AT_82_C ].startTimeMS = 0; timeStatus[ RO_AT_82_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; - timeStatus[ RO_AT_82_C ].targetTimeMS = HEAT_DISINFECT_AT_82_C_TIME_MS; + timeStatus[ RO_AT_82_C ].targetTimeMS = NELSON_SUPPORT_INOCULATE_TIME_MS; timeStatus[ RO_AT_82_C ].tempSensor = TEMPSENSORS_HEAT_DISINFECT; timeStatus[ RSRVR_AT_77_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RSRVR_AT_77_C ].startTimeMS = 0; timeStatus[ RSRVR_AT_77_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; - timeStatus[ RSRVR_AT_77_C ].targetTimeMS = NELSON_SUPPORT_DISINFECT_TIME_MS; + // Set 82 C time to be the shorter time since the entire inoculation time should be 30 mins but the 77 C is 32 minutes + timeStatus[ RSRVR_AT_77_C ].targetTimeMS = HEAT_DISINFECT_AT_82_C_TIME_MS; timeStatus[ RSRVR_AT_77_C ].tempSensor = TEMPSENSORS_INLET_DIALYSATE; timeStatus[ RSRVR_AT_82_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RSRVR_AT_82_C ].startTimeMS = 0; timeStatus[ RSRVR_AT_82_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; - timeStatus[ RSRVR_AT_82_C ].targetTimeMS = NELSON_SUPPORT_DISINFECT_TIME_MS; + timeStatus[ RSRVR_AT_82_C ].targetTimeMS = HEAT_DISINFECT_AT_82_C_TIME_MS; timeStatus[ RSRVR_AT_82_C ].tempSensor = TEMPSENSORS_INLET_DIALYSATE; break; @@ -2142,7 +2148,7 @@ if ( DG_RESERVOIR_REACHED_TARGET == rsrvr1Status ) { - deenergizeActuators( PARK_CONC_PUMPS ); + deenergizeActuators( NO_PARK_CONC_PUMPS ); state = DG_HEAT_DISINFECT_STATE_COMPLETE; } else if ( DG_RESERVOIR_NOT_REACHED_TARGET == rsrvr1Status )