|
Sound Byte Libs 29c5ff3
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
|
CV Input component — smoothed ADC reading with range scaling. More...
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... | |
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.