Fixed incorrect buffer size check in the USBtoSerial project (thanks to Yuri A Nikifo...
authorDean Camera <dean@fourwalledcubicle.com>
Wed, 7 Sep 2011 12:05:37 +0000 (12:05 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Wed, 7 Sep 2011 12:05:37 +0000 (12:05 +0000)
LUFA/ManPages/ChangeLog.txt
Projects/USBtoSerial/USBtoSerial.c

index ae9976c..49e0955 100644 (file)
@@ -89,6 +89,7 @@
   *   - Fixed compile errors in the incomplete BluetoothHost demo application (thanks to Timo Lindfors)
   *   - Fixed incorrect Dataflash buffer use in the DataflashManager_WriteBlocks_RAM() function of several demos/projects (thanks to Jeremy Willden)
   *   - Fixed incorrect logging interval (always 500ms longer than requested) in the TempDataLogger project
   *   - Fixed compile errors in the incomplete BluetoothHost demo application (thanks to Timo Lindfors)
   *   - Fixed incorrect Dataflash buffer use in the DataflashManager_WriteBlocks_RAM() function of several demos/projects (thanks to Jeremy Willden)
   *   - Fixed incorrect logging interval (always 500ms longer than requested) in the TempDataLogger project
+  *   - Fixed incorrect buffer size check in the USBtoSerial project (thanks to Yuri A Nikiforov)
   *
   *  \section Sec_ChangeLog110528 Version 110528
   *  <b>New:</b>
   *
   *  \section Sec_ChangeLog110528 Version 110528
   *  <b>New:</b>
index fe685d6..c34fcf7 100644 (file)
@@ -100,7 +100,7 @@ int main(void)
                
                /* Check if the UART receive buffer flush timer has expired or the buffer is nearly full */
                uint16_t BufferCount = RingBuffer_GetCount(&USARTtoUSB_Buffer);
                
                /* Check if the UART receive buffer flush timer has expired or the buffer is nearly full */
                uint16_t BufferCount = RingBuffer_GetCount(&USARTtoUSB_Buffer);
-               if ((TIFR0 & (1 << TOV0)) || (BufferCount > 200))
+               if ((TIFR0 & (1 << TOV0)) || (BufferCount > (uint8_t)(sizeof(USARTtoUSB_Buffer_Data) * .75)))
                {
                        /* Clear flush timer expiry flag */
                        TIFR0 |= (1 << TOV0);
                {
                        /* Clear flush timer expiry flag */
                        TIFR0 |= (1 << TOV0);