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

CV Input component — smoothed ADC reading with range scaling. More...

#include <cstdint>
#include <sbl/primitives/math/ewma.hpp>
#include <sbl/dsp/warp.hpp>
Include dependency graph for input.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sbl::components::cv::CvInputConfig
 
class  sbl::components::cv::CvInput
 Smoothed CV input with EWMA filtering and range scaling. More...
 

Namespaces

namespace  sbl
 Root namespace for all Sound Byte Libs functionality.
 
namespace  sbl::components
 Mid-level functional components.
 
namespace  sbl::components::cv
 CV/gate input components.
 

Enumerations

enum class  sbl::components::cv::Smoothing : uint8_t { sbl::components::cv::None = 0 , sbl::components::cv::Light = 1 , sbl::components::cv::Medium = 3 , sbl::components::cv::Heavy = 5 }
 Smoothing presets for CvInput EWMA filter. More...
 

Detailed Description

CV Input component — smoothed ADC reading with range scaling.

CvInput is a pure signal-processing component (I/O Stack). It takes raw ADC values, applies EWMA smoothing, and provides scaled output. It does NOT call the ADC driver — the application feeds it values, making it agnostic to the acquisition strategy (polling, DMA, etc.).

Usage: sbl::components::cv::CvInput knob; knob.update(raw_adc_value); uint16_t smooth = knob.value(); // 0–65535 int32_t param = knob.scaled(50, 500); // map to parameter range

Definition in file input.hpp.