Index: firmware/App/Controllers/Pressures.c =================================================================== diff -u -r1450a360a3a6067b52cea21169c09ff31274024a -r939e488d71ae8511cba65e4a27e31660259e06ac --- firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 1450a360a3a6067b52cea21169c09ff31274024a) +++ firmware/App/Controllers/Pressures.c (.../Pressures.c) (revision 939e488d71ae8511cba65e4a27e31660259e06ac) @@ -211,7 +211,7 @@ // TODO define the PRS checkPersistentAlarm( ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_HIGH, isPressureTooHigh, pressure, MAX_INLET_WATER_PRESSURE_WARNING_HIGH_PSIG ); // TODO define the PRS - checkPersistentAlarm( ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_LOW, isPressureTooLow, pressure, MAX_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); + checkPersistentAlarm( ALARM_ID_DG_CLEANING_MODE_INLET_WATER_PRESSURE_TOO_LOW, isPressureTooLow, pressure, MIN_INLET_WATER_PRESSURE_WARNING_LOW_PSIG ); } break; Index: firmware/App/Modes/ModeChemicalDisinfect.c =================================================================== diff -u -r4dc00d3bb62964e1d93782af96185f55b7eba30e -r939e488d71ae8511cba65e4a27e31660259e06ac --- firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 4dc00d3bb62964e1d93782af96185f55b7eba30e) +++ firmware/App/Modes/ModeChemicalDisinfect.c (.../ModeChemicalDisinfect.c) (revision 939e488d71ae8511cba65e4a27e31660259e06ac) @@ -1818,6 +1818,7 @@ case NELSON_NONE: default: + // Do nothing for these cases. break; } } Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -r4dc00d3bb62964e1d93782af96185f55b7eba30e -r939e488d71ae8511cba65e4a27e31660259e06ac --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision 4dc00d3bb62964e1d93782af96185f55b7eba30e) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision 939e488d71ae8511cba65e4a27e31660259e06ac) @@ -110,6 +110,12 @@ #define MIX_DRAIN_WEIGHT_UNCHANGE_TIMEOUT ( 15 * MS_PER_SECOND ) ///< Time period of unchanged weight during mix draining before timeout. #define MIX_DRAIN_TEMPERATURE_THRESHOLD_C 60.0F ///< Temperature threshold for performing mix drain or normal drain. +#ifndef _RELEASE_ +#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. +#endif + /// Cancellation paths typedef enum Cancellation_modes { @@ -2008,66 +2014,58 @@ *************************************************************************/ static void setNelsonSupportConditions( void ) { - // The target temperature is set to low so the heater will turn on but it will not heat because - // we are very close to the target. Set the stop temperature to a temperature lower by a couple degrees - // make sure the timer will continuously count against the disinfection time to inoculate. - // NOTE: this is not part of the commercial code so no #defines - F32 temperature = 6.0F; - F32 stopTemperature = temperature - 5.0F; - U32 disinfectTime = 2 * MIN_PER_HOUR * SEC_PER_MIN * MS_PER_SECOND; + concPumpsStartTemperatureC = NELSON_SUPPORT_TARGET_TEMP_C; - concPumpsStartTemperatureC = temperature; - switch ( nelsonSupport ) { case NELSON_INOCULATE: - timeStatus[ RO_AT_77_C ].startTempC = temperature; + timeStatus[ RO_AT_77_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RO_AT_77_C ].startTimeMS = 0; - timeStatus[ RO_AT_77_C ].stopTempC = stopTemperature; + 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 ].tempSensor = TEMPSENSORS_HEAT_DISINFECT; - timeStatus[ RO_AT_82_C ].startTempC = temperature; + timeStatus[ RO_AT_82_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RO_AT_82_C ].startTimeMS = 0; - timeStatus[ RO_AT_82_C ].stopTempC = stopTemperature; + 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 ].tempSensor = TEMPSENSORS_HEAT_DISINFECT; - timeStatus[ RSRVR_AT_77_C ].startTempC = temperature; + timeStatus[ RSRVR_AT_77_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RSRVR_AT_77_C ].startTimeMS = 0; - timeStatus[ RSRVR_AT_77_C ].stopTempC = stopTemperature; - timeStatus[ RSRVR_AT_77_C ].targetTimeMS = disinfectTime; + timeStatus[ RSRVR_AT_77_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; + timeStatus[ RSRVR_AT_77_C ].targetTimeMS = NELSON_SUPPORT_DISINFECT_TIME_MS; timeStatus[ RSRVR_AT_77_C ].tempSensor = TEMPSENSORS_INLET_DIALYSATE; - timeStatus[ RSRVR_AT_82_C ].startTempC = temperature; + timeStatus[ RSRVR_AT_82_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RSRVR_AT_82_C ].startTimeMS = 0; - timeStatus[ RSRVR_AT_82_C ].stopTempC = stopTemperature; - timeStatus[ RSRVR_AT_82_C ].targetTimeMS = disinfectTime; + 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 ].tempSensor = TEMPSENSORS_INLET_DIALYSATE; break; case NELSON_POS_CONTROL_HEAT_DISINFECT: - timeStatus[ RO_AT_77_C ].startTempC = temperature; + timeStatus[ RO_AT_77_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RO_AT_77_C ].startTimeMS = 0; - timeStatus[ RO_AT_77_C ].stopTempC = stopTemperature; - timeStatus[ RO_AT_77_C ].targetTimeMS = disinfectTime; + timeStatus[ RO_AT_77_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; + timeStatus[ RO_AT_77_C ].targetTimeMS = NELSON_SUPPORT_DISINFECT_TIME_MS; timeStatus[ RO_AT_77_C ].tempSensor = TEMPSENSORS_HEAT_DISINFECT; - timeStatus[ RO_AT_82_C ].startTempC = temperature; + timeStatus[ RO_AT_82_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RO_AT_82_C ].startTimeMS = 0; - timeStatus[ RO_AT_82_C ].stopTempC = stopTemperature; - timeStatus[ RO_AT_82_C ].targetTimeMS = disinfectTime; + timeStatus[ RO_AT_82_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; + timeStatus[ RO_AT_82_C ].targetTimeMS = NELSON_SUPPORT_DISINFECT_TIME_MS; timeStatus[ RO_AT_82_C ].tempSensor = TEMPSENSORS_HEAT_DISINFECT; - timeStatus[ RSRVR_AT_77_C ].startTempC = temperature; + timeStatus[ RSRVR_AT_77_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RSRVR_AT_77_C ].startTimeMS = 0; - timeStatus[ RSRVR_AT_77_C ].stopTempC = stopTemperature; + timeStatus[ RSRVR_AT_77_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; 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 = temperature; + timeStatus[ RSRVR_AT_82_C ].startTempC = NELSON_SUPPORT_TARGET_TEMP_C; timeStatus[ RSRVR_AT_82_C ].startTimeMS = 0; - timeStatus[ RSRVR_AT_82_C ].stopTempC = stopTemperature; + timeStatus[ RSRVR_AT_82_C ].stopTempC = NELSON_SUPPORT_STOP_TEMP_C; timeStatus[ RSRVR_AT_82_C ].targetTimeMS = HEAT_DISINFECT_AT_82_C_TIME_MS; timeStatus[ RSRVR_AT_82_C ].tempSensor = TEMPSENSORS_INLET_DIALYSATE; setValveState( VPI, VALVE_STATE_CLOSED );