Tighten up the implementations of the USB_Device_SetDeviceAddress(), USB_Controller_Reset() and USB_PLL_On() functions for the AVR8 devices.
Minor corrections to the documentation of the USB_Control_Request_t enum.
This commit is contained in:
		
							parent
							
								
									87b57522b2
								
							
						
					
					
						commit
						4e601207a7
					
				
					 5 changed files with 62 additions and 62 deletions
				
			
		
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -155,28 +155,28 @@
 | 
			
		|||
			}
 | 
			
		||||
 | 
			
		||||
			#if !defined(NO_SOF_EVENTS)
 | 
			
		||||
				/** Enables the device mode Start Of Frame events. When enabled, this causes the
 | 
			
		||||
				 *  \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
 | 
			
		||||
				 *  at the start of each USB frame when enumerated in device mode.
 | 
			
		||||
				 *
 | 
			
		||||
				 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
				 */
 | 
			
		||||
				static inline void USB_Device_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
				static inline void USB_Device_EnableSOFEvents(void)
 | 
			
		||||
				{
 | 
			
		||||
					USB_INT_Enable(USB_INT_SOFI);
 | 
			
		||||
				}
 | 
			
		||||
			/** Enables the device mode Start Of Frame events. When enabled, this causes the
 | 
			
		||||
			 *  \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
 | 
			
		||||
			 *  at the start of each USB frame when enumerated in device mode.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
			 */
 | 
			
		||||
			static inline void USB_Device_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Device_EnableSOFEvents(void)
 | 
			
		||||
			{
 | 
			
		||||
				USB_INT_Enable(USB_INT_SOFI);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
				/** Disables the device mode Start Of Frame events. When disabled, this stops the firing of the
 | 
			
		||||
				 *  \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
 | 
			
		||||
				 *
 | 
			
		||||
				 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
				 */
 | 
			
		||||
				static inline void USB_Device_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
				static inline void USB_Device_DisableSOFEvents(void)
 | 
			
		||||
				{
 | 
			
		||||
					USB_INT_Disable(USB_INT_SOFI);
 | 
			
		||||
				}
 | 
			
		||||
			/** Disables the device mode Start Of Frame events. When disabled, this stops the firing of the
 | 
			
		||||
			 *  \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
			 */
 | 
			
		||||
			static inline void USB_Device_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Device_DisableSOFEvents(void)
 | 
			
		||||
			{
 | 
			
		||||
				USB_INT_Disable(USB_INT_SOFI);
 | 
			
		||||
			}
 | 
			
		||||
			#endif
 | 
			
		||||
 | 
			
		||||
	/* Private Interface - For use in library only: */
 | 
			
		||||
| 
						 | 
				
			
			@ -199,8 +199,10 @@
 | 
			
		|||
			static inline void USB_Device_SetDeviceAddress(const uint8_t Address) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Device_SetDeviceAddress(const uint8_t Address)
 | 
			
		||||
			{
 | 
			
		||||
				UDADDR  = ((UDADDR & (1 << ADDEN)) | (Address & 0x7F));
 | 
			
		||||
				UDADDR |= (1 << ADDEN);
 | 
			
		||||
				uint8_t Temp = (UDADDR & (1 << ADDEN)) | (Address & 0x7F);
 | 
			
		||||
 | 
			
		||||
				UDADDR = Temp;
 | 
			
		||||
				UDADDR = Temp | (1 << ADDEN);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			static inline bool USB_Device_IsAddressSet(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -359,20 +359,20 @@
 | 
			
		|||
			static inline void USB_PLL_On(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_PLL_On(void)
 | 
			
		||||
			{
 | 
			
		||||
				PLLCSR  = USB_PLL_PSC;
 | 
			
		||||
				PLLCSR |= (1 << PLLE);
 | 
			
		||||
				PLLCSR = USB_PLL_PSC;
 | 
			
		||||
				PLLCSR = (USB_PLL_PSC | (1 << PLLE));
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			static inline void USB_PLL_Off(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_PLL_Off(void)
 | 
			
		||||
			{
 | 
			
		||||
				PLLCSR  = 0;
 | 
			
		||||
				PLLCSR = 0;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			static inline bool USB_PLL_IsReady(void) ATTR_WARN_UNUSED_RESULT ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline bool USB_PLL_IsReady(void)
 | 
			
		||||
			{
 | 
			
		||||
				return ((PLLCSR  &   (1 << PLOCK)) ? true : false);
 | 
			
		||||
				return ((PLLCSR & (1 << PLOCK)) ? true : false);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			static inline void USB_REG_On(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
| 
						 | 
				
			
			@ -436,10 +436,8 @@
 | 
			
		|||
			static inline void USB_Controller_Reset(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Controller_Reset(void)
 | 
			
		||||
			{
 | 
			
		||||
				const uint8_t Temp = USBCON;
 | 
			
		||||
 | 
			
		||||
				USBCON = (Temp & ~(1 << USBE));
 | 
			
		||||
				USBCON = (Temp |  (1 << USBE));
 | 
			
		||||
				USBCON &= ~(1 << USBE);
 | 
			
		||||
				USBCON |=  (1 << USBE);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			#if defined(USB_CAN_BE_BOTH)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -178,17 +178,17 @@
 | 
			
		|||
			 */
 | 
			
		||||
			enum USB_Control_Request_t
 | 
			
		||||
			{
 | 
			
		||||
				REQ_GetStatus           = 0, /**< Implemented in the library for device, endpoint and interface
 | 
			
		||||
				                              *   recipients. Passed to the user application for other recipients
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				REQ_GetStatus           = 0, /**< Implemented in the library for device and endpoint recipients. Passed
 | 
			
		||||
				                              *   to the user application for other recipients via the
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_ClearFeature        = 1, /**< Implemented in the library for device, endpoint and interface
 | 
			
		||||
				                              *   recipients. Passed to the user application for other recipients
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				REQ_ClearFeature        = 1, /**< Implemented in the library for device and endpoint recipients. Passed
 | 
			
		||||
				                              *   to the user application for other recipients via the
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SetFeature          = 3, /**< Implemented in the library for device, endpoint and interface
 | 
			
		||||
				                              *   recipients. Passed to the user application for other recipients
 | 
			
		||||
				                              *   via the \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				REQ_SetFeature          = 3, /**< Implemented in the library for device and endpoint recipients. Passed
 | 
			
		||||
				                              *   to the user application for other recipients via the
 | 
			
		||||
				                              *   \ref EVENT_USB_Device_ControlRequest() event when received in
 | 
			
		||||
				                              *   device mode. */
 | 
			
		||||
				REQ_SetAddress          = 5, /**< Implemented in the library for the device recipient. Passed
 | 
			
		||||
				                              *   to the user application for other recipients via the
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,28 +145,28 @@
 | 
			
		|||
			}
 | 
			
		||||
 | 
			
		||||
			#if !defined(NO_SOF_EVENTS)
 | 
			
		||||
				/** Enables the device mode Start Of Frame events. When enabled, this causes the
 | 
			
		||||
				 *  \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
 | 
			
		||||
				 *  at the start of each USB frame when enumerated in device mode.
 | 
			
		||||
				 *
 | 
			
		||||
				 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
				 */
 | 
			
		||||
				static inline void USB_Device_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
				static inline void USB_Device_EnableSOFEvents(void)
 | 
			
		||||
				{
 | 
			
		||||
					USB_INT_Enable(USB_INT_SOFI);
 | 
			
		||||
				}
 | 
			
		||||
			/** Enables the device mode Start Of Frame events. When enabled, this causes the
 | 
			
		||||
			 *  \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
 | 
			
		||||
			 *  at the start of each USB frame when enumerated in device mode.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
			 */
 | 
			
		||||
			static inline void USB_Device_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Device_EnableSOFEvents(void)
 | 
			
		||||
			{
 | 
			
		||||
				USB_INT_Enable(USB_INT_SOFI);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
				/** Disables the device mode Start Of Frame events. When disabled, this stops the firing of the
 | 
			
		||||
				 *  \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
 | 
			
		||||
				 *
 | 
			
		||||
				 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
				 */
 | 
			
		||||
				static inline void USB_Device_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
				static inline void USB_Device_DisableSOFEvents(void)
 | 
			
		||||
				{
 | 
			
		||||
					USB_INT_Disable(USB_INT_SOFI);
 | 
			
		||||
				}
 | 
			
		||||
			/** Disables the device mode Start Of Frame events. When disabled, this stops the firing of the
 | 
			
		||||
			 *  \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
 | 
			
		||||
			 *
 | 
			
		||||
			 *  \note Not available when the \c NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
			 */
 | 
			
		||||
			static inline void USB_Device_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Device_DisableSOFEvents(void)
 | 
			
		||||
			{
 | 
			
		||||
				USB_INT_Disable(USB_INT_SOFI);
 | 
			
		||||
			}
 | 
			
		||||
			#endif
 | 
			
		||||
 | 
			
		||||
	/* Private Interface - For use in library only: */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue