Added new NO_SOF_EVENTS compile time option, enabled in the bootloaders to reduce the compiled binary size.
This commit is contained in:
		
							parent
							
								
									ccc82ce745
								
							
						
					
					
						commit
						292a631b62
					
				
					 9 changed files with 64 additions and 41 deletions
				
			
		| 
						 | 
				
			
			@ -148,24 +148,30 @@
 | 
			
		|||
				return UDFNUM;
 | 
			
		||||
			}
 | 
			
		||||
		
 | 
			
		||||
			/** 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.
 | 
			
		||||
			 */
 | 
			
		||||
			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.
 | 
			
		||||
			 */
 | 
			
		||||
			static inline void USB_Device_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Device_DisableSOFEvents(void)
 | 
			
		||||
			{
 | 
			
		||||
				USB_INT_Disable(USB_INT_SOFI);
 | 
			
		||||
			}
 | 
			
		||||
			#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 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 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
 | 
			
		||||
			
 | 
			
		||||
		/* Function Prototypes: */
 | 
			
		||||
			/** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -253,25 +253,31 @@
 | 
			
		|||
				return UHFNUM;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			/** Enables the host mode Start Of Frame events. When enabled, this causes the
 | 
			
		||||
			 *  \ref EVENT_USB_Host_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
 | 
			
		||||
			 *  at the start of each USB frame when a device is enumerated while in host mode.
 | 
			
		||||
			 */
 | 
			
		||||
			static inline void USB_Host_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Host_EnableSOFEvents(void)
 | 
			
		||||
			{
 | 
			
		||||
				USB_INT_Enable(USB_INT_HSOFI);
 | 
			
		||||
			}
 | 
			
		||||
				
 | 
			
		||||
			/** Disables the host mode Start Of Frame events. When disabled, this stops the firing of the
 | 
			
		||||
			 *  \ref EVENT_USB_Host_StartOfFrame() event when enumerated in host mode.
 | 
			
		||||
			 */
 | 
			
		||||
			static inline void USB_Host_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
			static inline void USB_Host_DisableSOFEvents(void)
 | 
			
		||||
			{
 | 
			
		||||
				USB_INT_Disable(USB_INT_HSOFI);
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			#if !defined(NO_SOF_EVENTS)
 | 
			
		||||
				/** Enables the host mode Start Of Frame events. When enabled, this causes the
 | 
			
		||||
				 *  \ref EVENT_USB_Host_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
 | 
			
		||||
				 *  at the start of each USB frame when a device is enumerated while in host mode.
 | 
			
		||||
				 *
 | 
			
		||||
				 *  \note Not available when the NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
				 */
 | 
			
		||||
				static inline void USB_Host_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
				static inline void USB_Host_EnableSOFEvents(void)
 | 
			
		||||
				{
 | 
			
		||||
					USB_INT_Enable(USB_INT_HSOFI);
 | 
			
		||||
				}
 | 
			
		||||
					
 | 
			
		||||
				/** Disables the host mode Start Of Frame events. When disabled, this stops the firing of the
 | 
			
		||||
				 *  \ref EVENT_USB_Host_StartOfFrame() event when enumerated in host mode.
 | 
			
		||||
				 *
 | 
			
		||||
				 *  \note Not available when the NO_SOF_EVENTS compile time token is defined.
 | 
			
		||||
				 */
 | 
			
		||||
				static inline void USB_Host_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
 | 
			
		||||
				static inline void USB_Host_DisableSOFEvents(void)
 | 
			
		||||
				{
 | 
			
		||||
					USB_INT_Disable(USB_INT_HSOFI);
 | 
			
		||||
				}
 | 
			
		||||
			#endif
 | 
			
		||||
			
 | 
			
		||||
			/** Resets the USB bus, including the endpoints in any attached device and pipes on the AVR host.
 | 
			
		||||
			 *  USB bus resets leave the default control pipe configured (if already configured).
 | 
			
		||||
			 *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -162,12 +162,14 @@ ISR(USB_GEN_vect, ISR_BLOCK)
 | 
			
		|||
		EVENT_USB_Device_Reset();
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	#if !defined(NO_SOF_EVENTS)
 | 
			
		||||
	if (USB_INT_HasOccurred(USB_INT_SOFI) && USB_INT_IsEnabled(USB_INT_SOFI))
 | 
			
		||||
	{
 | 
			
		||||
		USB_INT_Clear(USB_INT_SOFI);
 | 
			
		||||
		
 | 
			
		||||
		EVENT_USB_Device_StartOfFrame();
 | 
			
		||||
	}
 | 
			
		||||
	#endif	
 | 
			
		||||
	#endif
 | 
			
		||||
	
 | 
			
		||||
	#if defined(USB_CAN_BE_HOST)
 | 
			
		||||
| 
						 | 
				
			
			@ -217,6 +219,7 @@ ISR(USB_GEN_vect, ISR_BLOCK)
 | 
			
		|||
		USB_ResetInterface();
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	#if !defined(NO_SOF_EVENTS)
 | 
			
		||||
	if (USB_INT_HasOccurred(USB_INT_HSOFI) && USB_INT_IsEnabled(USB_INT_HSOFI))
 | 
			
		||||
	{
 | 
			
		||||
		USB_INT_Clear(USB_INT_HSOFI);
 | 
			
		||||
| 
						 | 
				
			
			@ -224,6 +227,7 @@ ISR(USB_GEN_vect, ISR_BLOCK)
 | 
			
		|||
		EVENT_USB_Host_StartOfFrame();
 | 
			
		||||
	}
 | 
			
		||||
	#endif
 | 
			
		||||
	#endif
 | 
			
		||||
 | 
			
		||||
	#if defined(USB_CAN_BE_BOTH)
 | 
			
		||||
	if (USB_INT_HasOccurred(USB_INT_IDTI) && USB_INT_IsEnabled(USB_INT_IDTI))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue