mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-17 13:12:08 +00:00
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
@ -122,6 +122,7 @@ LUFA_OPTS += -D NO_INTERNAL_SERIAL
|
|||||||
LUFA_OPTS += -D NO_DEVICE_SELF_POWER
|
LUFA_OPTS += -D NO_DEVICE_SELF_POWER
|
||||||
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
|
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
|
||||||
LUFA_OPTS += -D NO_STREAM_CALLBACKS
|
LUFA_OPTS += -D NO_STREAM_CALLBACKS
|
||||||
|
LUFA_OPTS += -D NO_SOF_EVENTS
|
||||||
|
|
||||||
|
|
||||||
# Create the LUFA source path variables by including the LUFA root makefile
|
# Create the LUFA source path variables by including the LUFA root makefile
|
||||||
|
@ -123,6 +123,7 @@ LUFA_OPTS += -D NO_INTERNAL_SERIAL
|
|||||||
LUFA_OPTS += -D NO_DEVICE_SELF_POWER
|
LUFA_OPTS += -D NO_DEVICE_SELF_POWER
|
||||||
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
|
LUFA_OPTS += -D NO_DEVICE_REMOTE_WAKEUP
|
||||||
LUFA_OPTS += -D NO_STREAM_CALLBACKS
|
LUFA_OPTS += -D NO_STREAM_CALLBACKS
|
||||||
|
LUFA_OPTS += -D NO_SOF_EVENTS
|
||||||
|
|
||||||
|
|
||||||
# Create the LUFA source path variables by including the LUFA root makefile
|
# Create the LUFA source path variables by including the LUFA root makefile
|
||||||
|
File diff suppressed because one or more lines are too long
@ -29,7 +29,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** \file
|
/** \file
|
||||||
* \brief Board specific LED driver header for the Busware CUL V3.
|
* \brief Board specific LED driver header for the Busware CULV3.
|
||||||
*
|
*
|
||||||
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
|
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
|
||||||
*
|
*
|
||||||
@ -38,7 +38,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** \ingroup Group_LEDs
|
/** \ingroup Group_LEDs
|
||||||
* @defgroup Group_LEDs_CULV3 CUL V3
|
* @defgroup Group_LEDs_CULV3 CULV3
|
||||||
*
|
*
|
||||||
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
|
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
|
||||||
*
|
*
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** \ingroup Group_LEDs
|
/** \ingroup Group_LEDs
|
||||||
* @defgroup Group_LEDs_CULV3 CUL V3
|
* @defgroup Group_LEDs_CULV3 CULV3
|
||||||
*
|
*
|
||||||
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
|
* Board specific LED driver header for the Busware CUL V3 (http://busware.de/tiki-index.php?page=CUL).
|
||||||
*
|
*
|
||||||
|
@ -148,24 +148,30 @@
|
|||||||
return UDFNUM;
|
return UDFNUM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Enables the device mode Start Of Frame events. When enabled, this causes the
|
#if !defined(NO_SOF_EVENTS)
|
||||||
* \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
|
/** Enables the device mode Start Of Frame events. When enabled, this causes the
|
||||||
* at the start of each USB frame when enumerated in device mode.
|
* \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)
|
* \note Not available when the NO_SOF_EVENTS compile time token is defined.
|
||||||
{
|
*/
|
||||||
USB_INT_Enable(USB_INT_SOFI);
|
static inline void USB_Device_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
|
||||||
}
|
static inline void USB_Device_EnableSOFEvents(void)
|
||||||
|
{
|
||||||
/** Disables the device mode Start Of Frame events. When disabled, this stops the firing of the
|
USB_INT_Enable(USB_INT_SOFI);
|
||||||
* \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
|
}
|
||||||
*/
|
|
||||||
static inline void USB_Device_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
|
/** Disables the device mode Start Of Frame events. When disabled, this stops the firing of the
|
||||||
static inline void USB_Device_DisableSOFEvents(void)
|
* \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
|
||||||
{
|
*
|
||||||
USB_INT_Disable(USB_INT_SOFI);
|
* \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 Prototypes: */
|
||||||
/** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
|
/** Function to retrieve a given descriptor's size and memory location from the given descriptor type value,
|
||||||
|
@ -253,25 +253,31 @@
|
|||||||
return UHFNUM;
|
return UHFNUM;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Enables the host mode Start Of Frame events. When enabled, this causes the
|
#if !defined(NO_SOF_EVENTS)
|
||||||
* \ref EVENT_USB_Host_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
|
/** Enables the host mode Start Of Frame events. When enabled, this causes the
|
||||||
* at the start of each USB frame when a device is enumerated while in host mode.
|
* \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)
|
* \note Not available when the NO_SOF_EVENTS compile time token is defined.
|
||||||
{
|
*/
|
||||||
USB_INT_Enable(USB_INT_HSOFI);
|
static inline void USB_Host_EnableSOFEvents(void) ATTR_ALWAYS_INLINE;
|
||||||
}
|
static inline void USB_Host_EnableSOFEvents(void)
|
||||||
|
{
|
||||||
/** Disables the host mode Start Of Frame events. When disabled, this stops the firing of the
|
USB_INT_Enable(USB_INT_HSOFI);
|
||||||
* \ref EVENT_USB_Host_StartOfFrame() event when enumerated in host mode.
|
}
|
||||||
*/
|
|
||||||
static inline void USB_Host_DisableSOFEvents(void) ATTR_ALWAYS_INLINE;
|
/** Disables the host mode Start Of Frame events. When disabled, this stops the firing of the
|
||||||
static inline void USB_Host_DisableSOFEvents(void)
|
* \ref EVENT_USB_Host_StartOfFrame() event when enumerated in host mode.
|
||||||
{
|
*
|
||||||
USB_INT_Disable(USB_INT_HSOFI);
|
* \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.
|
/** 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).
|
* 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();
|
EVENT_USB_Device_Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(NO_SOF_EVENTS)
|
||||||
if (USB_INT_HasOccurred(USB_INT_SOFI) && USB_INT_IsEnabled(USB_INT_SOFI))
|
if (USB_INT_HasOccurred(USB_INT_SOFI) && USB_INT_IsEnabled(USB_INT_SOFI))
|
||||||
{
|
{
|
||||||
USB_INT_Clear(USB_INT_SOFI);
|
USB_INT_Clear(USB_INT_SOFI);
|
||||||
|
|
||||||
EVENT_USB_Device_StartOfFrame();
|
EVENT_USB_Device_StartOfFrame();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(USB_CAN_BE_HOST)
|
#if defined(USB_CAN_BE_HOST)
|
||||||
@ -217,6 +219,7 @@ ISR(USB_GEN_vect, ISR_BLOCK)
|
|||||||
USB_ResetInterface();
|
USB_ResetInterface();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !defined(NO_SOF_EVENTS)
|
||||||
if (USB_INT_HasOccurred(USB_INT_HSOFI) && USB_INT_IsEnabled(USB_INT_HSOFI))
|
if (USB_INT_HasOccurred(USB_INT_HSOFI) && USB_INT_IsEnabled(USB_INT_HSOFI))
|
||||||
{
|
{
|
||||||
USB_INT_Clear(USB_INT_HSOFI);
|
USB_INT_Clear(USB_INT_HSOFI);
|
||||||
@ -224,6 +227,7 @@ ISR(USB_GEN_vect, ISR_BLOCK)
|
|||||||
EVENT_USB_Host_StartOfFrame();
|
EVENT_USB_Host_StartOfFrame();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(USB_CAN_BE_BOTH)
|
#if defined(USB_CAN_BE_BOTH)
|
||||||
if (USB_INT_HasOccurred(USB_INT_IDTI) && USB_INT_IsEnabled(USB_INT_IDTI))
|
if (USB_INT_HasOccurred(USB_INT_IDTI) && USB_INT_IsEnabled(USB_INT_IDTI))
|
||||||
|
@ -115,6 +115,11 @@
|
|||||||
* can be accurately set and the \ref EVENT_USB_Device_Connect() and \ref EVENT_USB_Device_Disconnect() events manually raised by the RAISE_EVENT macro.
|
* can be accurately set and the \ref EVENT_USB_Device_Connect() and \ref EVENT_USB_Device_Disconnect() events manually raised by the RAISE_EVENT macro.
|
||||||
* When defined, this token disables the library's auto-detection of the connection state by the aforementioned suspension and wake up events.
|
* When defined, this token disables the library's auto-detection of the connection state by the aforementioned suspension and wake up events.
|
||||||
*
|
*
|
||||||
|
* <b>NO_SOF_EVENTS</b> - ( \ref Group_Events ) \n
|
||||||
|
* By default, there exists a LUFA application event for the start of each USB frame while the USB bus is not suspended in either host or device mode.
|
||||||
|
* This event can be selectively enabled or disabled by calling the appropriate device or host mode function. When this compile time token is defined,
|
||||||
|
* the ability to receive USB Start of Frame events via the \ref EVENT_USB_Device_StartOfFrame() or \ref EVENT_USB_Host_StartOfFrame() events is removed,
|
||||||
|
* reducing the compiled program's binary size.
|
||||||
*
|
*
|
||||||
* \section Sec_SummaryUSBDeviceTokens USB Device Mode Driver Related Tokens
|
* \section Sec_SummaryUSBDeviceTokens USB Device Mode Driver Related Tokens
|
||||||
* This section describes compile tokens which affect USB driver stack of the LUFA library when used in Device mode.
|
* This section describes compile tokens which affect USB driver stack of the LUFA library when used in Device mode.
|
||||||
|
Loading…
Reference in New Issue
Block a user