Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -re5c9e31c2644c7f0ca17ba81767a8ed19b99cebf -rf5b02f03b6695c0c76fd8a4d902a13114e1a8aca --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision e5c9e31c2644c7f0ca17ba81767a8ed19b99cebf) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision f5b02f03b6695c0c76fd8a4d902a13114e1a8aca) @@ -27,21 +27,13 @@ #define TARGET_DRAIN_PUMP_RPM 2000 ///< Target drain pump speed. -/// Enumeration of drain mode states. -typedef enum Drain_States -{ - DRAIN_STATE_START = 0, ///< Start drain mode state. - DRAIN_STATE_DRAIN, ///< Drain drain mode state. - NUM_OF_DRAIN_STATES ///< Number of drain mode states. -} DRAIN_STATE_T; - // ********** private data ********** -static DRAIN_STATE_T drainState = DRAIN_STATE_START; ///< Currently active drain state. +static DG_DRAIN_STATE_T drainState = DG_DRAIN_STATE_START; ///< Currently active drain state. // ********** private function prototypes ********** -static DRAIN_STATE_T handleDrainState( void ); +static DG_DRAIN_STATE_T handleDrainState( void ); /*********************************************************************//** * @brief @@ -53,7 +45,7 @@ *************************************************************************/ void initDrainMode( void ) { - drainState = DRAIN_STATE_START; + drainState = DG_DRAIN_STATE_START; } /*********************************************************************//** @@ -80,27 +72,29 @@ * @details * Inputs : none * Outputs : - * @return none + * @return current state. *************************************************************************/ -void execDrainMode( void ) +U32 execDrainMode( void ) { // execute current drain state switch ( drainState ) { - case DRAIN_STATE_START: + case DG_DRAIN_STATE_START: setDrainPumpTargetSpeed( TARGET_DRAIN_PUMP_RPM ); - drainState = DRAIN_STATE_DRAIN; + drainState = DG_DRAIN_STATE_DRAIN; break; - case DRAIN_STATE_DRAIN: + case DG_DRAIN_STATE_DRAIN: drainState = handleDrainState(); break; default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_SOFTWARE_FAULT, 0, drainState ) // TODO - add s/w fault enum to 1st data param - drainState = DRAIN_STATE_START; + drainState = DG_DRAIN_STATE_START; break; } + + return drainState; } /*********************************************************************//** @@ -112,11 +106,25 @@ * Outputs : * @return the next state *************************************************************************/ -static DRAIN_STATE_T handleDrainState( void ) +static DG_DRAIN_STATE_T handleDrainState( void ) { - DRAIN_STATE_T result = DRAIN_STATE_DRAIN; + DG_DRAIN_STATE_T result = DG_DRAIN_STATE_DRAIN; return result; } +/*********************************************************************//** + * @brief + * The getCurrentDrainState function returns the current state of the \n + * drain mode. + * @details + * Inputs : drainState + * Outputs : none + * @return the current state of drain mode. + *************************************************************************/ +DG_DRAIN_STATE_T getCurrentDrainState( void ) +{ + return drainState; +} + /**@}*/