diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-08-16 08:51:54 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-08-16 08:51:54 +0000 |
commit | b71ff7c8cd68209a74c8690f4d190cc634ef8fb3 (patch) | |
tree | 00dc93dadd1e8fc9841fec230be8dd7db006b6ba /LUFA/Drivers/USB/LowLevel | |
parent | 25ddbb9e3bcf184ebf1c17ea254b3c0c924327e2 (diff) | |
download | lufa-b71ff7c8cd68209a74c8690f4d190cc634ef8fb3.tar.gz lufa-b71ff7c8cd68209a74c8690f4d190cc634ef8fb3.tar.bz2 lufa-b71ff7c8cd68209a74c8690f4d190cc634ef8fb3.zip |
Added new EVENT_USB_Device_StartOfFrame() event, controlled by the new USB_Device_EnableSOFEvents() and USB_Device_DisableSOFEvents() macros to give bus-synchronised millisecond interrupts when in USB device mode.
Diffstat (limited to 'LUFA/Drivers/USB/LowLevel')
-rw-r--r-- | LUFA/Drivers/USB/LowLevel/Device.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/LUFA/Drivers/USB/LowLevel/Device.h b/LUFA/Drivers/USB/LowLevel/Device.h index d66def438..f107407bf 100644 --- a/LUFA/Drivers/USB/LowLevel/Device.h +++ b/LUFA/Drivers/USB/LowLevel/Device.h @@ -111,12 +111,27 @@ * \return Boolean true if the USB communications have been suspended by the host, false otherwise.
*/
static inline bool USB_Device_IsUSBSuspended(void);
+
+ /** Enables the device mode Start Of Frame events. When enabled, this causes the
+ * \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronised to the USB bus,
+ * at the start of each USB frame when enumerated in device mode.
+ */
+ static inline bool USB_Device_EnableSOFEvents(void);
+
+ /** Disables the device mode Start Of Frame events. When disabled, this stop the firing of the
+ * \ref EVENT_USB_Device_StartOfFrame() event when enumerated in device mode.
+ */
+ static inline bool USB_Device_DisableSOFEvents(void);
#else
#define USB_Device_SendRemoteWakeup() MACROS{ UDCON |= (1 << RMWKUP); }MACROE
#define USB_Device_IsRemoteWakeupSent() ((UDCON & (1 << RMWKUP)) ? false : true)
#define USB_Device_IsUSBSuspended() ((UDINT & (1 << SUSPI)) ? true : false)
+
+ #define USB_Device_EnableSOFEvents() MACROS{ USB_INT_Enable(USB_INT_SOFI); }MACROE
+
+ #define USB_Device_DisableSOFEvents() MACROS{ USB_INT_Disable(USB_INT_SOFI); }MACROE
#endif
/* Type Defines: */
|