Sound Byte Libs 29c5ff3
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
Files
Hardware Abstraction Layer

Platform-independent hardware interfaces and convenience layers. More...

Files

file  driver.hpp
 ADC driver interface - canonical types for MCU driver implementations.
 
file  handle.hpp
 ADC handle type for hardware abstraction.
 
file  scan.hpp
 ADC DMA scan interface — continuous multi-channel acquisition.
 
file  types.hpp
 ADC common types and enumerations.
 
file  driver.hpp
 Audio driver interface - canonical types and convenience functions.
 
file  types.hpp
 Audio common types and configuration.
 
file  input.hpp
 Button input convenience functions.
 
file  input.hpp
 CV input convenience functions.
 
file  voct.hpp
 V/Oct input convenience functions.
 
file  input.hpp
 Encoder input convenience functions.
 
file  driver.hpp
 GPIO driver interface - canonical types for MCU driver implementations.
 
file  handle.hpp
 GPIO handle type for hardware abstraction.
 
file  types.hpp
 GPIO common types and enumerations.
 
file  handle.hpp
 I2C handle type for hardware abstraction.
 
file  control.hpp
 ARM Cortex-M interrupt control primitives.
 
file  types.hpp
 Interrupt system types and enumerations.
 
file  output.hpp
 RGB LED output convenience functions.
 
file  barrier.hpp
 ARM Cortex-M memory barrier primitives.
 
file  input.hpp
 Pot input convenience functions.
 
file  system_time.hpp
 System timing functions for cooperative scheduling.
 
file  types.hpp
 Common timing types and enumerations.
 
file  driver.hpp
 UART driver interface - canonical types for MCU driver implementations.
 
file  handle.hpp
 UART handle type for hardware abstraction.
 

Detailed Description

Platform-independent hardware interfaces and convenience layers.

The HAL provides template-based abstractions for common microcontroller peripherals. Each platform implements these interfaces with concrete types that compile to efficient platform-specific code.

Key interfaces:

Convenience layers provide ergonomic APIs on top of drivers: