MSC tested with nrf52840
This commit is contained in:
		| @@ -176,7 +176,7 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|         .bDescriptorType     = TUSB_DESC_CONFIGURATION, | ||||
|  | ||||
|         .wTotalLength        = sizeof(app_descriptor_configuration_t), | ||||
|         .bNumInterfaces      = TOTAL_INTEFACES, | ||||
|         .bNumInterfaces      = ITF_TOTAL, | ||||
|  | ||||
|         .bConfigurationValue = 1, | ||||
|         .iConfiguration      = 0x00, | ||||
| @@ -191,7 +191,7 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|         .bLength           = sizeof(tusb_desc_interface_assoc_t), | ||||
|         .bDescriptorType   = TUSB_DESC_INTERFACE_ASSOCIATION, | ||||
|  | ||||
|         .bFirstInterface   = INTERFACE_NO_CDC, | ||||
|         .bFirstInterface   = ITF_NUM_CDC, | ||||
|         .bInterfaceCount   = 2, | ||||
|  | ||||
|         .bFunctionClass    = TUSB_CLASS_CDC, | ||||
| @@ -205,7 +205,7 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|     { | ||||
|         .bLength            = sizeof(tusb_desc_interface_t), | ||||
|         .bDescriptorType    = TUSB_DESC_INTERFACE, | ||||
|         .bInterfaceNumber   = INTERFACE_NO_CDC, | ||||
|         .bInterfaceNumber   = ITF_NUM_CDC, | ||||
|         .bAlternateSetting  = 0, | ||||
|         .bNumEndpoints      = 1, | ||||
|         .bInterfaceClass    = TUSB_CLASS_CDC, | ||||
| @@ -228,7 +228,7 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|         .bDescriptorType    = TUSB_DESC_CLASS_SPECIFIC, | ||||
|         .bDescriptorSubType = CDC_FUNC_DESC_CALL_MANAGEMENT, | ||||
|         .bmCapabilities     = { 0 }, | ||||
|         .bDataInterface     = INTERFACE_NO_CDC+1, | ||||
|         .bDataInterface     = ITF_NUM_CDC+1, | ||||
|     }, | ||||
|  | ||||
|     .cdc_acm = | ||||
| @@ -246,15 +246,15 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|         .bLength                  = sizeof(cdc_desc_func_union_t), // plus number of | ||||
|         .bDescriptorType          = TUSB_DESC_CLASS_SPECIFIC, | ||||
|         .bDescriptorSubType       = CDC_FUNC_DESC_UNION, | ||||
|         .bControlInterface        = INTERFACE_NO_CDC, | ||||
|         .bSubordinateInterface    = INTERFACE_NO_CDC+1, | ||||
|         .bControlInterface        = ITF_NUM_CDC, | ||||
|         .bSubordinateInterface    = ITF_NUM_CDC+1, | ||||
|     }, | ||||
|  | ||||
|     .cdc_endpoint_notification = | ||||
|     { | ||||
|         .bLength          = sizeof(tusb_desc_endpoint_t), | ||||
|         .bDescriptorType  = TUSB_DESC_ENDPOINT, | ||||
|         .bEndpointAddress = CDC_EDPT_NOTIFICATION_ADDR, | ||||
|         .bEndpointAddress = CDC_EDPT_NOTIF, | ||||
|         .bmAttributes     = { .xfer = TUSB_XFER_INTERRUPT }, | ||||
|         .wMaxPacketSize   = { .size = 0x08 }, | ||||
|         .bInterval        = 0x10 | ||||
| @@ -265,7 +265,7 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|     { | ||||
|         .bLength            = sizeof(tusb_desc_interface_t), | ||||
|         .bDescriptorType    = TUSB_DESC_INTERFACE, | ||||
|         .bInterfaceNumber   = INTERFACE_NO_CDC+1, | ||||
|         .bInterfaceNumber   = ITF_NUM_CDC+1, | ||||
|         .bAlternateSetting  = 0x00, | ||||
|         .bNumEndpoints      = 2, | ||||
|         .bInterfaceClass    = TUSB_CLASS_CDC_DATA, | ||||
| @@ -278,9 +278,9 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|     { | ||||
|         .bLength          = sizeof(tusb_desc_endpoint_t), | ||||
|         .bDescriptorType  = TUSB_DESC_ENDPOINT, | ||||
|         .bEndpointAddress = CDC_EDPT_DATA_OUT_ADDR, | ||||
|         .bEndpointAddress = CDC_EDPT_OUT, | ||||
|         .bmAttributes     = { .xfer = TUSB_XFER_BULK }, | ||||
|         .wMaxPacketSize   = { .size = CDC_EDPT_DATA_PACKETSIZE }, | ||||
|         .wMaxPacketSize   = { .size = CDC_EDPT_SIZE }, | ||||
|         .bInterval        = 0 | ||||
|     }, | ||||
|  | ||||
| @@ -288,9 +288,9 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|     { | ||||
|         .bLength          = sizeof(tusb_desc_endpoint_t), | ||||
|         .bDescriptorType  = TUSB_DESC_ENDPOINT, | ||||
|         .bEndpointAddress = CDC_EDPT_DATA_IN_ADDR, | ||||
|         .bEndpointAddress = CDC_EDPT_IN, | ||||
|         .bmAttributes     = { .xfer = TUSB_XFER_BULK }, | ||||
|         .wMaxPacketSize   = { .size = CDC_EDPT_DATA_PACKETSIZE }, | ||||
|         .wMaxPacketSize   = { .size = CDC_EDPT_SIZE }, | ||||
|         .bInterval        = 0 | ||||
|     }, | ||||
|     #endif | ||||
| @@ -375,7 +375,7 @@ app_descriptor_configuration_t const desc_configuration = | ||||
|     { | ||||
|         .bLength            = sizeof(tusb_desc_interface_t), | ||||
|         .bDescriptorType    = TUSB_DESC_INTERFACE, | ||||
|         .bInterfaceNumber   = INTERFACE_NO_MSC, | ||||
|         .bInterfaceNumber   = ITF_NUM_MSC, | ||||
|         .bAlternateSetting  = 0x00, | ||||
|         .bNumEndpoints      = 2, | ||||
|         .bInterfaceClass    = TUSB_CLASS_MSC, | ||||
|   | ||||
| @@ -56,16 +56,16 @@ | ||||
|                                            PRODUCTID_BITMAP(MSC, 4) ) ) | ||||
| #endif | ||||
|  | ||||
| #define INTERFACE_NO_CDC           0 | ||||
| #define INTERFACE_NO_HID_KEYBOARD (INTERFACE_NO_CDC          + 2*(TUSB_CFG_DEVICE_CDC ? 1 : 0) ) | ||||
| #define ITF_NUM_CDC           0 | ||||
| #define INTERFACE_NO_HID_KEYBOARD (ITF_NUM_CDC          + 2*(TUSB_CFG_DEVICE_CDC ? 1 : 0) ) | ||||
| #define INTERFACE_NO_HID_MOUSE    (INTERFACE_NO_HID_KEYBOARD + TUSB_CFG_DEVICE_HID_KEYBOARD    ) | ||||
| #define INTERFACE_NO_HID_GENERIC  (INTERFACE_NO_HID_MOUSE    + TUSB_CFG_DEVICE_HID_MOUSE       ) | ||||
| #define INTERFACE_NO_MSC          (INTERFACE_NO_HID_GENERIC  + TUSB_CFG_DEVICE_HID_GENERIC     ) | ||||
| #define ITF_NUM_MSC          (INTERFACE_NO_HID_GENERIC  + TUSB_CFG_DEVICE_HID_GENERIC     ) | ||||
|  | ||||
| #define TOTAL_INTEFACES           (2*TUSB_CFG_DEVICE_CDC + TUSB_CFG_DEVICE_HID_KEYBOARD + TUSB_CFG_DEVICE_HID_MOUSE + \ | ||||
| #define ITF_TOTAL           (2*TUSB_CFG_DEVICE_CDC + TUSB_CFG_DEVICE_HID_KEYBOARD + TUSB_CFG_DEVICE_HID_MOUSE + \ | ||||
|                                    TUSB_CFG_DEVICE_HID_GENERIC + TUSB_CFG_DEVICE_MSC) | ||||
|  | ||||
| #if (TUSB_CFG_MCU == MCU_LPC11UXX || TUSB_CFG_MCU == MCU_LPC13UXX) && (TOTAL_INTEFACES > 4) | ||||
| #if (TUSB_CFG_MCU == MCU_LPC11UXX || TUSB_CFG_MCU == MCU_LPC13UXX) && (ITF_TOTAL > 4) | ||||
|   #error These MCUs do not have enough number of endpoints for the current configuration | ||||
| #endif | ||||
|  | ||||
| @@ -78,12 +78,12 @@ | ||||
| #if TUSB_CFG_MCU == MCU_LPC175X_6X // MCUs's endpoint number has a fixed type | ||||
|  | ||||
|   //------------- CDC -------------// | ||||
|   #define CDC_EDPT_NOTIFICATION_ADDR            EDPT_IN (1) | ||||
|   #define CDC_EDPT_NOTIF            EDPT_IN (1) | ||||
|   #define CDC_EDPT_NOTIFICATION_PACKETSIZE      64 | ||||
|  | ||||
|   #define CDC_EDPT_DATA_OUT_ADDR                EDPT_OUT(2) | ||||
|   #define CDC_EDPT_DATA_IN_ADDR                 EDPT_IN (2) | ||||
|   #define CDC_EDPT_DATA_PACKETSIZE              64 | ||||
|   #define CDC_EDPT_OUT                EDPT_OUT(2) | ||||
|   #define CDC_EDPT_IN                 EDPT_IN (2) | ||||
|   #define CDC_EDPT_SIZE              64 | ||||
|  | ||||
|   //------------- HID Keyboard -------------// | ||||
|   #define HID_KEYBOARD_EDPT_ADDR                EDPT_IN (4) | ||||
| @@ -102,12 +102,12 @@ | ||||
| #else | ||||
|  | ||||
|   //------------- CDC -------------// | ||||
|   #define CDC_EDPT_NOTIFICATION_ADDR            EDPT_IN (INTERFACE_NO_CDC+1) | ||||
|   #define CDC_EDPT_NOTIF            EDPT_IN (ITF_NUM_CDC+1) | ||||
|   #define CDC_EDPT_NOTIFICATION_PACKETSIZE      64 | ||||
|  | ||||
|   #define CDC_EDPT_DATA_OUT_ADDR                EDPT_OUT(INTERFACE_NO_CDC+2) | ||||
|   #define CDC_EDPT_DATA_IN_ADDR                 EDPT_IN (INTERFACE_NO_CDC+2) | ||||
|   #define CDC_EDPT_DATA_PACKETSIZE              64 | ||||
|   #define CDC_EDPT_OUT                EDPT_OUT(ITF_NUM_CDC+2) | ||||
|   #define CDC_EDPT_IN                 EDPT_IN (ITF_NUM_CDC+2) | ||||
|   #define CDC_EDPT_SIZE              64 | ||||
|  | ||||
|   //------------- HID Keyboard -------------// | ||||
|   #define HID_KEYBOARD_EDPT_ADDR                EDPT_IN (INTERFACE_NO_HID_KEYBOARD+1) | ||||
| @@ -120,8 +120,8 @@ | ||||
|   //------------- HID Generic -------------// | ||||
|  | ||||
|   //------------- Mass Storage -------------// | ||||
|   #define MSC_EDPT_OUT_ADDR                     EDPT_OUT(INTERFACE_NO_MSC+1) | ||||
|   #define MSC_EDPT_IN_ADDR                      EDPT_IN (INTERFACE_NO_MSC+1) | ||||
|   #define MSC_EDPT_OUT_ADDR                     EDPT_OUT(ITF_NUM_MSC+1) | ||||
|   #define MSC_EDPT_IN_ADDR                      EDPT_IN (ITF_NUM_MSC+1) | ||||
|  | ||||
| #endif | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 hathach
					hathach