Index: firmware/App/Modes/ModeStandby.c =================================================================== diff -u -r24fd1893101af40cc6736aacaa20382875c80bf1 -r86eec09ab556fbd970ddcae9dc622727928ee757 --- firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 24fd1893101af40cc6736aacaa20382875c80bf1) +++ firmware/App/Modes/ModeStandby.c (.../ModeStandby.c) (revision 86eec09ab556fbd970ddcae9dc622727928ee757) @@ -396,7 +396,6 @@ ( DG_MODE_SOLO == getCurrentOperationMode() ) ) { requestNewOperationMode( DG_MODE_HEAT ); - status = TRUE; } @@ -405,6 +404,26 @@ /*********************************************************************//** * @brief + * The startDGChemicalDisinfect function starts chemical disinfect mode. + * @details Inputs: standbyState + * @details Outputs: none + * @return: TRUE if the switch was successful + *************************************************************************/ +BOOL startDGChemicalDisinfect( void ) +{ + BOOL status = FALSE; + + // If DG is in standby mode and the standby mode is in Idle, request chemical disinfect + // Chemical disinfect cannot be run in solo mode because the user has to confirm that the acid is inserted or removed + if ( ( DG_MODE_STAN == getCurrentOperationMode() ) && ( DG_STANDBY_MODE_STATE_IDLE == standbyState ) ) + { + requestNewOperationMode( DG_MODE_CHEM ); + status = TRUE; + } +} + +/*********************************************************************//** + * @brief * The getCurrentStandbyState function returns the current state of standby mode. * @details Inputs: standbyState * @details Outputs: none