/* ISR to manage the reception of bits to the software UART.  */
ISR(TIMER1_COMPA_vect, ISR_BLOCK)
/* ISR to manage the reception of bits to the software UART.  */
ISR(TIMER1_COMPA_vect, ISR_BLOCK)
{
	uint8_t SRX_Cached = (SRXPIN & (1 << SRX));
	if (RX_BitsRemaining)
	{
		RX_Data >>= 1;
		RX_BitsRemaining--;
		if (SRX_Cached)
		  RX_Data |= (1 << 7);
	}
	else
	{
		TCCR1B = 0;
		EIFR   = (1 << INTF0);
		EIMSK  = (1 << INT0);
		if (SRX_Cached)
		  RingBuffer_Insert(&UARTtoUSB_Buffer, RX_Data);
	}
}