diff --git a/src/main_testtone.cc b/src/main_testtone.cc index ddf1ea2..0890985 100644 --- a/src/main_testtone.cc +++ b/src/main_testtone.cc @@ -1,43 +1,54 @@ -#include "daisy_seed.h" -#include "daisysp.h" +#include "types.hh" -namespace ld = daisy; -namespace dsp = daisysp; - -static ld::DaisySeed hardware; -static dsp::Oscillator osc; +namespace Heck { + namespace Constants { + } -void AudioCallback( - ld::AudioHandle::InterleavingInputBuffer in, - ld::AudioHandle::InterleavingOutputBuffer out, - size_t size) -{ - float osc_out; - osc.SetFreq(1000); - for (size_t i = 0; i < size; i += 2) { - osc.SetAmp(1.0); - osc_out = osc.Process(); - osc_out *= 0.01; - out[i] = osc_out; - out[i + 1] = osc_out; + ld::DaisySeed hw{}; + dsp::Oscillator osc{}; + + void AudioCallback( + ld::AudioHandle::InterleavingInputBuffer in, + ld::AudioHandle::InterleavingOutputBuffer out, + size_t size) + { + float osc_out; + osc.SetFreq(1000); + + for (size_t i = 0; i < size; i += 2) { + osc.SetAmp(1.0); + osc_out = osc.Process(); + osc_out *= 0.005; + out[i] = osc_out; + out[i + 1] = osc_out; + } } -} + void init() + { + hw.Configure(); + hw.Init(); + hw.SetAudioBlockSize(4); + float samplerate = hw.AudioSampleRate(); -int main(void) -{ - hardware.Configure(); - hardware.Init(); - hardware.SetAudioBlockSize(4); + osc.Init(samplerate); + osc.SetWaveform(osc.WAVE_SIN); + osc.SetAmp(1.f); + osc.SetFreq(1000); - float samplerate = hardware.AudioSampleRate(); + hw.StartAudio(AudioCallback); + } - osc.Init(samplerate); - osc.SetWaveform(osc.WAVE_SIN); - osc.SetAmp(1.f); - osc.SetFreq(1000); + void mainloop() + { + for (;;) {} + } +} // namespace Heck - hardware.StartAudio(AudioCallback); - while (true) {} +int main(void) +{ + Heck::init(); + Heck::mainloop(); + return 0; } diff --git a/src/types.hh b/src/types.hh index 2e7f7d0..c459beb 100644 --- a/src/types.hh +++ b/src/types.hh @@ -7,7 +7,7 @@ namespace Heck { - // Types + // fundamental types using u8 = uint8_t; using u16 = uint16_t; using u32 = uint32_t; @@ -24,6 +24,10 @@ namespace Heck { // namespace aliases namespace ld = daisy; namespace dsp = daisysp; + + // type aliases from libs + using Samplerate = ld::SaiHandle::Config::SampleRate; + } // namespace Heck