Index: firmware/App/Controllers/DrainPump.c =================================================================== diff -u -r1538c71d0c6b97469d599befce15f068d9acf5d4 -r8f95cb0d5ca434bdaf3e157e399e017d12212d3d --- firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 1538c71d0c6b97469d599befce15f068d9acf5d4) +++ firmware/App/Controllers/DrainPump.c (.../DrainPump.c) (revision 8f95cb0d5ca434bdaf3e157e399e017d12212d3d) @@ -307,8 +307,6 @@ resetPIController( PI_CONTROLLER_ID_DRAIN_PUMP, DRAIN_PUMP_MIN_DAC ); - // Set the drain to the DAC value of minimum RPM - drainPumpDAC = DRAIN_PUMP_MIN_DAC; // set drain pump DAC drainPumpDACSet = drainPumpDAC; setFPGADrainPumpSpeed( drainPumpDACSet ); Index: firmware/App/DGCommon.h =================================================================== diff -u -raa36ab1ed13d099286cedcbd066f7dce11146d13 -r8f95cb0d5ca434bdaf3e157e399e017d12212d3d --- firmware/App/DGCommon.h (.../DGCommon.h) (revision aa36ab1ed13d099286cedcbd066f7dce11146d13) +++ firmware/App/DGCommon.h (.../DGCommon.h) (revision 8f95cb0d5ca434bdaf3e157e399e017d12212d3d) @@ -36,14 +36,11 @@ // #define TASK_TIMING_OUTPUT_ENABLED 1 // re-purposes drain pump enable pin for task timing // #define DISABLE_HEATERS_AND_TEMPS 1 -// #define ENABLE_DIP_SWITCHES 1 #define EMC_TEST_BUILD 1 -// #define ALARMS_DEBUG 1 // #define DISABLE_ACCELS 1 #define SKIP_POST 1 //#define ENABLE_DIP_SWITCHES 1 - //#define EMC_TEST_BUILD 1 #define ALARMS_DEBUG 1 // #define HEATERS_DEBUG 1 // #define PRESSURES_DEBUG 1 Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -raa36ab1ed13d099286cedcbd066f7dce11146d13 -r8f95cb0d5ca434bdaf3e157e399e017d12212d3d --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision aa36ab1ed13d099286cedcbd066f7dce11146d13) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 8f95cb0d5ca434bdaf3e157e399e017d12212d3d) @@ -228,17 +228,23 @@ /*********************************************************************//** * @brief * The startDGHeatDisinfect function starts heat disinfect mode. - * @details - * Inputs: none - * Outputs: none + * @ details Inputs: standbyState + * @ details Outputs: none * @return: TRUE if the switch was successful *************************************************************************/ BOOL startDGHeatDisinfect( void ) { - // TODO: make sure DG is not in the middle of something and it is in standby - requestNewOperationMode( DG_MODE_HEAT ); + BOOL result = FALSE; - return TRUE; // TODO Check whether it is the right request before switching + // If DG is in standby mode and the standby mode is in Idle state, request DG heat disinfection + if ( DG_MODE_STAN == getCurrentOperationMode() && DG_STANDBY_MODE_STATE_IDLE == standbyState ) + { + requestNewOperationMode( DG_MODE_HEAT ); + + result = TRUE; + } + + return result; } /*********************************************************************//**