Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -rb53c3ab97a715ef9dc823a7148d0c0a52c413865 -r6c1d6a3eaf065c2b2d537d9fef793d73ea328359 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision b53c3ab97a715ef9dc823a7148d0c0a52c413865) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 6c1d6a3eaf065c2b2d537d9fef793d73ea328359) @@ -7,8 +7,8 @@ * * @file ModePreTreat.c * -* @author (last) Hung Nguyen -* @date (last) 15-Feb-2022 +* @author (last) Dara Navaei +* @date (last) 22-Feb-2022 * * @author (original) Dara Navaei * @date (original) 05-Nov-2019 @@ -46,19 +46,10 @@ #define DIP_PATIENT_CONNECTION_FLOW_RATE_ML_MIN 100 ///< Patient connection sub-mode dialysate inlet pump flow rate in mL/min. -#ifndef SKIP_PRIMING #define PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML 500 ///< Fill reservoir to this volume (in mL) to flush filter and lines. #define PRE_TREATMENT_FILL_RESERVOIR_ONE_VOLUME_ML 1300 ///< Fill reservoir one to this volume (in mL) during pre-treatment mode. #define PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML 700 ///< Fill reservoir two to this volume (in mL) during pre-treatment mode. -#else -#define PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML FILL_RESERVOIR_TO_VOLUME_ML -#define PRE_TREATMENT_FILL_RESERVOIR_ONE_VOLUME_ML FILL_RESERVOIR_TO_VOLUME_ML -#define PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML FILL_RESERVOIR_TO_VOLUME_ML -#endif -#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. typedef enum PreTreatmentReservoirMgmt_States { @@ -198,9 +189,10 @@ switch ( currentPreTreatmentState ) { case HD_PRE_TREATMENT_START_STATE: -#ifndef SKIP_SAMPLE_WATER - transitionToSampleWater(); -#endif + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_SAMPLE_WATER ) != SW_CONFIG_ENABLE_VALUE ) + { + transitionToSampleWater(); + } currentPreTreatmentState = HD_PRE_TREATMENT_WATER_SAMPLE_STATE; break; @@ -417,9 +409,10 @@ BOOL accepted = FALSE; REQUEST_REJECT_REASON_CODE_T rejReason = REQUEST_REJECT_REASON_NO_PATIENT_CONNECTION_CONFIRM; -#ifdef SKIP_UI_INTERACTION - patientConnectionConfirm = TRUE; -#endif + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) + { + patientConnectionConfirm = TRUE; + } if ( TRUE == patientConnectionConfirm ) { @@ -606,7 +599,8 @@ execSampleWater(); #ifndef SKIP_SAMPLE_WATER - if ( SAMPLE_WATER_COMPLETE_STATE == getSampleWaterState() ) + if ( ( SAMPLE_WATER_COMPLETE_STATE == getSampleWaterState() ) || + ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_SAMPLE_WATER ) ) ) #endif { cmdDGSampleWater( SAMPLE_WATER_CMD_END ); @@ -713,9 +707,10 @@ { HD_PRE_TREATMENT_MODE_STATE_T state = HD_PRE_TREATMENT_CART_INSTALL_STATE; -#ifdef SKIP_UI_INTERACTION - confirmInstallRequested = TRUE; -#endif + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) + { + confirmInstallRequested = TRUE; + } if ( TRUE == confirmInstallRequested ) { @@ -833,9 +828,10 @@ verifySwitchStatus(); } -#ifdef SKIP_UI_INTERACTION - continueToTreatmentRequested = TRUE; -#endif + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) + { + continueToTreatmentRequested = TRUE; + } if ( TRUE == continueToTreatmentRequested ) { @@ -1025,16 +1021,37 @@ { if ( DG_RESERVOIR_1 == getDGInactiveReservoir() ) { - cmdStartDGFill( PRE_TREATMENT_FILL_RESERVOIR_ONE_VOLUME_ML, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); + U32 volume = FILL_RESERVOIR_TO_VOLUME_ML; + + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) != SW_CONFIG_ENABLE_VALUE ) + { + volume = PRE_TREATMENT_FILL_RESERVOIR_ONE_VOLUME_ML; + } + + cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } else { - cmdStartDGFill( PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); + U32 volume = FILL_RESERVOIR_TO_VOLUME_ML; + + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) != SW_CONFIG_ENABLE_VALUE ) + { + volume = PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML; + } + + cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } } else { - cmdStartDGFill( PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); + U32 volume = FILL_RESERVOIR_TO_VOLUME_ML; + + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) != SW_CONFIG_ENABLE_VALUE ) + { + volume = PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML; + } + + cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } } @@ -1105,12 +1122,15 @@ if ( FALSE == reservoirFlushedStatus[ DG_RESERVOIR_1 ] ) { -#ifdef SKIP_PRIMING - reservoirFilledStatus[ DG_RESERVOIR_1 ] = TRUE; -#else - reservoirFlushedStatus[ DG_RESERVOIR_1 ] = TRUE; - cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); -#endif + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) ) + { + reservoirFilledStatus[ DG_RESERVOIR_1 ] = TRUE; + } + else + { + reservoirFlushedStatus[ DG_RESERVOIR_1 ] = TRUE; + cmdSetDGActiveReservoir( DG_RESERVOIR_1 ); + } } else if ( ( TRUE == reservoirFlushedStatus[ DG_RESERVOIR_1 ] ) && ( FALSE == reservoirFlushedStatus[ DG_RESERVOIR_2 ] ) ) {