Class daisy::AnalogControl¶
ClassList > daisy > AnalogControl
Hardware Interface for control inputs Primarily designed for ADC input controls such as potentiometers, and control voltage. .More...
#include <ctrl.h>
Public Functions¶
Type | Name |
---|---|
AnalogControl () |
|
float | GetRawFloat () |
uint16_t | GetRawValue () |
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 () |
void | SetCoeff (float val) |
void | SetOffset (const float offset) |
void | SetSampleRate (float sample_rate) |
void | SetScale (const float scale) |
float | Value () const |
~AnalogControl () |
Detailed Description¶
Author:
Stephen Hensley
Date:
November 2019
Public Functions Documentation¶
function AnalogControl¶
Constructor
function GetRawFloat¶
Returns a normalized float value representing the current ADC value.
function GetRawValue¶
Returns the raw unsigned 16-bit value from the ADC
function Init¶
void daisy::AnalogControl::Init (
uint16_t * adcptr,
float sr,
bool flip=false,
bool invert=false,
float slew_seconds=0.002 f
)
Initializes the control
Parameters:
*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.1invert
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.
function InitBipolarCv¶
This Initializes the AnalogControl for a -5V to 5V inverted input All of the Init details are the same otherwise
Parameters:
*adcptr
Pointer to analog digital convertersr
Audio engine sample rate
function 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
function SetCoeff¶
Directly set the Coefficient of the one pole smoothing filter.
Parameters:
val
Value to set coefficient to. Max of 1, min of 0.
function SetOffset¶
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.
function SetSampleRate¶
Set a new sample rate after the ctrl has been initialized
Parameters:
sample_rate
New update rate for the switch in hz
function SetScale¶
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.
function Value¶
Returns the current stored value, without reprocessing
function ~AnalogControl¶
destructor
The documentation for this class was generated from the following file external-docs/libDaisy/src/hid/ctrl.h