Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
audio_requirements.hpp File Reference

Audio driver requirements validator. More...

Detailed Description

Audio driver requirements validator.

Validates that audio drivers provide required functionality using the method detection system. This is the core audio contract enforcement for Sound Byte Libs drivers.

Audio Driver Contract

Every Sound Byte Libs audio driver MUST implement these methods:

  • init() - Initialize with default settings
  • init(const AudioConfig&) - Initialize with custom settings
  • set_callback(AudioCallback) - Register processing callback
  • start() - Begin audio streaming
  • stop() - Stop audio streaming

Validation Usage

Add validation at the bottom of driver sai.hpp (or i2s.hpp, etc.):

static_assert(sbl::validation::audio_driver_valid<sbl::driver::Sai>,
"SAI driver missing required audio methods");
Audio driver requirements validator.
See also
method_detection.hpp

Definition in file audio_requirements.hpp.

Go to the source code of this file.

Classes

class  sbl::validation::AudioDriverRequirements< AudioDriver >
 Audio driver requirements validator. More...
 

Namespaces

namespace  sbl
 Root namespace for all Sound Byte Libs code.
 
namespace  sbl::validation
 Compile-time driver contracts.
 

Variables

template<typename AudioDriver >
constexpr bool sbl::validation::audio_driver_valid = AudioDriverRequirements<AudioDriver>::validate()
 Helper to validate an audio driver implementation.