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) |
void | SetScale (const float scale) |
void | SetOffset (const float offset) |
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. |
Directly set the offset used by the process function Normally this will be set during initialization, but the can be used when calibartion data is used to adjust the control.
Set a new sample rate after the ctrl has been initialized
sample_rate | New update rate for the switch in hz |
Directly set the scaling factor used by the process function Normally this will be set during initialization, but the can be used when calibartion data is used to adjust the control.
|
inline |
Returns the current stored value, without reprocessing