diff options
| author | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2010-12-26 13:01:37 +0000 |
|---|---|---|
| committer | Dean <Dean@d5102386-fcda-11dd-9fdb-3debd5008f28> | 2010-12-26 13:01:37 +0000 |
| commit | 0a7816059e8606337381c8d9c70f3f0bb68da52e (patch) | |
| tree | 1a33de5ae88b184555af86173669730c55dfa4b3 /Projects/USBtoSerial/USBtoSerial.c | |
| parent | f1b78470af2988814bfabfe5a29dadfb477a76bb (diff) | |
Make a new general RingBuffer.h misc library driver, instead of the per-application LightweightRingBuff.h ring buffers. Change over projects to use the new driver.
Add ORDERED_EP_CONFIG to the device Projects (only) that use only a single class driver, or where the endpoint ordering is fixed, to save on compiled binary size.
Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointers.
git-svn-id: http://lufa-lib.googlecode.com/svn/trunk@1614 d5102386-fcda-11dd-9fdb-3debd5008f28
Diffstat (limited to 'Projects/USBtoSerial/USBtoSerial.c')
| -rw-r--r-- | Projects/USBtoSerial/USBtoSerial.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Projects/USBtoSerial/USBtoSerial.c b/Projects/USBtoSerial/USBtoSerial.c index 477dd44f..e775541f 100644 --- a/Projects/USBtoSerial/USBtoSerial.c +++ b/Projects/USBtoSerial/USBtoSerial.c @@ -39,9 +39,16 @@ /** Circular buffer to hold data from the host before it is sent to the device via the serial port. */ RingBuff_t USBtoUSART_Buffer; +/** Underlying data buffer for \ref USBtoUSART_Buffer, where the stored bytes are located. */ +uint8_t USBtoUSART_Buffer_Data[128]; + /** Circular buffer to hold data from the serial port before it is sent to the host. */ RingBuff_t USARTtoUSB_Buffer; +/** Underlying data buffer for \ref USARTtoUSB_Buffer, where the stored bytes are located. */ +uint8_t USARTtoUSB_Buffer_Data[128]; + + /** LUFA CDC Class driver interface configuration and state information. This structure is * passed to all CDC Class driver functions, so that multiple instances of the same class * within a device can be differentiated from one another. @@ -73,8 +80,8 @@ int main(void) { SetupHardware(); - RingBuffer_InitBuffer(&USBtoUSART_Buffer); - RingBuffer_InitBuffer(&USARTtoUSB_Buffer); + RingBuffer_InitBuffer(&USBtoUSART_Buffer, USBtoUSART_Buffer_Data, sizeof(USBtoUSART_Buffer_Data)); + RingBuffer_InitBuffer(&USARTtoUSB_Buffer, USARTtoUSB_Buffer_Data, sizeof(USARTtoUSB_Buffer_Data)); LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY); sei(); @@ -92,7 +99,7 @@ int main(void) } /* Check if the UART receive buffer flush timer has expired or the buffer is nearly full */ - RingBuff_Count_t BufferCount = RingBuffer_GetCount(&USARTtoUSB_Buffer); + uint16_t BufferCount = RingBuffer_GetCount(&USARTtoUSB_Buffer); if ((TIFR0 & (1 << TOV0)) || (BufferCount > 200)) { /* Clear flush timer expiry flag */ |
