Index: firmware/App/Modes/ModeHeatDisinfect.c =================================================================== diff -u -re0265b8fad80add7a5d54db11ecc72fd6b1665a8 -r9d5edd5658227136b3242bec69e9417107deab10 --- firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision e0265b8fad80add7a5d54db11ecc72fd6b1665a8) +++ firmware/App/Modes/ModeHeatDisinfect.c (.../ModeHeatDisinfect.c) (revision 9d5edd5658227136b3242bec69e9417107deab10) @@ -143,6 +143,9 @@ static DG_HEAT_DISINFECT_STATE_T handleHeatDisinfectRinseR1ToR2( void ); static DG_HEAT_DISINFECT_STATE_T handleHeatDisinfectRinseR2ToR1AndDrainR1State( void ); static DG_HEAT_DISINFECT_STATE_T handleHeatDisinfectRinseCirculationState( void ); +static DG_HEAT_DISINFECT_STATE_T handleHeatDisinfectCancelModeBasicPath( void ); +static DG_HEAT_DISINFECT_STATE_T handleHeatDisinfectCancelModeColdWaterPath( void ); +static DG_HEAT_DISINFECT_STATE_T handleHeatDisinfectCancelModeHotWaterPath( void ); static void resetActuators( void ); static void setModeToFailed( DG_HEAT_DISINFECT_STATE_T state ); @@ -276,6 +279,15 @@ heatDisinfectState = handleHeatDisinfectRinseCirculationState(); break; + case DG_HEAT_DISINFECT_STATE_CANCEL_MODE_BASIC_PATH: + break; + + case DG_HEAT_DISINFECT_STATE_CANCEL_MODE_COLD_WATER_PATH: + break; + + case DG_HEAT_DISINFECT_STATE_CANCEL_MODE_HOT_WATER_PATH: + break; + case DG_HEAT_DISINFECT_STATE_COMPLETE: // Done with heat disinfect cycle, complete or not break; @@ -1082,24 +1094,16 @@ /*********************************************************************//** * @brief * The setModeToFailed function sets the heat disinfect mode to failed - * by changing the state to complete and calling another function to set - * the actuators to reset state. - * @details Inputs: stateTrialCounter, stateTimer, areTempSensorsInRange, - * heatDisinfectState TODO add more variables if needed - * @details Outputs: none + * by changing the state to complete. + * @details Inputs: heatDisinfectState + * @details Outputs: heatDisinfectState + * @param failedStated which is the state heat disinfect mode failed * @return none *************************************************************************/ static void setModeToFailed( DG_HEAT_DISINFECT_STATE_T failedState ) { - // Reset all the variables - stateTrialCounter = 0; - stateTimer = 0; - areTempSensorsInRange = FALSE; - heatDisinfectState = DG_HEAT_DISINFECT_STATE_COMPLETE; + heatDisinfectState = DG_HEAT_DISINFECT_STATE_COMPLETE; - // Reset the actuators before alarming - resetActuators(); - SET_ALARM_WITH_1_U32_DATA( ALARM_ID_DG_HEAT_DISINFECT_CYCLE_FAILED, failedState ) } @@ -1127,7 +1131,7 @@ } else if ( r == R2 ) { - volume = getLoadCellFilteredWeight( LOAD_CELL_A2 ); + volume = getLoadCellFilteredWeight( LOAD_CELL_B1 ); } // Check the volume of the reservoir against the target volume @@ -1168,7 +1172,7 @@ } else if ( r == R2 ) { - volume = getLoadCellFilteredWeight( LOAD_CELL_A2 ); + volume = getLoadCellFilteredWeight( LOAD_CELL_B1 ); } if ( volume < RSRVRS_EMPTY_VOL_ML ) @@ -1274,7 +1278,7 @@ MODE_HEAT_DISINFECT_DATA_T data; data.heatDisinfectState = (U32)heatDisinfectState; - // Get the time elapsed so far and convert them to minutes + // Get the time elapsed so far and convert them to minutes TODO remove the timings? data.overallElapsedTime = calcTimeSince( overallHeatDisinfectTimer ) / ( 60 * MS_PER_SECOND ); data.heatDisinfectElapsedTime = calcTimeSince( stateTimer ) / ( 60 * MS_PER_SECOND );