Index: firmware/App/Modes/ModePostTreat.c =================================================================== diff -u -ra97ade33cb05958a645306392f61b1182f6a1fe1 -rb8f8a3fdf24e26c0268b3f566061d8c6d7cd44e7 --- firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision a97ade33cb05958a645306392f61b1182f6a1fe1) +++ firmware/App/Modes/ModePostTreat.c (.../ModePostTreat.c) (revision b8f8a3fdf24e26c0268b3f566061d8c6d7cd44e7) @@ -101,6 +101,7 @@ initPostTreatmentMode(); // TODO - stop any DG fill that may be in progress from an aborted treatment + // cmdStopDGFill(); // Set user alarm recovery actions allowed in this mode setAlarmUserActionEnabled( ALARM_USER_ACTION_RESUME, TRUE ); @@ -172,6 +173,19 @@ /*********************************************************************//** * @brief + * The signalUserConfirmDisposableRemoval signals post-treatment mode + * user has confirmed disposable removal. + * @details Inputs: none + * @details Outputs: disposableRemovalConfirmed + * @return none + *************************************************************************/ +void signalUserConfirmDisposableRemoval( void ) +{ + disposableRemovalConfirmed = TRUE; +} + +/*********************************************************************//** + * @brief * The signalAlarmActionToPostTreatmentMode function executes the given alarm action * as appropriate while in PostTreatment Mode. * @details Inputs: none @@ -199,26 +213,33 @@ HD_POST_TREATMENT_STATE_T state = HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE; VALVE_T valve; - if ( TRUE == patientDisconnectionConfirmed ) + if ( STATE_CLOSED == getFPGADoorState() ) { - patientDisconnectionConfirmed = FALSE; - state = HD_POST_TREATMENT_DE_PRIME_STATE; - - for ( valve = VDI; valve < NUM_OF_VALVES; ++valve ) + if ( TRUE == patientDisconnectionConfirmed ) { - homeValve( valve ); - } + patientDisconnectionConfirmed = FALSE; + state = HD_POST_TREATMENT_DE_PRIME_STATE; - homeBloodPump(); - homeDialInPump(); - homeDialOutPump(); + for ( valve = VDI; valve < NUM_OF_VALVES; ++valve ) + { + homeValve( valve ); + } - if ( ( bolusVol > 0.0 ) || ( hepRate > 0.0 ) ) - { - // TODO: Enable when have syringe pump driver - // retractSyringePump(); + homeBloodPump(); + homeDialInPump(); + homeDialOutPump(); + + if ( ( bolusVol > 0.0 ) || ( hepRate > 0.0 ) ) + { + // TODO: Enable when have syringe pump driver + // retractSyringePump(); + } } } + else + { + activateAlarmNoData( ALARM_ID_CARTRIDGE_DOOR_OPENED ); + } return state; } @@ -279,6 +300,7 @@ if ( ( TRUE == isReservoirOneEmpty ) && ( TRUE == isReservoirTwoEmpty ) && ( TRUE == isCartridgeUnloaded() ) ) { + cmdStopDG(); requestNewOperationMode( MODE_STAN ); } }