Skip to content
Snippets Groups Projects
Commit d08116b0 authored by Dean Camera's avatar Dean Camera
Browse files

Create a new Common module documentation group for the new Global Interrupt macros.

parent c263ea83
No related branches found
No related tags found
No related merge requests found
......@@ -48,6 +48,12 @@
*
* Macros to aid debugging of a user application.
*/
/** \defgroup Group_GlobalInt Global Interrupt Macros
* \brief Convenience macros for the management of interrupts globally within the device.
*
* Macros and functions to create and control global interrupts within the device.
*/
#ifndef __LUFA_COMMON_H__
#define __LUFA_COMMON_H__
......@@ -228,6 +234,8 @@
* \note This is supplied on some architectures where the standard library does not include a valid
* definition. If an existing definition exists, the definition here will be ignored.
*
* \ingroup Group_GlobalInt
*
* \param Name Unique name of the interrupt service routine.
*/
#define ISR(Name, ...) void Name (void) __attribute__((__interrupt__)); void Name (void)
......@@ -280,6 +288,8 @@
* value can be stored before altering the global interrupt enable state, before restoring the
* flag(s) back to their previous values after a critical section using \ref SetGlobalInterruptMask().
*
* \ingroup Group_GlobalInt
*
* \return Mask containing the current Global Interrupt Enable Mask bit(s).
*/
static inline uint_reg_t GetGlobalInterruptMask(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT;
......@@ -300,6 +310,8 @@
* This can be combined with \ref GetGlobalInterruptMask() to save and restore the Global Interrupt Enable
* Mask bit(s) of the device after a critical section has completed.
*
* \ingroup Group_GlobalInt
*
* \param[in] GlobalIntState Global Interrupt Enable Mask value to use
*/
static inline void SetGlobalInterruptMask(const uint_reg_t GlobalIntState) ATTR_ALWAYS_INLINE;
......@@ -319,7 +331,10 @@
GCC_MEMORY_BARRIER();
}
/** Enables global interrupt handling for the device, allowing interrupts to be handled. */
/** Enables global interrupt handling for the device, allowing interrupts to be handled.
*
* \ingroup Group_GlobalInt
*/
static inline void GlobalInterruptEnable(void) ATTR_ALWAYS_INLINE;
static inline void GlobalInterruptEnable(void)
{
......@@ -334,7 +349,10 @@
GCC_MEMORY_BARRIER();
}
/** Disabled global interrupt handling for the device, preventing interrupts from being handled. */
/** Disabled global interrupt handling for the device, preventing interrupts from being handled.
*
* \ingroup Group_GlobalInt
*/
static inline void GlobalInterruptDisable(void) ATTR_ALWAYS_INLINE;
static inline void GlobalInterruptDisable(void)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment