Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r37a9fd8f15e413db5337371a7d1a1cb65567af7c -r27a68f930508638f2eb6265ebb381c8918cbc37b --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 37a9fd8f15e413db5337371a7d1a1cb65567af7c) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 27a68f930508638f2eb6265ebb381c8918cbc37b) @@ -189,7 +189,9 @@ switch ( currentPreTreatmentState ) { case HD_PRE_TREATMENT_START_STATE: +#ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_SAMPLE_WATER ) != SW_CONFIG_ENABLE_VALUE ) +#endif { transitionToSampleWater(); } @@ -259,14 +261,19 @@ F32 bolusVol = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ); F32 hepRate = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ); - if ( STATE_OPEN == getSwitchStatus( FRONT_DOOR ) ) +#ifndef _RELEASE_ + if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_SWITCHES_MONITOR ) != SW_CONFIG_ENABLE_VALUE ) +#endif { - activateAlarmNoData( ALARM_ID_CARTRIDGE_DOOR_OPENED ); - } + if ( STATE_OPEN == getSwitchStatus( FRONT_DOOR ) ) + { + activateAlarmNoData( ALARM_ID_CARTRIDGE_DOOR_OPENED ); + } - if ( STATE_OPEN == getSwitchStatus( PUMP_TRACK_SWITCH ) ) - { - activateAlarmNoData( ALARM_ID_PUMP_TRACK_LATCH_OPENED ); + if ( STATE_OPEN == getSwitchStatus( PUMP_TRACK_SWITCH ) ) + { + activateAlarmNoData( ALARM_ID_PUMP_TRACK_LATCH_OPENED ); + } } if ( ( FALSE == isSyringeDetected() ) && ( ( bolusVol > NEARLY_ZERO ) && ( hepRate > NEARLY_ZERO ) ) ) @@ -295,12 +302,22 @@ // Accept installation confirmation if we are in install state of pre-treatment mode and // Door closed, Cartridge installed, syringe is detected or Heparin not being used in this treatment. - if ( ( MODE_PRET == getCurrentOperationMode() ) && - ( HD_PRE_TREATMENT_CART_INSTALL_STATE == currentPreTreatmentState ) ) + if ( ( MODE_PRET == getCurrentOperationMode() ) && ( HD_PRE_TREATMENT_CART_INSTALL_STATE == currentPreTreatmentState ) ) { - if ( STATE_CLOSED == getSwitchStatus( PUMP_TRACK_SWITCH ) ) + OPN_CLS_STATE_T frontDoor = getSwitchStatus( FRONT_DOOR ); + OPN_CLS_STATE_T pumpTrack = getSwitchStatus( PUMP_TRACK_SWITCH ); + +#ifndef _RELEASE_ + if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_SWITCHES_MONITOR ) ) { - if ( STATE_CLOSED == getSwitchStatus( FRONT_DOOR ) ) + frontDoor = STATE_CLOSED; + pumpTrack = STATE_CLOSED; + } +#endif + + if ( STATE_CLOSED == pumpTrack ) + { + if ( STATE_CLOSED == frontDoor ) { if ( ( TRUE == isSyringeDetected() ) || ( ( bolusVol < NEARLY_ZERO ) && ( hepRate < NEARLY_ZERO ) ) ) { @@ -409,10 +426,12 @@ BOOL accepted = FALSE; REQUEST_REJECT_REASON_CODE_T rejReason = REQUEST_REJECT_REASON_NO_PATIENT_CONNECTION_CONFIRM; +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) { patientConnectionConfirm = TRUE; } +#endif if ( TRUE == patientConnectionConfirm ) { @@ -514,6 +533,7 @@ preTreatmentData.primeState = getPrimeState(); preTreatmentData.recircState = getPreTreatmentRecircState(); preTreatmentData.patientConnectionState = 0; + preTreatmentData.wetSelfTestsState = getWetSelfTestState(); broadcastData( MSG_ID_PRE_TREATMENT_STATE, COMM_BUFFER_OUT_CAN_HD_BROADCAST, (U08*)&preTreatmentData, sizeof( PRE_TREATMENT_STATE_DATA_T ) ); preTreatmentPublishTimerCounter = 0; @@ -598,30 +618,29 @@ execSampleWater(); -#ifndef SKIP_SAMPLE_WATER - if ( ( SAMPLE_WATER_COMPLETE_STATE == getSampleWaterState() ) || - ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_SAMPLE_WATER ) ) ) -#endif + if ( SAMPLE_WATER_COMPLETE_STATE == getSampleWaterState() ) { - cmdDGSampleWater( SAMPLE_WATER_CMD_END ); - - if ( SELF_TEST_STATUS_PASSED == getSampleWaterResult() ) { - if ( ( DG_MODE_STAN == dgOpMode ) && ( DG_STANDBY_MODE_STATE_IDLE == dgSubMode ) ) + cmdDGSampleWater( SAMPLE_WATER_CMD_END ); + + if ( SELF_TEST_STATUS_PASSED == getSampleWaterResult() ) { - state = HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE; - cmdStartDG(); - transitionToConsumableSelfTest(); + if ( ( DG_MODE_STAN == dgOpMode ) && ( DG_STANDBY_MODE_STATE_IDLE == dgSubMode ) ) + { + state = HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE; + cmdStartDG(); + transitionToConsumableSelfTest(); + } + else + { + cmdStopDG(); + } } else { - cmdStopDG(); + requestNewOperationMode( MODE_STAN ); } } - else - { - requestNewOperationMode( MODE_STAN ); - } } return state; @@ -707,10 +726,12 @@ { HD_PRE_TREATMENT_MODE_STATE_T state = HD_PRE_TREATMENT_CART_INSTALL_STATE; +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) { confirmInstallRequested = TRUE; } +#endif if ( TRUE == confirmInstallRequested ) { @@ -828,10 +849,12 @@ verifySwitchStatus(); } +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_UI_INTERACTION ) ) { continueToTreatmentRequested = TRUE; } +#endif if ( TRUE == continueToTreatmentRequested ) { @@ -858,7 +881,6 @@ DG_RESERVOIR_ID_T const activeRes = getDGActiveReservoir(); setStartReservoirVolume( activeRes ); - resetHeparinVolumeDelivered(); // get clean starting volume/position before we start treatment requestNewOperationMode( MODE_TREA ); } @@ -1023,21 +1045,25 @@ { U32 volume = FILL_RESERVOIR_TO_VOLUME_ML; +#ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) != SW_CONFIG_ENABLE_VALUE ) { volume = PRE_TREATMENT_FILL_RESERVOIR_ONE_VOLUME_ML; } +#endif cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } else { U32 volume = FILL_RESERVOIR_TO_VOLUME_ML; +#ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) != SW_CONFIG_ENABLE_VALUE ) { volume = PRE_TREATMENT_FILL_RESERVOIR_TWO_VOLUME_ML; } +#endif cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } @@ -1046,10 +1072,12 @@ { U32 volume = FILL_RESERVOIR_TO_VOLUME_ML; +#ifndef _RELEASE_ if ( getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) != SW_CONFIG_ENABLE_VALUE ) { volume = PRE_TREATMENT_FLUSH_RESERVOIR_VOLUME_ML; } +#endif cmdStartDGFill( volume, DEFAULT_TARGET_FILL_FLOW_RATE_LPM ); } @@ -1122,11 +1150,13 @@ if ( FALSE == reservoirFlushedStatus[ DG_RESERVOIR_1 ] ) { +#ifndef _RELEASE_ if ( SW_CONFIG_ENABLE_VALUE == getSoftwareConfigStatus( SW_CONFIG_DISABLE_PRIMING ) ) { reservoirFilledStatus[ DG_RESERVOIR_1 ] = TRUE; } else +#endif { reservoirFlushedStatus[ DG_RESERVOIR_1 ] = TRUE; cmdSetDGActiveReservoir( DG_RESERVOIR_1 );