Renamed USB_Device_SetHighSpeed() to USB_Device_SetFullSpeed() so that the correct terminology is used (thanks to Brian Dickman).
Fix USB_PLL_Off() call in the series 4, 6 and 7 microcontroller disconnect interrupt handler code, which wasn't guarded by a test of USB_Options to check if the user has specified manual PLL control (thanks to Brian Dickman).
This commit is contained in:
		
							parent
							
								
									7df6b9563c
								
							
						
					
					
						commit
						a789619fbe
					
				
					 5 changed files with 10 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -93,7 +93,10 @@ ISR(USB_GEN_vect, ISR_BLOCK)
 | 
			
		|||
		
 | 
			
		||||
			USB_Detach();
 | 
			
		||||
			USB_CLK_Freeze();
 | 
			
		||||
			USB_PLL_Off();
 | 
			
		||||
 | 
			
		||||
			if (!(USB_Options & USB_OPT_MANUAL_PLL))
 | 
			
		||||
			  USB_PLL_Off();
 | 
			
		||||
 | 
			
		||||
			USB_REG_Off();
 | 
			
		||||
 | 
			
		||||
			EVENT_USB_VBUSDisconnect();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -185,7 +185,7 @@
 | 
			
		|||
	#if !defined(__DOXYGEN__)
 | 
			
		||||
		/* Macros: */		
 | 
			
		||||
			#define USB_Device_SetLowSpeed()        MACROS{ UDCON |=  (1 << LSM);   }MACROE
 | 
			
		||||
			#define USB_Device_SetHighSpeed()       MACROS{ UDCON &= ~(1 << LSM);   }MACROE
 | 
			
		||||
			#define USB_Device_SetFullSpeed()       MACROS{ UDCON &= ~(1 << LSM);   }MACROE
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -121,7 +121,9 @@ void USB_ShutDown(void)
 | 
			
		|||
	USB_ResetInterface();
 | 
			
		||||
	USB_Detach();
 | 
			
		||||
	USB_Controller_Disable();
 | 
			
		||||
	USB_PLL_Off();
 | 
			
		||||
	
 | 
			
		||||
	if (!(USB_Options & USB_OPT_MANUAL_PLL))
 | 
			
		||||
	  USB_PLL_Off();
 | 
			
		||||
	
 | 
			
		||||
	#if defined(USB_SERIES_4_AVR) || defined(USB_SERIES_6_AVR) || defined(USB_SERIES_7_AVR)
 | 
			
		||||
	USB_OTGPAD_Off();
 | 
			
		||||
| 
						 | 
				
			
			@ -188,7 +190,7 @@ void USB_ResetInterface(void)
 | 
			
		|||
		if (USB_Options & USB_DEVICE_OPT_LOWSPEED)
 | 
			
		||||
		  USB_Device_SetLowSpeed();
 | 
			
		||||
		else
 | 
			
		||||
		  USB_Device_SetHighSpeed();
 | 
			
		||||
		  USB_Device_SetFullSpeed();
 | 
			
		||||
		  
 | 
			
		||||
		USB_INT_Enable(USB_INT_VBUS);
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -64,6 +64,7 @@
 | 
			
		|||
  *    to only unfreeze and check one data pipe at a time) to prevent incorrect device enumerations and freezes while trasferring data
 | 
			
		||||
  *  - Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is
 | 
			
		||||
  *    cleared to prevent endpoint type corruption
 | 
			
		||||
  *  - Fixed USB_OPT_MANUAL_PLL option being ignored during device disconnects on some models (thanks to Brian Dickman)
 | 
			
		||||
  *  - Fixed documentation mentioning Pipe_GetCurrentToken() function when correct function name is Pipe_GetPipeToken()
 | 
			
		||||
  *  - Fixed ADC driver for the ATMEGA32U4 and ATMEGA16U4 (thanks to Opendous Inc.)
 | 
			
		||||
  *  - Fixed CDCHost demo unfreezing the pipes at the point of configuration, rather than use
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue