diff options
Diffstat (limited to 'firmware/usbstack')
| -rw-r--r-- | firmware/usbstack/usb_serial.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/firmware/usbstack/usb_serial.c b/firmware/usbstack/usb_serial.c index c02f6cd..7c425dc 100644 --- a/firmware/usbstack/usb_serial.c +++ b/firmware/usbstack/usb_serial.c @@ -60,6 +60,11 @@ static unsigned char send_buffer[BUFFER_SIZE] USB_DEVBSS_ATTR __attribute__((aligned(32))); static unsigned char receive_buffer[32] USB_DEVBSS_ATTR __attribute__((aligned(32))); +#if CONFIG_USBOTG == USBOTG_DESIGNWARE +/* Aligned transit buffer */ +static unsigned char transit_buffer[32] + USB_DEVBSS_ATTR __attribute__((aligned(4))); +#endif static void sendout(void); @@ -154,13 +159,6 @@ void usb_serial_disconnect(void) active = false; } -#define ALIGNED_BUFFER_QUICK_PATCH - -#ifdef ALIGNED_BUFFER_QUICK_PATCH -static unsigned char aligned_buffer[32] - USB_DEVBSS_ATTR __attribute__((aligned(4))); -#endif - static void sendout(void) { buffer_transitlength = MIN(buffer_length,BUFFER_SIZE-buffer_start); @@ -170,9 +168,9 @@ static void sendout(void) if(buffer_transitlength > 0) { buffer_length -= buffer_transitlength; -#ifdef ALIGNED_BUFFER_QUICK_PATCH - memcpy(aligned_buffer, &send_buffer[buffer_start], buffer_transitlength); - usb_drv_send_nonblocking(ep_in, aligned_buffer, buffer_transitlength); +#if CONFIG_USBOTG == USBOTG_DESIGNWARE + memcpy(transit_buffer,&send_buffer[buffer_start],buffer_transitlength); + usb_drv_send_nonblocking(ep_in,transit_buffer,buffer_transitlength); #else usb_drv_send_nonblocking(ep_in, &send_buffer[buffer_start], buffer_transitlength); |