Moved fifo read into interrupt service routine