altos/test: Adjust CRC error rate after FEC fix
[fw/altos] / src / kernel / ao_product.c
index 3a829b3a654736e58539a7b57d22f7cc7239ed4d..eaa6c78b8626d3b0070d0d8e811ca9d70aa59352 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -54,13 +55,17 @@ const char ao_product[] = AO_iProduct_STRING;
 
 #define HEADER_LEN             9
 #define CONTROL_CLASS_LEN      35
-#define DATA_LEN               (9 + 7 * AO_USB_HAS_OUT + 7 * AO_USB_HAS_IN + 7 * AO_USB_HAS_IN2)
+#define DATA_LEN               (9 + 7 * AO_USB_HAS_OUT + 7 * AO_USB_HAS_IN + 7 * AO_USB_HAS_IN2 + 7 * AO_USB_HAS_IN3)
 
 #define TOTAL_LENGTH           (HEADER_LEN + AO_USB_HAS_INT * CONTROL_CLASS_LEN + DATA_LEN)
 #define NUM_INTERFACES         (AO_USB_HAS_INT + 1)
 
+#ifndef AO_USBCONFIG_SYMBOL
+#define AO_USBCONFIG_SYMBOL AO_ROMCONFIG_SYMBOL
+#endif
+
 /* USB descriptors in one giant block of bytes */
-AO_ROMCONFIG_SYMBOL(0x00aa) uint8_t ao_usb_descriptors [] =
+AO_USBCONFIG_SYMBOL uint8_t ao_usb_descriptors [] =
 {
        /* Device descriptor */
        0x12,
@@ -140,7 +145,7 @@ AO_ROMCONFIG_SYMBOL(0x00aa) uint8_t ao_usb_descriptors [] =
        AO_USB_DESC_INTERFACE,
        AO_USB_HAS_INT,                 /* bInterfaceNumber */
        0x00,                           /* bAlternateSetting */
-       AO_USB_HAS_OUT + AO_USB_HAS_IN + AO_USB_HAS_IN2       /* bNumEndPoints */
+       AO_USB_HAS_OUT + AO_USB_HAS_IN + AO_USB_HAS_IN2 + AO_USB_HAS_IN3,       /* bNumEndPoints */
        AO_USB_INTERFACE_CLASS_DATA,    /* bInterfaceClass = data */
        0x00,                           /* bInterfaceSubClass */
        0x00,                           /* bInterfaceProtocol */
@@ -176,6 +181,16 @@ AO_ROMCONFIG_SYMBOL(0x00aa) uint8_t ao_usb_descriptors [] =
        0x00,                   /* bInterval */
 #endif
 
+#if AO_USB_HAS_IN3
+       /* Data EP in 3 */
+       0x07,
+       AO_USB_DESC_ENDPOINT,
+       AO_USB_IN3_EP|0x80,     /* bEndpointAddress */
+       0x02,                   /* bmAttributes = bulk */
+       LE_WORD(AO_USB_IN_SIZE),/* wMaxPacketSize */
+       0x00,                   /* bInterval */
+#endif
+
        /* String descriptors */
        0x04,
        AO_USB_DESC_STRING,