X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/e6dc95163094692d11715711d5c1aaa19841dd77..e9029d49d5455ec146d2e87436d43d747d6c657a:/Projects/USBtoSerial/USBtoSerial.c diff --git a/Projects/USBtoSerial/USBtoSerial.c b/Projects/USBtoSerial/USBtoSerial.c index 59f8edb69..c34fcf70a 100644 --- a/Projects/USBtoSerial/USBtoSerial.c +++ b/Projects/USBtoSerial/USBtoSerial.c @@ -37,17 +37,16 @@ #include "USBtoSerial.h" /** Circular buffer to hold data from the host before it is sent to the device via the serial port. */ -RingBuffer_t USBtoUSART_Buffer; +static RingBuffer_t USBtoUSART_Buffer; /** Underlying data buffer for \ref USBtoUSART_Buffer, where the stored bytes are located. */ -uint8_t USBtoUSART_Buffer_Data[128]; +static uint8_t USBtoUSART_Buffer_Data[128]; /** Circular buffer to hold data from the serial port before it is sent to the host. */ -RingBuffer_t USARTtoUSB_Buffer; +static RingBuffer_t USARTtoUSB_Buffer; /** Underlying data buffer for \ref USARTtoUSB_Buffer, where the stored bytes are located. */ -uint8_t USARTtoUSB_Buffer_Data[128]; - +static 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 @@ -73,6 +72,7 @@ USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface = }, }; + /** Main program entry point. This routine contains the overall program flow, including initial * setup of all components and the main program loop. */ @@ -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); - 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); @@ -122,7 +122,7 @@ int main(void) /* Load the next byte from the USART transmit buffer into the USART */ if (!(RingBuffer_IsEmpty(&USBtoUSART_Buffer))) - Serial_TxByte(RingBuffer_Remove(&USBtoUSART_Buffer)); + Serial_SendByte(RingBuffer_Remove(&USBtoUSART_Buffer)); CDC_Device_USBTask(&VirtualSerial_CDC_Interface); USB_USBTask();