Index: firmware/App/Modes/TreatmentRecirc.c =================================================================== diff -u -r3c9724b7e07c1a82d0e7fd653a99d7cb96d06e5a -rcd5be724d5a3ba7457e761191d82f278654d7f5c --- firmware/App/Modes/TreatmentRecirc.c (.../TreatmentRecirc.c) (revision 3c9724b7e07c1a82d0e7fd653a99d7cb96d06e5a) +++ firmware/App/Modes/TreatmentRecirc.c (.../TreatmentRecirc.c) (revision cd5be724d5a3ba7457e761191d82f278654d7f5c) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2021-2023 Diality Inc. - All Rights Reserved. +* Copyright (c) 2021-2024 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 TreatmentRecirc.c * * @author (last) Sean Nash -* @date (last) 24-Apr-2023 +* @date (last) 31-Jul-2023 * * @author (original) Sean Nash * @date (original) 20-Jan-2021 @@ -114,14 +114,17 @@ void transitionToTreatmentRecirc( void ) { initTreatmentRecirc(); - + setCurrentSubState( (U32)treatmentRecircState ); doorClosedRequired( TRUE, TRUE ); // Set valves to safe state setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); setupForRecirculationStopState(); + // Enable venous bubble detection while recirculating + setVenousBubbleDetectionEnabled( TRUE ); + // Ensure syringe pump is stopped stopSyringePump(); // Stop air trap leveling control @@ -187,12 +190,6 @@ // Count time in this sub-mode recircTimerCtr++; - // Check for user confirmation of end treatment - if ( CONFIRMATION_REQUEST_STATUS_ACCEPTED == getConfirmationRequestStatus( GENERIC_CONFIRM_ID_TREATMENT_END ) ) - { - recircEndTreatmentRequested = TRUE; - } - switch ( treatmentRecircState ) { case TREATMENT_RECIRC_DISCONNECT_PATIENT_STATE: @@ -218,6 +215,7 @@ if ( priorSubState != treatmentRecircState ) { + setCurrentSubState( (U32)treatmentRecircState ); SEND_EVENT_WITH_2_U32_DATA( HD_EVENT_SUB_STATE_CHANGE, priorSubState, treatmentRecircState ); } // Re-circulate flags should be handled by now - reset in case not handled by current state