Code
if(FALLING_EDGE_INTERRUPT_FLAG){
FALLING_EDGE_INTERRUPT_ENABLED = FALSE;
if(((FALL - RISE) > MIN_PULSE_WIDTH) & ((FALL - RISE) < MAX_PULSE_WIDTH)){
pour_action_broken_counter = 0;
pulse_counter ++;
if(~pouring & (pulse_counter > PULSES_REQUIRED)){
pouring = TRUE;
playAudio(2);
}
}
else{
pulse_counter = 0;
}
//reset capture timer values
TFALL = 0;
TRISE = 0;
FALLING_EDGE_INTERRUPT_FLAG = FALSE;
FALLING_EDGE_INTERRUPT_ENABLED = TRUE;
}
if(RISING_EDGE_INTERRUPT_FLAG){//need this in order to clear the FLAG
RISING_EDGE_INTERRUPT_FLAG = FALSE;
}