Index: firmware/App/Modes/ModeFill.c =================================================================== diff -u -r69a52d3eafb8667fa3163949107a9351b8eb855a -rf5b02f03b6695c0c76fd8a4d902a13114e1a8aca --- firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision 69a52d3eafb8667fa3163949107a9351b8eb855a) +++ firmware/App/Modes/ModeFill.c (.../ModeFill.c) (revision f5b02f03b6695c0c76fd8a4d902a13114e1a8aca) @@ -29,23 +29,14 @@ #define QUARTER_SECOND 250 #define HALF_SECOND 500 -/// Enumeration of fill mode states. -typedef enum Fill_Mode_States -{ - FILL_MODE_STATE_START = 0, ///< Start fill mode state. - FILL_MODE_STATE_DIALYSATE_PRODUCTION, ///< Dialysate production state. - FILL_MODE_STATE_DELIVER_DIALYSATE, ///< Deliver dialysate state. - NUM_OF_FILL_MODE_STATES ///< Number of fill mode states. -} FILL_MODE_STATE_T; - // ********** private data ********** -static FILL_MODE_STATE_T fillState; ///< Currently active fill state. +static DG_FILL_MODE_STATE_T fillState; ///< Currently active fill state. // ********** private function prototypes ********** -static FILL_MODE_STATE_T handleDialysateProductionState( void ); -static FILL_MODE_STATE_T handleDeliverDialysateState( void ); +static DG_FILL_MODE_STATE_T handleDialysateProductionState( void ); +static DG_FILL_MODE_STATE_T handleDeliverDialysateState( void ); /*********************************************************************//** * @brief initFillMode @@ -57,7 +48,7 @@ *************************************************************************/ void initFillMode( void ) { - fillState = FILL_MODE_STATE_START; + fillState = DG_FILL_MODE_STATE_START; } /*********************************************************************//** @@ -86,30 +77,32 @@ * @details * Inputs : fillState * Outputs : fillState - * @return none + * @return current state. *************************************************************************/ -void execFillMode( void ) +U32 execFillMode( void ) { // execute current Fill state switch ( fillState ) { - case FILL_MODE_STATE_START: - fillState = FILL_MODE_STATE_DIALYSATE_PRODUCTION; + case DG_FILL_MODE_STATE_START: + fillState = DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION; break; - case FILL_MODE_STATE_DIALYSATE_PRODUCTION: + case DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION: fillState = handleDialysateProductionState(); break; - case FILL_MODE_STATE_DELIVER_DIALYSATE: + case DG_FILL_MODE_STATE_DELIVER_DIALYSATE: fillState = handleDeliverDialysateState(); break; default: SET_ALARM_WITH_2_U32_DATA( ALARM_ID_SOFTWARE_FAULT, 0, fillState ) // TODO - add s/w fault enum to 1st data param - fillState = FILL_MODE_STATE_START; + fillState = DG_FILL_MODE_STATE_START; break; } + + return fillState; } /*********************************************************************//** @@ -122,16 +115,16 @@ * @param none * @return the next state *************************************************************************/ -static FILL_MODE_STATE_T handleDialysateProductionState( void ) +static DG_FILL_MODE_STATE_T handleDialysateProductionState( void ) { - FILL_MODE_STATE_T result = FILL_MODE_STATE_DIALYSATE_PRODUCTION; + DG_FILL_MODE_STATE_T result = DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION; // TODO - transition when temperature and mix is in range if ( 1 ) { // TODO - VPo to reservoir setFPGAValveStates(0x015F); - result = FILL_MODE_STATE_DELIVER_DIALYSATE; + result = DG_FILL_MODE_STATE_DELIVER_DIALYSATE; } return result; @@ -147,20 +140,34 @@ * @param none * @return the next state *************************************************************************/ -static FILL_MODE_STATE_T handleDeliverDialysateState( void ) +static DG_FILL_MODE_STATE_T handleDeliverDialysateState( void ) { - FILL_MODE_STATE_T result = FILL_MODE_STATE_DELIVER_DIALYSATE; + DG_FILL_MODE_STATE_T result = DG_FILL_MODE_STATE_DELIVER_DIALYSATE; // TODO - transition back when temperature or mix out of range if ( 0 ) { // TODO - VPo to drain setFPGAValveStates(0x014F); - result = FILL_MODE_STATE_DIALYSATE_PRODUCTION; + result = DG_FILL_MODE_STATE_DIALYSATE_PRODUCTION; } return result; } +/*********************************************************************//** + * @brief + * The getCurrentFillState function returns the current state of the \n + * fill mode. + * @details + * Inputs : fillState + * Outputs : none + * @return the current state of fill mode. + *************************************************************************/ +DG_FILL_MODE_STATE_T getCurrentFillState( void ) +{ + return fillState; +} + /**@}*/