UAC2: refactor interrupt endpoint support.
This commit is contained in:
		@@ -393,6 +393,11 @@ TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb
 | 
			
		||||
 | 
			
		||||
// For more channels, add definitions here
 | 
			
		||||
 | 
			
		||||
/* Standard AC Interrupt Endpoint Descriptor(4.8.2.1) */
 | 
			
		||||
#define TUD_AUDIO_DESC_STD_AC_INT_EP_LEN 7
 | 
			
		||||
#define TUD_AUDIO_DESC_STD_AC_INT_EP(_ep, _interval) \
 | 
			
		||||
  TUD_AUDIO_DESC_STD_AC_INT_EP_LEN, TUSB_DESC_ENDPOINT, _ep, TUSB_XFER_INTERRUPT, U16_TO_U8S_LE(6), _interval
 | 
			
		||||
 | 
			
		||||
/* Standard AS Interface Descriptor(4.9.1) */
 | 
			
		||||
#define TUD_AUDIO_DESC_STD_AS_INT_LEN 9
 | 
			
		||||
#define TUD_AUDIO_DESC_STD_AS_INT(_itfnum, _altset, _nEPs, _stridx) \
 | 
			
		||||
@@ -468,7 +473,7 @@ TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb
 | 
			
		||||
  /* Type I Format Type Descriptor(2.3.1.6 - Audio Formats) */\
 | 
			
		||||
  TUD_AUDIO_DESC_TYPE_I_FORMAT(_nBytesPerSample, _nBitsUsedPerSample),\
 | 
			
		||||
  /* Standard AS Isochronous Audio Data Endpoint Descriptor(4.10.1.1) */\
 | 
			
		||||
  TUD_AUDIO_DESC_STD_AS_ISO_EP(/*_ep*/ _epin, /*_attr*/ (uint8_t) (TUSB_XFER_ISOCHRONOUS | TUSB_ISO_EP_ATT_ASYNCHRONOUS | TUSB_ISO_EP_ATT_DATA), /*_maxEPsize*/ _epsize, /*_interval*/ 0x01),\
 | 
			
		||||
  TUD_AUDIO_DESC_STD_AS_ISO_EP(/*_ep*/ _epin, /*_attr*/ (uint8_t) ((uint8_t)TUSB_XFER_ISOCHRONOUS | (uint8_t)TUSB_ISO_EP_ATT_ASYNCHRONOUS | (uint8_t)TUSB_ISO_EP_ATT_DATA), /*_maxEPsize*/ _epsize, /*_interval*/ 0x01),\
 | 
			
		||||
  /* Class-Specific AS Isochronous Audio Data Endpoint Descriptor(4.10.1.2) */\
 | 
			
		||||
  TUD_AUDIO_DESC_CS_AS_ISO_EP(/*_attr*/ AUDIO_CS_AS_ISO_DATA_EP_ATT_NON_MAX_PACKETS_OK, /*_ctrl*/ AUDIO_CTRL_NONE, /*_lockdelayunit*/ AUDIO_CS_AS_ISO_DATA_EP_LOCK_DELAY_UNIT_UNDEFINED, /*_lockdelay*/ 0x0000)
 | 
			
		||||
 | 
			
		||||
@@ -517,7 +522,7 @@ TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb
 | 
			
		||||
  /* Type I Format Type Descriptor(2.3.1.6 - Audio Formats) */\
 | 
			
		||||
  TUD_AUDIO_DESC_TYPE_I_FORMAT(_nBytesPerSample, _nBitsUsedPerSample),\
 | 
			
		||||
  /* Standard AS Isochronous Audio Data Endpoint Descriptor(4.10.1.1) */\
 | 
			
		||||
  TUD_AUDIO_DESC_STD_AS_ISO_EP(/*_ep*/ _epin, /*_attr*/ (uint8_t) (TUSB_XFER_ISOCHRONOUS | TUSB_ISO_EP_ATT_ASYNCHRONOUS | TUSB_ISO_EP_ATT_DATA), /*_maxEPsize*/ _epsize, /*_interval*/ 0x01),\
 | 
			
		||||
  TUD_AUDIO_DESC_STD_AS_ISO_EP(/*_ep*/ _epin, /*_attr*/ (uint8_t) ((uint8_t)TUSB_XFER_ISOCHRONOUS | (uint8_t)TUSB_ISO_EP_ATT_ASYNCHRONOUS | (uint8_t)TUSB_ISO_EP_ATT_DATA), /*_maxEPsize*/ _epsize, /*_interval*/ 0x01),\
 | 
			
		||||
  /* Class-Specific AS Isochronous Audio Data Endpoint Descriptor(4.10.1.2) */\
 | 
			
		||||
  TUD_AUDIO_DESC_CS_AS_ISO_EP(/*_attr*/ AUDIO_CS_AS_ISO_DATA_EP_ATT_NON_MAX_PACKETS_OK, /*_ctrl*/ AUDIO_CTRL_NONE, /*_lockdelayunit*/ AUDIO_CS_AS_ISO_DATA_EP_LOCK_DELAY_UNIT_UNDEFINED, /*_lockdelay*/ 0x0000)
 | 
			
		||||
 | 
			
		||||
@@ -565,7 +570,7 @@ TU_ATTR_WEAK bool tud_vendor_control_xfer_cb(uint8_t rhport, uint8_t stage, tusb
 | 
			
		||||
  /* Type I Format Type Descriptor(2.3.1.6 - Audio Formats) */\
 | 
			
		||||
  TUD_AUDIO_DESC_TYPE_I_FORMAT(_nBytesPerSample, _nBitsUsedPerSample),\
 | 
			
		||||
  /* Standard AS Isochronous Audio Data Endpoint Descriptor(4.10.1.1) */\
 | 
			
		||||
  TUD_AUDIO_DESC_STD_AS_ISO_EP(/*_ep*/ _epout, /*_attr*/ (uint8_t) (TUSB_XFER_ISOCHRONOUS | TUSB_ISO_EP_ATT_ASYNCHRONOUS | TUSB_ISO_EP_ATT_DATA), /*_maxEPsize*/ _epsize, /*_interval*/ 0x01),\
 | 
			
		||||
  TUD_AUDIO_DESC_STD_AS_ISO_EP(/*_ep*/ _epout, /*_attr*/ (uint8_t) ((uint8_t)TUSB_XFER_ISOCHRONOUS | (uint8_t)TUSB_ISO_EP_ATT_ASYNCHRONOUS | (uint8_t)TUSB_ISO_EP_ATT_DATA), /*_maxEPsize*/ _epsize, /*_interval*/ 0x01),\
 | 
			
		||||
  /* Class-Specific AS Isochronous Audio Data Endpoint Descriptor(4.10.1.2) */\
 | 
			
		||||
  TUD_AUDIO_DESC_CS_AS_ISO_EP(/*_attr*/ AUDIO_CS_AS_ISO_DATA_EP_ATT_NON_MAX_PACKETS_OK, /*_ctrl*/ AUDIO_CTRL_NONE, /*_lockdelayunit*/ AUDIO_CS_AS_ISO_DATA_EP_LOCK_DELAY_UNIT_UNDEFINED, /*_lockdelay*/ 0x0000),\
 | 
			
		||||
  /* Standard AS Isochronous Feedback Endpoint Descriptor(4.10.2.1) */\
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user