Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -rb67373adbc581690febb1e1c2bb521f108d9b92e -rf847ac4a7a0a080c4b62886243f5b863c4e7730d --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision b67373adbc581690febb1e1c2bb521f108d9b92e) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision f847ac4a7a0a080c4b62886243f5b863c4e7730d) @@ -7,8 +7,8 @@ * * @file ModeDrain.c * -* @author (last) Michael Garthwaite -* @date (last) 09-Aug-2023 +* @author (last) Dara Navaei +* @date (last) 19-Sep-2023 * * @author (original) Leonardo Baloa * @date (original) 20-Dec-2019 @@ -137,6 +137,8 @@ setCurrentSubState( NO_SUB_STATE ); + SEND_EVENT_WITH_2_U32_DATA( DG_EVENT_INACTIVE_RESERVOIR_TEMP_REMOVE, (U32)inactiveReservoir, 0 ) // TODO remove + if ( DG_RESERVOIR_1 == inactiveReservoir ) { setValveStateDelayed( VRD1, VALVE_STATE_OPEN, DELAY_RES_DRAIN_VALVE_MS ); @@ -295,6 +297,8 @@ acidBottleVolML = acid.acidConcentrate[ CAL_DATA_ACID_CONCENTRATE_1 ].acidFullBottleVolumeML; bicarbBottleVolML = bicarb.bicarbConcentrate[ CAL_DATA_BICARB_CONCENTRATE_1 ].bicarbStartVolumeML; + SEND_EVENT_WITH_2_U32_DATA( DG_EVENT_INACTIVE_RESERVOIR_TEMP_REMOVE, (U32)inactiveReservoir, 0 ) // TODO remove + if ( DG_RESERVOIR_1 == inactiveReservoir ) { setValveState( VRD1, VALVE_STATE_CLOSED ); @@ -309,18 +313,20 @@ #endif { // Detect empty bottles using integrated volumes - if ( ( acidBottleVolML - getChemicalUsedVolumeML( ACID ) ) <= CONCENTRATE_BOTTLE_ACID_LOW_VOLUME_ML ) // SRSDG 836 + if ( ( ( acidBottleVolML - getChemicalUsedVolumeML( ACID ) ) <= CONCENTRATE_BOTTLE_ACID_LOW_VOLUME_ML ) && // SRSDG 836 + ( getTestConfigStatus( TEST_CONFIG_MIX_WITH_WATER ) != TRUE ) ) { resetChemicalUsedVolumeML( ACID ); - setThisFisrtFillFlag( TRUE ); // indicates bottles need prime + setThisFirstFillFlag( TRUE ); // indicates bottles need prime activateAlarmNoData( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ); activateAlarmNoData ( ALARM_ID_DG_CREATING_DIALYSATE_PLEASE_WAIT ); } - if ( ( bicarbBottleVolML - getChemicalUsedVolumeML( BICARB ) ) <= CONCENTRATE_BOTTLE_BICARB_LOW_VOLUME_ML ) // SRSDG 837 + if ( ( ( bicarbBottleVolML - getChemicalUsedVolumeML( BICARB ) ) <= CONCENTRATE_BOTTLE_BICARB_LOW_VOLUME_ML ) && // SRSDG 837 + ( getTestConfigStatus( TEST_CONFIG_MIX_WITH_WATER ) != TRUE ) ) { resetChemicalUsedVolumeML( BICARB ); - setThisFisrtFillFlag( TRUE ); + setThisFirstFillFlag( TRUE ); activateAlarmNoData( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ); activateAlarmNoData ( ALARM_ID_DG_CREATING_DIALYSATE_PLEASE_WAIT ); } @@ -358,6 +364,8 @@ if ( ++drainEmptyTareTimerCtr > DRAIN_EMPTY_TARE_WAIT ) { + SEND_EVENT_WITH_2_U32_DATA( DG_EVENT_INACTIVE_RESERVOIR_TEMP_REMOVE, (U32)inactiveReservoir, 0 ) // TODO remove + drainEmptyTareTimerCtr = 0; tareLoadCellsAtEmpty( inactiveReservoir );