Sound Byte Libs 1ee2ca6
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
Classes | Namespaces | Macros
critical_section.hpp File Reference

ARM Cortex-M RAII critical section for interrupt disable/restore. More...

#include <sbl/core/hal/interrupts/control.hpp>
Include dependency graph for critical_section.hpp:

Go to the source code of this file.

Classes

class  sbl::core::patterns::synchronization::CriticalSection
 ARM Cortex-M RAII critical section using PRIMASK. More...
 

Namespaces

namespace  sbl
 Root namespace for all Sound Byte Libs functionality.
 
namespace  sbl::core
 
namespace  sbl::core::patterns
 
namespace  sbl::core::patterns::synchronization
 

Macros

#define CRITICAL_SECTION    if (auto cs = sbl::core::patterns::synchronization::CriticalSection(); true)
 Convenience macro for ARM critical sections.
 

Detailed Description

ARM Cortex-M RAII critical section for interrupt disable/restore.

Provides automatic ARM interrupt disable/restore using HAL interrupt primitives. RAII wrapper that ensures interrupt state is always restored properly.

Definition in file critical_section.hpp.

Macro Definition Documentation

◆ CRITICAL_SECTION

#define CRITICAL_SECTION    if (auto cs = sbl::core::patterns::synchronization::CriticalSection(); true)

Convenience macro for ARM critical sections.

Creates an ARM critical section with automatic variable naming. Simplified for ARM-only usage without controller parameter.

Usage:

// Protected code here - ARM interrupts disabled
shared_data++;
} // Automatically restored
#define CRITICAL_SECTION
Convenience macro for ARM critical sections.

Definition at line 90 of file critical_section.hpp.