Index: firmware/App/Modes/ModePostGenDialysate.c =================================================================== diff -u -r6e36d2fd90b130f540494f4128951d81e7dc5ed5 -r6d4aa77e6b85aa7621a234660f631e725fb1d441 --- firmware/App/Modes/ModePostGenDialysate.c (.../ModePostGenDialysate.c) (revision 6e36d2fd90b130f540494f4128951d81e7dc5ed5) +++ firmware/App/Modes/ModePostGenDialysate.c (.../ModePostGenDialysate.c) (revision 6d4aa77e6b85aa7621a234660f631e725fb1d441) @@ -1,20 +1,21 @@ /************************************************************************** * -* 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. * * @file ModePostGenDialysate.c * -* @author (last) Vinayakam Mani -* @date (last) 18-Apr-2025 +* @author (last) Raghu Kallala +* @date (last) 22-Apr-2026 * * @author (original) Vinayakam Mani * @date (original) 18-Apr-2025 * ***************************************************************************/ +#include "BalancingChamber.h" #include "ConcentratePumps.h" #include "DialysatePumps.h" #include "Heaters.h" @@ -74,6 +75,8 @@ U32 transitionToPostGenDialysateMode( void ) { initPostGenDialysateMode(); + // Deactivate Balancing Chamber Switching + requestBalChamberSwitching( FALSE ); setCurrentSubState( NO_SUB_STATE ); return postGenDialysateState; @@ -186,4 +189,62 @@ return result; } +/*********************************************************************//** + * @brief + * The testValidateDDPostGenDialysateChangeReq 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 testValidateDDPostGenDialysateChangeReq( U32 newSubMode ) +{ + BOOL result = FALSE; + + if ( newSubMode < NUM_OF_DD_POST_GEN_DIALYSATE_STATES ) + { + switch ( newSubMode ) + { + // TODO add validate condition after checking with Vinay + case DD_POST_GEN_DIALYSATE_STATE_START: + case DD_POST_GEN_DIALYSATE_STATE_COMPLETE: +// result = TRUE; // TODO enable when states are implemented + break; + + default: + break; + } + } + + return result; +} + +/*********************************************************************//** + * @brief + * The testSignalNewDDPostGenDialysateSubMode function request transition + * to a new operation sub mode. + * @details \b Inputs: none + * @details \b Outputs: postGenDialysateState + * @param newSubMode the enumerated sub state of the mode + * @return none + *************************************************************************/ +void testSignalNewDDPostGenDialysateSubMode( U32 newSubMode ) +{ + if ( newSubMode < NUM_OF_DD_POST_GEN_DIALYSATE_STATES ) + { + postGenDialysateState = (DD_POST_GEN_DAILYSATE_STATE_T)newSubMode; + + switch ( newSubMode ) + { + // TODO add logic after checking with Vinay + // Any of these state require no special handling + case DD_POST_GEN_DIALYSATE_STATE_START: + case DD_POST_GEN_DIALYSATE_STATE_COMPLETE: + default: + break; + } + } +} + /**@}*/