Index: firmware/App/Modes/PreTreatmentRecirc.c =================================================================== diff -u -r68f18c1952d37f75f27b7ca45969af2202729bb5 -rb20421d84b9049977c04f4752f4fc5697425f25c --- firmware/App/Modes/PreTreatmentRecirc.c (.../PreTreatmentRecirc.c) (revision 68f18c1952d37f75f27b7ca45969af2202729bb5) +++ firmware/App/Modes/PreTreatmentRecirc.c (.../PreTreatmentRecirc.c) (revision b20421d84b9049977c04f4752f4fc5697425f25c) @@ -1,25 +1,27 @@ /************************************************************************** * -* Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. +* Copyright (c) 2021-2022 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 PreTreatmentRecirc.c +* @file PreTreatmentRecirc.c * -* @author (last) Quang Nguyen -* @date (last) 08-Feb-2021 +* @author (last) Sean Nash +* @date (last) 13-Jul-2022 * -* @author (original) Quang Nguyen -* @date (original) 08-Feb-2021 +* @author (original) Quang Nguyen +* @date (original) 08-Feb-2021 * ***************************************************************************/ +#include "AirTrap.h" #include "DialInFlow.h" #include "DialOutFlow.h" #include "BloodFlow.h" #include "DGInterface.h" #include "PreTreatmentRecirc.h" +#include "Switches.h" #include "Valves.h" /** @@ -29,8 +31,8 @@ // ********** private definitions ********** -#define BLOOD_PUMP_RECIRC_FLOW_RATE 100 ///< Blood pump flow rate during recirculation in mL/min. -#define DIALYSATE_PUMP_RECIRC_FLOW_RATE 100 ///< Dialysate pump flow rate during recirculation in mL/min. +#define BLOOD_PUMP_RECIRC_FLOW_RATE 100 ///< Blood pump flow rate during recirculation in mL/min. +#define DIALYSATE_PUMP_RECIRC_FLOW_RATE 100 ///< Dialysate pump flow rate during recirculation in mL/min. // ********** private data ********** @@ -94,8 +96,7 @@ break; default: - currentPreTreatmentRecircState = PRE_TREATMENT_RECIRC_STATE; - SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_PRE_TREATMENT_RECIRC_STATE, (U32)currentPreTreatmentRecircState ); + SET_ALARM_WITH_2_U32_DATA( ALARM_ID_HD_SOFTWARE_FAULT, SW_FAULT_ID_HD_INVALID_PRE_TREATMENT_RECIRC_STATE, currentPreTreatmentRecircState ); break; } @@ -152,13 +153,16 @@ *************************************************************************/ static void setupPreTreatmentRecirculate( void ) { + doorClosedRequired( TRUE, TRUE ); + setValvePosition( VDI, VALVE_POSITION_C_CLOSE ); setValvePosition( VDO, VALVE_POSITION_C_CLOSE ); setValvePosition( VBA, VALVE_POSITION_B_OPEN ); setValvePosition( VBV, VALVE_POSITION_B_OPEN ); setValveAirTrap( STATE_CLOSED ); cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); cmdStartDGTrimmerHeater(); + startAirTrapControl(); setBloodPumpTargetFlowRate( BLOOD_PUMP_RECIRC_FLOW_RATE, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); setDialInPumpTargetFlowRate( DIALYSATE_PUMP_RECIRC_FLOW_RATE, MOTOR_DIR_FORWARD, PUMP_CONTROL_MODE_OPEN_LOOP ); @@ -183,6 +187,7 @@ signalDialInPumpHardStop(); signalBloodPumpHardStop(); cmdStopDGTrimmerHeater(); + endAirTrapControl(); state = PRE_TREATMENT_RECIRC_STOPPED_STATE; }