Index: firmware/App/Modes/ModePreGenDialysate.c =================================================================== diff -u -r830213bc6dcc1a684610caf78c79d55f2cb41e93 -rd210786d6c7d75bb0b4d9e18efc40a01d85123fe --- firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision 830213bc6dcc1a684610caf78c79d55f2cb41e93) +++ firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision d210786d6c7d75bb0b4d9e18efc40a01d85123fe) @@ -7,8 +7,8 @@ * * @file ModePreGenDialysate.c * -* @author (last) Vinayakam Mani -* @date (last) 18-Sep-2025 +* @author (last) Sameer Kalliadan Poyil +* @date (last) 10-Feb-2026 * * @author (original) Vinayakam Mani * @date (original) 18-Apr-2025 @@ -17,6 +17,7 @@ #include "ConcentratePumps.h" #include "DialysatePumps.h" +#include "DryBiCart.h" #include "Heaters.h" #include "ModePreGenDialysate.h" #include "ModeGenDialysate.h" @@ -57,6 +58,7 @@ static void publishPreGenDialysateState( void ); static DD_PRE_GEN_DIALYSATE_STATE_T handlePreGenDialysateFillCompleteCheckState( void ); static DD_PRE_GEN_DIALYSATE_STATE_T handlePreGenWetSelfTestState( void ); +static DD_PRE_GEN_DIALYSATE_STATE_T handleDryBicartInitialFillState( void ); //Wet Self test static void setModePreGenWetSelfStateTransition( DD_WET_SELF_TEST_STATE_T state ); @@ -144,6 +146,10 @@ preGenDialysateState = handlePreGenWetSelfTestState(); break; + case DD_PRE_GEN_DRY_BICART_INITIAL_FILL: + preGenDialysateState = handleDryBicartInitialFillState(); + break; + case DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND: // TODO : handle wait for Gen dialysate break; @@ -241,15 +247,52 @@ static DD_PRE_GEN_DIALYSATE_STATE_T handlePreGenWetSelfTestState( void ) { //TODO: Change to wet self test state later - DD_PRE_GEN_DIALYSATE_STATE_T state = DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND; + DD_PRE_GEN_DIALYSATE_STATE_T state = DD_PRE_GEN_DRY_BICART_INITIAL_FILL; + // TODO: testing drybicart fill in pre-gen + if ( getTestConfigStatus( TEST_CONFIG_DD_DRY_BICART_TEST ) == TRUE ) + { + setBicartFillRequested(); + } + //execWetSelfTest(); return state; } /*********************************************************************//** * @brief + * The handleDryBicartInitialFillState function executes intial dry bicart fill request + * @details \b Inputs: none + * @details \b Outputs: none + * @return current state of PreGenDialysate mode + *************************************************************************/ +static DD_PRE_GEN_DIALYSATE_STATE_T handleDryBicartInitialFillState( void ) +{ + //TODO: Change to wet self test state later + DD_PRE_GEN_DIALYSATE_STATE_T state = DD_PRE_GEN_DRY_BICART_INITIAL_FILL; + + // TODO: testing drybicart fill in pre-gen + if ( getTestConfigStatus( TEST_CONFIG_DD_DRY_BICART_TEST ) == TRUE ) + { + // stay in this state till bicart fill complete. + if ( getCurrentDryBiCartFillExecState() == DRY_BICART_FILL_COMPLETE_STATE ) + { + state = DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND; + } + // TODO: Alarm if it is not completed within 1.5 minutes + } + else + { + // not bicart fill, move to next state + state = DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND; + } + + return state; +} + +/*********************************************************************//** + * @brief * The setModePreGenWetSelfStateTransition function sets the actuators and variables * for the state transition in pre-gen WetSlef test mode. * @details Inputs: Valve states, Pump speed