Hardware Interface for control inputs
Primarily designed for ADC input controls such as
potentiometers, and control voltage.
.
More...
Hardware Interface for control inputs
Primarily designed for ADC input controls such as
potentiometers, and control voltage.
.
#include <ctrl.h>
Public Member Functions | |
AnalogControl () | |
~AnalogControl () | |
void | Init (uint16_t *adcptr, float sr, bool flip=false, bool invert=false, float slew_seconds=0.002f) |
void | InitBipolarCv (uint16_t *adcptr, float sr) |
float | Process () |
float | Value () const |
void | SetCoeff (float val) |
uint16_t | GetRawValue () |
float | GetRawFloat () |
void | SetSampleRate (float sample_rate) |
|
inline |
Constructor
|
inline |
destructor
|
inline |
Returns a normalized float value representing the current ADC value.
|
inline |
Returns the raw unsigned 16-bit value from the ADC
void daisy::AnalogControl::Init | ( | uint16_t * | adcptr, |
float | sr, | ||
bool | flip = false , |
||
bool | invert = false , |
||
float | slew_seconds = 0.002f |
||
) |
Initializes the control
*adcptr | is a pointer to the raw adc read value – This can be acquired with dsy_adc_get_rawptr(), or dsy_adc_get_mux_rawptr() |
sr | is the samplerate in Hz that the Process function will be called at. |
flip | determines whether the input is flipped (i.e. 1.f - input) or not before being processed.1 |
invert | determines whether the input is inverted (i.e. -1.f * input) or note before being processed. |
slew_seconds | is the slew time in seconds that it takes for the control to change to a new value. |
This Initializes the AnalogControl for a -5V to 5V inverted input All of the Init details are the same otherwise
*adcptr | Pointer to analog digital converter |
sr | Audio engine sample rate |
float daisy::AnalogControl::Process | ( | ) |
Filters, and transforms a raw ADC read into a normalized range. this should be called at the rate of specified by samplerate at Init time.
Default Initializations will return 0.0 -> 1.0 Bi-polar CV inputs will return -1.0 -> 1.0
Directly set the Coefficient of the one pole smoothing filter.
val | Value to set coefficient to. Max of 1, min of 0. |
Set a new sample rate after the ctrl has been initialized
sample_rate | New update rate for the switch in hz |
|
inline |
Returns the current stored value, without reprocessing