mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 13:22:31 +01:00 
			
		
		
		
	Audio Device Class driver changed to also require the index of the Audio Control interface within the device, for SET/GET/CUR/MIN/MAX/RES property adjustments.
This commit is contained in:
		
							parent
							
								
									c0f763db04
								
							
						
					
					
						commit
						77adb2ba52
					
				| @ -44,6 +44,7 @@ USB_ClassInfo_Audio_Device_t Microphone_Audio_Interface = | |||||||
| 	{ | 	{ | ||||||
| 		.Config = | 		.Config = | ||||||
| 			{ | 			{ | ||||||
|  | 				.ControlInterfaceNumber   = 0, | ||||||
| 				.StreamingInterfaceNumber = 1, | 				.StreamingInterfaceNumber = 1, | ||||||
| 
 | 
 | ||||||
| 				.DataINEndpointNumber     = AUDIO_STREAM_EPNUM, | 				.DataINEndpointNumber     = AUDIO_STREAM_EPNUM, | ||||||
|  | |||||||
| @ -44,6 +44,7 @@ USB_ClassInfo_Audio_Device_t Speaker_Audio_Interface = | |||||||
| 	{ | 	{ | ||||||
| 		.Config = | 		.Config = | ||||||
| 			{ | 			{ | ||||||
|  | 				.ControlInterfaceNumber   = 0, | ||||||
| 				.StreamingInterfaceNumber = 1, | 				.StreamingInterfaceNumber = 1, | ||||||
| 
 | 
 | ||||||
| 				.DataOUTEndpointNumber    = AUDIO_STREAM_EPNUM, | 				.DataOUTEndpointNumber    = AUDIO_STREAM_EPNUM, | ||||||
|  | |||||||
| @ -17,6 +17,7 @@ | |||||||
|   *  <b>Changed:</b> |   *  <b>Changed:</b> | ||||||
|   *  - Core: |   *  - Core: | ||||||
|   *   - Android Accessory Host property strings changed from a struct of pointer to an array to prevent unaligned access on greater than 8-bit architectures |   *   - Android Accessory Host property strings changed from a struct of pointer to an array to prevent unaligned access on greater than 8-bit architectures | ||||||
|  |   *   - Audio Device Class driver changed to also require the index of the Audio Control interface within the device, for SET/GET/CUR/MIN/MAX/RES property adjustments  | ||||||
|   *  - Library Applications: |   *  - Library Applications: | ||||||
|   *   - Raised the guard bits in the AVRISP-MKII clone project when in PDI and TPI to 32, to prevent communication errors on low quality connections to a target |   *   - Raised the guard bits in the AVRISP-MKII clone project when in PDI and TPI to 32, to prevent communication errors on low quality connections to a target | ||||||
|   * |   * | ||||||
|  | |||||||
| @ -11,6 +11,10 @@ | |||||||
|  *  areas relevant to making older projects compatible with the API changes of each new release. |  *  areas relevant to making older projects compatible with the API changes of each new release. | ||||||
|  * |  * | ||||||
|  *  \section Sec_MigrationXXXXXX Migrating from 120219 to XXXXXX |  *  \section Sec_MigrationXXXXXX Migrating from 120219 to XXXXXX | ||||||
|  |  *  <b>Device Mode</b> | ||||||
|  |  *    - The device mode Audio Class driver now requires an additional configuration parameter, the Audio Control interface index. Existing applications should | ||||||
|  |  *      be adjusted to specify the additional configuration parameter. | ||||||
|  |  * | ||||||
|  *  <b>Host Mode</b> |  *  <b>Host Mode</b> | ||||||
|  *    - The Android Accessory Host class driver property strings are now a array of \c char* rather than a struct of named pointers. Existing applications |  *    - The Android Accessory Host class driver property strings are now a array of \c char* rather than a struct of named pointers. Existing applications | ||||||
|  *      should use C99 Designated Initializers with the property string indexes located in \ref AOA_Strings_t instead. |  *      should use C99 Designated Initializers with the property string indexes located in \ref AOA_Strings_t instead. | ||||||
|  | |||||||
| @ -44,7 +44,11 @@ void Audio_Device_ProcessControlRequest(USB_ClassInfo_Audio_Device_t* const Audi | |||||||
| 
 | 
 | ||||||
| 	if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT) == REQREC_INTERFACE) | 	if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT) == REQREC_INTERFACE) | ||||||
| 	{ | 	{ | ||||||
| 		if ((USB_ControlRequest.wIndex & 0xFF) != AudioInterfaceInfo->Config.StreamingInterfaceNumber) | 		uint8_t InterfaceIndex = (USB_ControlRequest.wIndex & 0xFF); | ||||||
|  | 	 | ||||||
|  | 		if ((InterfaceIndex != AudioInterfaceInfo->Config.ControlInterfaceNumber) && | ||||||
|  | 		    (InterfaceIndex != AudioInterfaceInfo->Config.StreamingInterfaceNumber)) | ||||||
|  | 		 | ||||||
| 		  return; | 		  return; | ||||||
| 	} | 	} | ||||||
| 	else if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT) == REQREC_ENDPOINT) | 	else if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT) == REQREC_ENDPOINT) | ||||||
|  | |||||||
| @ -79,6 +79,9 @@ | |||||||
| 			{ | 			{ | ||||||
| 				struct | 				struct | ||||||
| 				{ | 				{ | ||||||
|  | 					uint8_t  ControlInterfaceNumber; /**< Index of the Audio Control interface within the device this
 | ||||||
|  | 					                                  *   structure controls. | ||||||
|  | 					                                  */ | ||||||
| 					uint8_t  StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this
 | 					uint8_t  StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this
 | ||||||
| 														*   structure controls. | 														*   structure controls. | ||||||
| 														*/ | 														*/ | ||||||
|  | |||||||
| @ -6,7 +6,7 @@ | |||||||
| #           www.lufa-lib.org
 | #           www.lufa-lib.org
 | ||||||
| #
 | #
 | ||||||
| 
 | 
 | ||||||
| # Maintenance scripts not required by general LUFA users, used for development.
 | # Maintenance scripts not required by general LUFA users, used for project development purposes.
 | ||||||
| 
 | 
 | ||||||
| LUFA_ROOT = ../ | LUFA_ROOT = ../ | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Dean Camera
						Dean Camera