Index: firmware/App/Modes/ModeGenDialysate.c =================================================================== diff -u -r58e5721497be626929b6cdc0c5187e18b34bbaad -r5d60262836ddc8f80ac98f07f2cfd6707a5b7b79 --- firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 58e5721497be626929b6cdc0c5187e18b34bbaad) +++ firmware/App/Modes/ModeGenDialysate.c (.../ModeGenDialysate.c) (revision 5d60262836ddc8f80ac98f07f2cfd6707a5b7b79) @@ -7,8 +7,8 @@ * * @file ModeGenDialysate.c * -* @author (last) Michael Garthwaite -* @date (last) 29-Jan-2026 +* @author (last) Sameer Kalliadan Poyil +* @date (last) 06-Feb-2026 * * @author (original) Vinayakam Mani * @date (original) 06-Nov-2024 @@ -62,7 +62,7 @@ #define LOW_DIAL_FLOW_RATE 150.0F ///< Dialysate flow rate lesser than 150 considered to be low Qds. #define ZERO_DIAL_FLOW_RATE 0.0F ///< Zero dialysate flow rate #define SPENT_CHAMBER_FILL_MAX_COUNT 10 ///< Total number of spent chamber fill allowed. -#define BICARB_CHAMBER_FILL_TIMEOUT ( 1 * MS_PER_SECOND ) ///< Bicarb chamber fill timeout. +#define BICARB_CHAMBER_FILL_TIMEOUT ( 1 * MS_PER_SECOND ) ///< Bicarb chamber fill timeout. //Testing #define DELAY_BC_SWITCHING_AT_START_UP ( 10 * MS_PER_SECOND ) ///< Provide a balancing chamber switching start up delay to stabilize pump speed etc., /// Payload record structure for Gen dialysate execution state set request @@ -217,11 +217,18 @@ setValveState( D40_VALV, VALVE_STATE_CLOSED ); // VDO setValveState( D47_VALV, VALVE_STATE_CLOSED ); // spent chamber purge valve setValveState( D34_VALV, VALVE_STATE_OPEN ); // Bypass valve -#ifndef __DRY_BICARB__ - setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve - setValveState( D64_VALV, VALVE_STATE_CLOSED ); -#endif + setValveState( D8_VALV, VALVE_STATE_CLOSED ); + setValveState( D54_VALV, VALVE_STATE_CLOSED ); + setValveState( D81_VALV, VALVE_STATE_CLOSED ); + setValveState( D85_VALV, VALVE_STATE_CLOSED ); + setValveState( D31_VALV, VALVE_STATE_CLOSED ); + if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRY_BICARB ) == FALSE ) + { + setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve + setValveState( D64_VALV, VALVE_STATE_CLOSED ); + } + // Turn on the primary heater calculateTargetDialysateTemp(); setHeaterTargetTemperature( D5_HEAT, getGenDialysateTargetTemperature() ); @@ -247,6 +254,11 @@ case DD_GEND_DIALYSATE_DELIVERY_STATE: //Previous state setValveState( D47_VALV, VALVE_STATE_CLOSED ); // spent chamber purge valve + setValveState( D8_VALV, VALVE_STATE_CLOSED ); + setValveState( D54_VALV, VALVE_STATE_CLOSED ); + setValveState( D81_VALV, VALVE_STATE_CLOSED ); + setValveState( D85_VALV, VALVE_STATE_CLOSED ); + setValveState( D31_VALV, VALVE_STATE_CLOSED ); setValveState( D14_VALV, VALVE_STATE_OPEN ); setValveState( D53_VALV, VALVE_STATE_OPEN ); // Drain valve @@ -268,23 +280,33 @@ setValveState( D34_VALV, VALVE_STATE_CLOSED ); // Bypass valve setValveState( D35_VALV, VALVE_STATE_OPEN ); // VDI setValveState( D40_VALV, VALVE_STATE_OPEN ); // VDO -#ifndef __DRY_BICARB__ - setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve - setValveState( D64_VALV, VALVE_STATE_CLOSED ); -#endif + + if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRY_BICARB ) == FALSE ) + { + setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve + setValveState( D64_VALV, VALVE_STATE_CLOSED ); + } break; case DD_GEND_SPENT_CHAMBER_FILL_STATE: //Set valves and actuators setValveState( D35_VALV, VALVE_STATE_CLOSED ); // VDI setValveState( D40_VALV, VALVE_STATE_CLOSED ); // VDO + setValveState( D8_VALV, VALVE_STATE_CLOSED ); + setValveState( D54_VALV, VALVE_STATE_CLOSED ); + setValveState( D81_VALV, VALVE_STATE_CLOSED ); + setValveState( D85_VALV, VALVE_STATE_CLOSED ); + setValveState( D31_VALV, VALVE_STATE_CLOSED ); setValveState( D14_VALV, VALVE_STATE_OPEN ); setValveState( D53_VALV, VALVE_STATE_OPEN ); // Drain valve setValveState( D34_VALV, VALVE_STATE_OPEN ); // Bypass valve -#ifndef __DRY_BICARB__ - setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve - setValveState( D64_VALV, VALVE_STATE_CLOSED ); -#endif + + if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRY_BICARB ) == FALSE ) + { + setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve + setValveState( D64_VALV, VALVE_STATE_CLOSED ); + } + setValveState( D47_VALV, VALVE_STATE_OPEN ); // Spent chamber purge valve requestConcentratePumpOff( D76_PUMP, FALSE ); @@ -320,10 +342,13 @@ setValveState( D53_VALV, VALVE_STATE_OPEN ); // Drain valve setValveState( D34_VALV, VALVE_STATE_OPEN ); // Bypass valve -#ifndef __DRY_BICARB__ - setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve - setValveState( D64_VALV, VALVE_STATE_OPEN ); // Bicarb chamber purge valve -#endif + + if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRY_BICARB ) == FALSE ) + { + setValveState( D80_VALV, VALVE_STATE_OPEN ); // Bicarb valve + setValveState( D64_VALV, VALVE_STATE_OPEN ); // Bicarb chamber purge valve + } + bicarbFillStartTimeMS = getMSTimerCount(); // Turn on the primary heater @@ -373,10 +398,12 @@ setValveState( D34_VALV, VALVE_STATE_OPEN ); setValveState( D53_VALV, VALVE_STATE_OPEN ); -#ifndef __DRY_BICARB__ - setValveState( D80_VALV, VALVE_STATE_OPEN ); - setValveState( D64_VALV, VALVE_STATE_CLOSED ); -#endif + + if ( getTestConfigStatus( TEST_CONFIG_DD_ENABLE_DRY_BICARB ) == FALSE ) + { + setValveState( D80_VALV, VALVE_STATE_OPEN ); + setValveState( D64_VALV, VALVE_STATE_CLOSED ); + } break; case DD_GEND_ISOLATED_UF_STATE: