File daisy_versio.h¶
File List > external-docs > libDaisy > src > daisy_versio.h
Go to the documentation of this file
Source Code¶
#pragma once
#include "daisy_seed.h"
namespace daisy
{
class DaisyVersio
{
public:
// ENUMS to help index 4 LEDs, 7 knobs/CV inputs, 2 3-position switches
enum AV_LEDS
{
LED_0,
LED_1,
LED_2,
LED_3,
LED_LAST
};
enum AV_KNOBS
{
KNOB_0,
KNOB_1,
KNOB_2,
KNOB_3,
KNOB_4,
KNOB_5,
KNOB_6,
KNOB_LAST
};
enum AV_TOGGLE3
{
SW_0,
SW_1,
SW_LAST
};
DaisyVersio() {}
~DaisyVersio() {}
void Init(bool boost = false);
void DelayMs(size_t del);
void StartAudio(AudioHandle::InterleavingAudioCallback cb);
void StartAudio(AudioHandle::AudioCallback cb);
void ChangeAudioCallback(AudioHandle::InterleavingAudioCallback cb);
void ChangeAudioCallback(AudioHandle::AudioCallback cb);
void StopAudio();
void SetAudioBlockSize(size_t size);
size_t AudioBlockSize();
void SetAudioSampleRate(SaiHandle::Config::SampleRate samplerate);
float AudioSampleRate();
float AudioCallbackRate();
void StartAdc();
void StopAdc();
void ProcessAnalogControls();
inline void ProcessAllControls() { ProcessAnalogControls(); }
bool SwitchPressed();
bool Gate();
void SetLed(size_t idx, float red, float green, float blue);
float GetKnobValue(int idx);
void UpdateLeds();
/* Call this once per main loop update to test the Versio Hardware
* Each input (1 gate in, 1 momentary in, 2 3-position switches, 7 knobs) should change some or all of the output LEDs colors
**/
void UpdateExample();
DaisySeed seed;
RgbLed leds[LED_LAST];
AnalogControl knobs[KNOB_LAST];
Switch tap;
GateIn gate;
Switch3 sw[SW_LAST];
private:
void SetHidUpdateRates();
};
} // namespace daisy