Sound Byte Libs 29c5ff3
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs
ring_buffer.hpp File Reference

Lock-free ring buffer for ISR-safe communication. More...

#include <cstdint>
Include dependency graph for ring_buffer.hpp:

Go to the source code of this file.

Classes

class  sbl::primitives::buffers::RingBuffer< T, Size, MemoryBarrierImpl >
 Lock-free single-producer-single-consumer ring buffer. More...
 

Namespaces

namespace  sbl
 Root namespace for all Sound Byte Libs functionality.
 
namespace  sbl::primitives
 Essential data structures and algorithms.
 
namespace  sbl::primitives::buffers
 

Typedefs

template<typename MemoryBarrierImpl >
using sbl::primitives::buffers::AudioSampleBuffer = RingBuffer< int16_t, 512, MemoryBarrierImpl >
 Type alias for common audio sample buffer.
 
template<typename MemoryBarrierImpl >
using sbl::primitives::buffers::MidiEventBuffer = RingBuffer< uint8_t, 128, MemoryBarrierImpl >
 Type alias for MIDI event buffer.
 
template<typename EventType , typename MemoryBarrierImpl >
using sbl::primitives::buffers::EventBuffer = RingBuffer< EventType, 64, MemoryBarrierImpl >
 Type alias for general event buffer.
 

Detailed Description

Lock-free ring buffer for ISR-safe communication.

Provides single-producer-single-consumer (SPSC) ring buffer for safe communication between interrupt service routines and main thread without blocking or corruption.

Essential for audio applications where data must flow between interrupts and processing threads without blocking the interrupt handler.

Definition in file ring_buffer.hpp.