Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -rea0ed778cde80abbb042a8a0a8ef56b3a434dfb2 -rbd241ef5231a9869adaf7bb5ed166135beb2c0fb --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision ea0ed778cde80abbb042a8a0a8ef56b3a434dfb2) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision bd241ef5231a9869adaf7bb5ed166135beb2c0fb) @@ -1,14 +1,14 @@ /************************************************************************** * -* Copyright (c) 2019-2021 Diality Inc. - All Rights Reserved. +* Copyright (c) 2019-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 ModePreTreat.c * -* @author (last) Quang Nguyen -* @date (last) 24-Aug-2021 +* @author (last) Dara Navaei +* @date (last) 12-Nov-2021 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -25,6 +25,7 @@ #include "PresOccl.h" #include "PreTreatmentRecirc.h" #include "Prime.h" +#include "Reservoirs.h" #include "SelfTests.h" #include "SampleWater.h" #include "SystemCommMessages.h" @@ -55,7 +56,7 @@ #define PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML FILL_RESERVOIR_TO_VOLUME_ML #endif -#define PRIMARY_HEATER_TARGET_TEMP_OFFSET 2.0 ///< Primary heater target temperature offset from trimmer heater temperature. +#define PRIMARY_HEATER_TARGET_TEMP_OFFSET 2.0 //TODO remove ///< Primary heater target temperature offset from trimmer heater temperature. /// States of the pre-treatment reservoir management state machine. @@ -141,6 +142,11 @@ initConsumableSelfTest(); initPrime(); initSelfTests(); + // Reservoirs state machine is not used in Pre-treatment but the + // init function is called here to initialize all the variables in + // the reservoirs driver since an API from the reservoirs is used + // to setup the DG heaters. + initReservoirs(); resetSignalFlags(); } @@ -151,21 +157,25 @@ * pre-treatment mode. * @details Inputs: none * @details Outputs: none - * @return none + * @return initial state *************************************************************************/ -void transitionToPreTreatmentMode( void ) +U32 transitionToPreTreatmentMode( void ) { - F32 const trimmerHeaterTemp = getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ); - F32 const primaryHeaterTemp = trimmerHeaterTemp + PRIMARY_HEATER_TARGET_TEMP_OFFSET; + F32 trimmerHeaterTemp = getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ); initPreTreatmentMode(); - cmdSetDGDialysateTargetTemps( primaryHeaterTemp, trimmerHeaterTemp ); + + // Set the heaters specs to start heating up the water + setDialysateHeatingParams(); + cmdStopDGTrimmerHeater(); // Set user alarm recovery actions allowed in this mode setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, TRUE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_RINSEBACK, FALSE ); setAlarmUserActionEnabled( ALARM_USER_ACTION_END_TREATMENT, TRUE ); + + return currentPreTreatmentState; } /*********************************************************************//** @@ -944,16 +954,16 @@ { if ( DG_RESERVOIR_1 == getDGInactiveReservoir() ) { - cmdStartDGFill( PRE_TREATMENT_FILL_RESERVOIR_ONE_VOLUME_ML ); + cmdStartDGFill( PRE_TREATMENT_FILL_RESERVOIR_ONE_VOLUME_ML, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } else { - cmdStartDGFill( PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML ); + cmdStartDGFill( PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } } else { - cmdStartDGFill( PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML ); + cmdStartDGFill( PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } }