Index: firmware/App/Modes/ModePreGenDialysate.c =================================================================== diff -u -r6d0bd19fb192dcd272fa773e8833862cc8a8f750 -r6d4aa77e6b85aa7621a234660f631e725fb1d441 --- firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision 6d0bd19fb192dcd272fa773e8833862cc8a8f750) +++ firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision 6d4aa77e6b85aa7621a234660f631e725fb1d441) @@ -7,8 +7,8 @@ * * @file ModePreGenDialysate.c * -* @author (last) Arpita Srivastava -* @date (last) 10-Mar-2026 +* @author (last) Raghu Kallala +* @date (last) 22-Apr-2026 * * @author (original) Vinayakam Mani * @date (original) 18-Apr-2025 @@ -513,4 +513,67 @@ 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: + result = TRUE; + break; + + default: + break; + } + } + + return result; +} + +/*********************************************************************//** + * @brief + * The testSignalNewDDPreGenDialysateSubMode function request transition + * to a new operation sub mode. + * @details \b Inputs: none + * @details \b Outputs: preGenDialysateState + * @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? + } +} + /**@}*/