Macros
RTOS macros. More...
Macros | |
#define | GOS_INTERRUPT_CONTEXT() PLATFORM_INTERRUPT_CONTEXT() |
#define | GOS_DISABLE_INTERRUPTS() PLATFORM_DISABLE_INTERRUPTS() |
#define | GOS_ENABLE_INTERRUPTS() PLATFORM_ENABLE_INTERRUPTS() |
#define | GOS_TRIGGER_BREAKPOINT() PLATFORM_TRIGGER_BREAKPOINT() |
#define | GOS_RTOS_ISR(function) __gos_ ## function |
#define | GOS_RTOS_DEFINE_ISR(function) |
This macro allows for an interrupt callback to use RTOS structures such as semaphores and event flags. More... | |
Detailed Description
RTOS macros.
Macro Definition Documentation
◆ GOS_DISABLE_INTERRUPTS
#define GOS_DISABLE_INTERRUPTS | ( |
| ) | PLATFORM_DISABLE_INTERRUPTS() |
Disable global interrupts
GOS_INTERRUPT_CONTEXT() should be declared before using this.
GOS_ENABLE_INTERRUPTS() MUST be called to re-enable interrupts.
- Note
- This is a low-level API and should be used with extreme caution!
◆ GOS_ENABLE_INTERRUPTS
#define GOS_ENABLE_INTERRUPTS | ( |
| ) | PLATFORM_ENABLE_INTERRUPTS() |
Re-enable global interrupts
This MUST be called after using GOS_DISABLE_INTERRUPTS()
- Note
- This is a low-level API and should be used with extreme caution!
◆ GOS_INTERRUPT_CONTEXT
#define GOS_INTERRUPT_CONTEXT | ( |
| ) | PLATFORM_INTERRUPT_CONTEXT() |
Context used to store the interrupt context
This should be declared locally before GOS_DISABLE_INTERRUPTS() and GOS_ENABLE_INTERRUPTS() are used
- Note
- This is a low-level API and should be used with extreme caution!
◆ GOS_RTOS_DEFINE_ISR
#define GOS_RTOS_DEFINE_ISR | ( | function | ) |
Value:
void __gos_ ## function( void ); \
void function( void ); \
RTOS_MAKE_IRQ_THREAD_SAFE(function)
This macro allows for an interrupt callback to use RTOS structures such as semaphores and event flags.
- Note
- This is a low-level API and should be used with extreme caution!
◆ GOS_RTOS_ISR
#define GOS_RTOS_ISR | ( | function | ) | __gos_ ## function |
This is used to reference an ISR function defined with GOS_RTOS_DEFINE_ISR()
- Note
- This is a low-level API and should be used with extreme caution!
◆ GOS_TRIGGER_BREAKPOINT
#define GOS_TRIGGER_BREAKPOINT | ( |
| ) | PLATFORM_TRIGGER_BREAKPOINT() |
Trigger a debugger breakpoint
- Note
- This will always trigger a breakpoint regardless of build type.
- This is a low-level API and should be used with extreme caution!