Index: firmware/App/Modes/ModePreGenDialysate.c =================================================================== diff -u -rd210786d6c7d75bb0b4d9e18efc40a01d85123fe -r5db64c182f58f16d6b4b9a5131a2913b4a156ccc --- firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision d210786d6c7d75bb0b4d9e18efc40a01d85123fe) +++ firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision 5db64c182f58f16d6b4b9a5131a2913b4a156ccc) @@ -510,4 +510,65 @@ return result; } +/*********************************************************************//** + * @brief + * The testValidateDDPreGenDialysateChangeReq function validate whether request + * operation sub mode is legal or not. + * @details \b Inputs: none + * @details \b Outputs: none + * @param newSubMode the enumerated sub state of the mode + * @return TRUE if request is legal, FALSE if not + *************************************************************************/ +BOOL testValidateDDPreGenDialysateChangeReq( U32 newSubMode ) +{ + BOOL result = FALSE; + + if ( newSubMode < NUM_OF_DD_PRE_GEN_DIALYSATE_STATES ) + { + switch ( newSubMode ) + { + // TODO add validate condition after checking with Vinay + case DD_PRE_GEN_DIALYSATE_HYD_CHAMBER_FILL_CHECK: + case DD_PRE_GEN_WET_SELF_TEST: + case DD_PRE_GEN_DRY_BICART_INITIAL_FILL: + case DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND: + default: + result = TRUE; + break; + } + } + + return result; +} + +/*********************************************************************//** + * @brief + * The testSignalNewDDPreGenDialysateSubMode function request transition + * to a new operation sub mode. + * @details \b Inputs: none + * @details \b Outputs: none + * @param newSubMode the enumerated sub state of the mode + * @return none + *************************************************************************/ +void testSignalNewDDPreGenDialysateSubMode( U32 newSubMode ) +{ + if ( newSubMode < NUM_OF_DD_PRE_GEN_DIALYSATE_STATES ) + { + preGenDialysateState = (DD_PRE_GEN_DIALYSATE_STATE_T)newSubMode; + + switch ( newSubMode ) + { + // TODO add logic after checking with Vinay + // Any of these state require no special handling + case DD_PRE_GEN_DIALYSATE_HYD_CHAMBER_FILL_CHECK: + case DD_PRE_GEN_WET_SELF_TEST: + case DD_PRE_GEN_DRY_BICART_INITIAL_FILL: + case DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND: + default: + break; + } + // TODO should setState handled separately for wet self state? + } +} + /**@}*/