Index: firmware/App/Modes/ModePreGenDialysate.c =================================================================== diff -u -r3417933e6edf61a914c428e2fa944b3b349272a4 -rf031f37d3f9985c1224472f2827cd180287c5621 --- firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision 3417933e6edf61a914c428e2fa944b3b349272a4) +++ firmware/App/Modes/ModePreGenDialysate.c (.../ModePreGenDialysate.c) (revision f031f37d3f9985c1224472f2827cd180287c5621) @@ -1,6 +1,6 @@ /************************************************************************** * -* Copyright (c) 2025-2025 Diality Inc. - All Rights Reserved. +* Copyright (c) 2025-2026 Diality Inc. - All Rights Reserved. * * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. @@ -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 handleDryBicartFillCheckState( 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_FILL_CHECK: + preGenDialysateState = handleDryBicartFillCheckState(); + break; + case DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND: // TODO : handle wait for Gen dialysate break; @@ -241,7 +247,7 @@ 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_FILL_CHECK; //execWetSelfTest(); @@ -250,6 +256,37 @@ /*********************************************************************//** * @brief + * The handleDryBicartFillCheckState 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 handleDryBicartFillCheckState( void ) +{ + //TODO: Change to wet self test state later + DD_PRE_GEN_DIALYSATE_STATE_T state = DD_PRE_GEN_DRY_BICART_FILL_CHECK; + + if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRY_BICARB ) == TRUE ) + { + setBicartFillRequested(); + + // stay in this state till bicart fill complete. + if ( getCurrentDryBiCartFillExecState() == DRY_BICART_FILL_COMPLETE_STATE ) + { + state = DD_PRE_GEN_DIALYSATE_WAIT_FOR_GEND; + } + } + 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