Index: firmware/App/Modes/ModeDrain.c =================================================================== diff -u -rd03ddbc63925f2e5a5a5ceeba3487992e65a8ecf -r773bd9e1eebab013afa0b303231be73e8016c84c --- firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision d03ddbc63925f2e5a5a5ceeba3487992e65a8ecf) +++ firmware/App/Modes/ModeDrain.c (.../ModeDrain.c) (revision 773bd9e1eebab013afa0b303231be73e8016c84c) @@ -241,32 +241,28 @@ setValveState( VRD2, VALVE_STATE_CLOSED ); } + // check for empty bottles at the end of drain + if ( TRUE == isEmptyAcidBottle() ) // is acid volume < 10% + { + setThisFisrtFillFlag( TRUE ); // indicates bottles need prime + activateAlarmNoData( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ); // trigger empty acid bottle alarm + } + else if ( TRUE == isEmptyBicarbBottle() ) + { + setThisFisrtFillFlag( TRUE ); + activateAlarmNoData( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ); + } + if ( TRUE == isReservoirTarePending() ) { // Tare reservoir load cells at empty if requested result = DG_DRAIN_STATE_TARE; } -// else -// { -// requestNewOperationMode( DG_MODE_GENE ); -// } + else + { + requestNewOperationMode( DG_MODE_GENE ); + } } - // check for empty bottles at the end of drain - if ( TRUE == isEmptyAcidBottle() ) // is acid volume < 10% - { - setThisFisrtFillFlag( TRUE ); // indicates bottles need prime - activateAlarmNoData( ALARM_ID_DG_ACID_BOTTLE_LOW_VOLUME ); // trigger empty acid bottle alarm - } - else if ( TRUE == isEmptyBicarbBottle() ) // is bicarb volume < 10% - { - setThisFisrtFillFlag( TRUE ); // indicates bottles need prime - activateAlarmNoData( ALARM_ID_DG_BICARB_BOTTLE_LOW_VOLUME ); // trigger empty bicarb bottle alarm - } - else - { - requestNewOperationMode( DG_MODE_GENE ); // in idle, reject moving from idle to fill if alarm is active - } - // Drain timed out raise the alarm if ( TRUE == didTimeout( dialysateDrainStartTime, DIALYSATE_DRAIN_TIME_OUT ) ) {