File daisy_pod.h¶
File List > external-docs > libDaisy > src > daisy_pod.h
Go to the documentation of this file
Source Code¶
#pragma once
#ifndef DSY_POD_BSP_H
#define DSY_POD_BSP_H
#include "daisy_seed.h"
namespace daisy
{
class DaisyPod
{
public:
enum Sw
{
BUTTON_1,
BUTTON_2,
BUTTON_LAST,
};
enum Knob
{
KNOB_1,
KNOB_2,
KNOB_LAST,
};
DaisyPod() {}
~DaisyPod() {}
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 SetAudioSampleRate(SaiHandle::Config::SampleRate samplerate);
float AudioSampleRate();
void SetAudioBlockSize(size_t blocksize);
size_t AudioBlockSize();
float AudioCallbackRate();
void StartAdc();
void StopAdc();
void ProcessAnalogControls();
inline void ProcessAllControls()
{
ProcessAnalogControls();
ProcessDigitalControls();
}
float GetKnobValue(Knob k);
void ProcessDigitalControls();
void ClearLeds();
void UpdateLeds();
DaisySeed seed;
Encoder encoder;
AnalogControl knob1,
knob2,
*knobs[KNOB_LAST];
Switch button1,
button2,
*buttons[BUTTON_LAST];
RgbLed led1,
led2;
MidiUartHandler midi;
private:
void SetHidUpdateRates();
void InitButtons();
void InitEncoder();
void InitLeds();
void InitKnobs();
void InitMidi();
};
} // namespace daisy
#endif