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
					
				
					 7 changed files with 16 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -17,6 +17,7 @@
 | 
			
		|||
  *  <b>Changed:</b>
 | 
			
		||||
  *  - 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
 | 
			
		||||
  *   - 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:
 | 
			
		||||
  *   - 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.
 | 
			
		||||
 *
 | 
			
		||||
 *  \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>
 | 
			
		||||
 *    - 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.wIndex & 0xFF) != AudioInterfaceInfo->Config.StreamingInterfaceNumber)
 | 
			
		||||
		uint8_t InterfaceIndex = (USB_ControlRequest.wIndex & 0xFF);
 | 
			
		||||
	
 | 
			
		||||
		if ((InterfaceIndex != AudioInterfaceInfo->Config.ControlInterfaceNumber) &&
 | 
			
		||||
		    (InterfaceIndex != AudioInterfaceInfo->Config.StreamingInterfaceNumber))
 | 
			
		||||
		
 | 
			
		||||
		  return;
 | 
			
		||||
	}
 | 
			
		||||
	else if ((USB_ControlRequest.bmRequestType & CONTROL_REQTYPE_RECIPIENT) == REQREC_ENDPOINT)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -79,6 +79,9 @@
 | 
			
		|||
			{
 | 
			
		||||
				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
 | 
			
		||||
														*   structure controls.
 | 
			
		||||
														*/
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue