|
|
|
@ -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; |
|
|
|
|