aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/XPLAINBridge/XPLAINBridge.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2010-05-26 06:59:55 +0000
committerDean Camera <dean@fourwalledcubicle.com>2010-05-26 06:59:55 +0000
commit79742c5d24929442175953c796a1834e45a93d0d (patch)
tree586e05a47ddcd226311d6f965885f3bde6c0fc4a /Projects/XPLAINBridge/XPLAINBridge.c
parent9b29d1dc5045b74516e0ddd3ffcc200ef8ad9bff (diff)
downloadlufa-79742c5d24929442175953c796a1834e45a93d0d.tar.gz
lufa-79742c5d24929442175953c796a1834e45a93d0d.tar.bz2
lufa-79742c5d24929442175953c796a1834e45a93d0d.zip
Make software USART used in the XPLAINBridge project directly check and store into the ring buffers, rather than polling from the main program loop to avoid added latency.
Diffstat (limited to 'Projects/XPLAINBridge/XPLAINBridge.c')
-rw-r--r--Projects/XPLAINBridge/XPLAINBridge.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/Projects/XPLAINBridge/XPLAINBridge.c b/Projects/XPLAINBridge/XPLAINBridge.c
index 5798c21a5..d92e2b493 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.c
+++ b/Projects/XPLAINBridge/XPLAINBridge.c
@@ -125,17 +125,9 @@ void USARTBridge_Task(void)
RingBuffer_Insert(&USBtoUART_Buffer, CDC_Device_ReceiveByte(&VirtualSerial_CDC_Interface));
/* Read bytes from the UART receive buffer into the USB IN endpoint */
- if (!(RingBuffer_Empty(&UARTtoUSB_Buffer)))
+ if (UARTtoUSB_Buffer.Count)
CDC_Device_SendByte(&VirtualSerial_CDC_Interface, RingBuffer_Remove(&UARTtoUSB_Buffer));
-
- /* Load bytes from the UART transmit buffer into the UART */
- if (!(RingBuffer_Empty(&USBtoUART_Buffer)) && SoftUART_IsReady())
- SoftUART_TxByte(RingBuffer_Remove(&USBtoUART_Buffer));
-
- /* Load bytes from the UART into the UART receive buffer */
- if (SoftUART_IsReceived())
- RingBuffer_Insert(&UARTtoUSB_Buffer, SoftUART_RxByte());
-
+
CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
}