update descriptor, enhance ep in transfer
This commit is contained in:
		| @@ -86,12 +86,32 @@ enum | ||||
|  | ||||
| #if CFG_TUSB_MCU == OPT_MCU_LPC175X_6X || CFG_TUSB_MCU == OPT_MCU_LPC177X_8X || CFG_TUSB_MCU == OPT_MCU_LPC40XX | ||||
|   // LPC 17xx and 40xx endpoint type (bulk/interrupt/iso) are fixed by its number | ||||
|   // 0 control, 1 In, 2 Bulk, 3 Iso, 4 In etc ... | ||||
|   // Note: since CDC EP ( 1 & 2), HID (4) are spot-on, thus we only need to force | ||||
|   // endpoint number for MSC to 5 | ||||
|   #define EPNUM_MSC   0x05 | ||||
|   // 0 control, 1 In, 2 Bulk, 3 Iso, 4 In, 5 Bulk etc ... | ||||
|   #define EPNUM_CDC_NOTIF   0x81 | ||||
|   #define EPNUM_CDC_OUT     0x02 | ||||
|   #define EPNUM_CDC_IN      0x82 | ||||
|  | ||||
|   #define EPNUM_MSC_OUT     0x05 | ||||
|   #define EPNUM_MSC_IN      0x85 | ||||
|  | ||||
| #elif CFG_TUSB_MCU == OPT_MCU_SAMG | ||||
|   // SAMG doesn't support a same endpoint number with IN and OUT | ||||
|   //    e.g EP1 OUT & EP1 IN cannot exist together | ||||
|   #define EPNUM_CDC_NOTIF   0x81 | ||||
|   #define EPNUM_CDC_OUT     0x02 | ||||
|   #define EPNUM_CDC_IN      0x83 | ||||
|  | ||||
|   #define EPNUM_MSC_OUT     0x04 | ||||
|   #define EPNUM_MSC_IN      0x85 | ||||
|  | ||||
| #else | ||||
|   #define EPNUM_MSC   0x03 | ||||
|   #define EPNUM_CDC_NOTIF   0x81 | ||||
|   #define EPNUM_CDC_OUT     0x02 | ||||
|   #define EPNUM_CDC_IN      0x82 | ||||
|  | ||||
|   #define EPNUM_MSC_OUT     0x03 | ||||
|   #define EPNUM_MSC_IN      0x83 | ||||
|  | ||||
| #endif | ||||
|  | ||||
| uint8_t const desc_configuration[] = | ||||
| @@ -100,10 +120,10 @@ uint8_t const desc_configuration[] = | ||||
|   TUD_CONFIG_DESCRIPTOR(ITF_NUM_TOTAL, 0, CONFIG_TOTAL_LEN, TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP, 100), | ||||
|  | ||||
|   // Interface number, string index, EP notification address and size, EP data address (out, in) and size. | ||||
|   TUD_CDC_DESCRIPTOR(ITF_NUM_CDC, 4, 0x81, 8, 0x02, 0x82, 64), | ||||
|   TUD_CDC_DESCRIPTOR(ITF_NUM_CDC, 4, EPNUM_CDC_NOTIF, 8, EPNUM_CDC_OUT, EPNUM_CDC_IN, 64), | ||||
|  | ||||
|   // Interface number, string index, EP Out & EP In address, EP size | ||||
|   TUD_MSC_DESCRIPTOR(ITF_NUM_MSC, 5, EPNUM_MSC, 0x80 | EPNUM_MSC, (CFG_TUSB_RHPORT0_MODE & OPT_MODE_HIGH_SPEED) ? 512 : 64), | ||||
|   TUD_MSC_DESCRIPTOR(ITF_NUM_MSC, 5, EPNUM_MSC_OUT, EPNUM_MSC_IN, (CFG_TUSB_RHPORT0_MODE & OPT_MODE_HIGH_SPEED) ? 512 : 64), | ||||
| }; | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 hathach
					hathach