]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/lx-rocon.git/commitdiff
RoCoN: USB CDC ACM use maximal packet length - 64 bytes. master
authorPavel Pisa <ppisa@pikron.com>
Tue, 7 Jul 2015 15:28:54 +0000 (17:28 +0200)
committerPavel Pisa <ppisa@pikron.com>
Tue, 7 Jul 2015 15:28:54 +0000 (17:28 +0200)
Signed-off-by: Pavel Pisa <ppisa@pikron.com>
sw/app/rocon/appl_usb.c
sw/app/rocon/usb/usb_defs.h

index f96b1f0e3cf4a3dd27675f65f09fb27819e809f5..9e87227ae33ba1faf7befe5cf3d43031a9051c93 100644 (file)
@@ -75,8 +75,8 @@ usb_ep_t eps[NUM_ENDPOINTS];
 #define CDC0_MASK_EP_RXD     (1<<CDC0_EPIDX_RXD)
 #define CDC0_MASK_EP_TXD     (1<<CDC0_EPIDX_TXD)
 
-unsigned char cdc0_ep_tx_buff[USB_MAX_PACKET] __attribute__ ((aligned (8)));
-unsigned char cdc0_ep_rx_buff[USB_MAX_PACKET] __attribute__ ((aligned (8)));
+unsigned char cdc0_ep_tx_buff[CDC0_MAX_PACKET] __attribute__ ((aligned (8)));
+unsigned char cdc0_ep_rx_buff[CDC0_MAX_PACKET] __attribute__ ((aligned (8)));
 unsigned char ep0_buffer[USB_MAX_PACKET0] __attribute__ ((aligned (8)));
 int cdc0_tx_index = 0, cdc0_tx_ready = 1;
 int cdc0_tx_flush_required;
@@ -559,8 +559,8 @@ int usb_app_init(void)
   memset(&usb_device, 0, sizeof(usb_device));
 
   eps[CDC0_EPIDX_NOTIFY].max_packet_size = USB_MAX_PACKET;
-  eps[CDC0_EPIDX_RXD].max_packet_size = USB_MAX_PACKET;
-  eps[CDC0_EPIDX_TXD].max_packet_size = USB_MAX_PACKET;
+  eps[CDC0_EPIDX_RXD].max_packet_size = CDC0_MAX_PACKET;
+  eps[CDC0_EPIDX_TXD].max_packet_size = CDC0_MAX_PACKET;
   eps[CDC0_EPIDX_NOTIFY].epnum = CDC0_EP_NOTIFY;
   eps[CDC0_EPIDX_RXD].epnum = CDC0_EP_RXD;
   eps[CDC0_EPIDX_TXD].epnum = CDC0_EP_TXD;
@@ -599,7 +599,7 @@ int cdc0_txd_check_ep(void)
   if (cdc0_tx_ready && ((cdc0_tx_index != 0) || cdc0_tx_flush_required))
   {
     usb_udev_write_endpoint(&eps[CDC0_EPIDX_TXD], cdc0_ep_tx_buff, cdc0_tx_index);
-    cdc0_tx_flush_required = (cdc0_tx_index == USB_MAX_PACKET);
+    cdc0_tx_flush_required = (cdc0_tx_index == CDC0_MAX_PACKET);
     cdc0_tx_index = 0;
     cdc0_tx_ready = 0;
     hal_gpio_set_value(LED2_PIN, 0);
@@ -628,7 +628,7 @@ int usb_app_poll(void)
   /* Check RXD/OUT endpoint */
   if (usb_device.ep_events & CDC0_MASK_EP_RXD)
   {
-    cdc0_rx_chars = usb_udev_read_endpoint(&eps[CDC0_EPIDX_RXD], cdc0_ep_rx_buff, USB_MAX_PACKET);
+    cdc0_rx_chars = usb_udev_read_endpoint(&eps[CDC0_EPIDX_RXD], cdc0_ep_rx_buff, CDC0_MAX_PACKET);
     cdc0_rx_index = 0;
     usb_device.ep_events &= ~CDC0_MASK_EP_RXD;
     hal_gpio_set_value(LED2_PIN, 0);
@@ -659,14 +659,14 @@ int cmd_io_getc_usbcon(struct cmd_io *cmd_io)
 
 int cmd_io_putc_usbcon(struct cmd_io *cmd_io, int ch)
 {
-  if (cdc0_tx_index >= USB_MAX_PACKET)
+  if (cdc0_tx_index >= CDC0_MAX_PACKET)
   {
     /* Check EP1 status and return -1 if unavailable */
     usb_check_events(&usb_device);
     cdc0_txd_check_ep();
 
     /* Check again if it wasn't emptied */
-    if (cdc0_tx_index >= USB_MAX_PACKET)
+    if (cdc0_tx_index >= CDC0_MAX_PACKET)
       return -1;
   }
 
index 0fbf6a390445f582ba63cd32c7bd79ff3f4f053e..30e827aff1fa414a509cdb012e0b05712222dc98 100644 (file)
@@ -36,6 +36,7 @@
 #define CDC0_EP_NOTIFY      0x81
 #define CDC0_EP_RXD         0x02
 #define CDC0_EP_TXD         0x82
+#define CDC0_MAX_PACKET     64
 
 #define CONFIG_DESCRIPTOR_LENGTH \
   sizeof(USB_CONFIGURATION_DESCRIPTOR) \
@@ -161,7 +162,7 @@ CODE const struct
     USB_DESCRIPTOR_TYPE_ENDPOINT,
     CDC0_EP_RXD,                      /* bEndpointAddress */
     USB_ENDPOINT_TYPE_BULK,
-    SWAP(USB_MAX_PACKET),
+    SWAP(CDC0_MAX_PACKET),
     0,                                /* bInterval (polling interval: 50ms) */
   },
   {
@@ -170,7 +171,7 @@ CODE const struct
     USB_DESCRIPTOR_TYPE_ENDPOINT,
     CDC0_EP_TXD,                      /* bEndpointAddress */
     USB_ENDPOINT_TYPE_BULK,
-    SWAP(USB_MAX_PACKET),
+    SWAP(CDC0_MAX_PACKET),
     0,                                /* bInterval (polling interval: 50ms) */
   }
 };