Compare commits

...

5 Commits

  1. 2
      Makefile.conf
  2. 26
      examples/Makefile
  3. 25
      examples/main_adc.cc
  4. 35
      examples/main_density.cc
  5. 4
      src/types.hh

2
Makefile.conf

@ -17,4 +17,4 @@ CXXFLAGS += \
-fdiagnostics-show-template-tree \
#APP_TYPE ?= BOOT_NONE
#LDFLAGS += -u_printf_float
LDFLAGS += -u_printf_float

26
examples/Makefile

@ -11,19 +11,21 @@ LDFLAGS += -L$(LIBDIZZY_DIR)
LDFLAGS += -ldizzy
SRC_EXCLUDED := \
main_minimal.c \
main_memtest1.cc \
main_adc.cc \
main_blink.cc \
main_cli.cc \
main_density.cc \
main_framework_proto1.cc \
main_framework_proto2.cc \
main_adc_direct.cc \
main_memtest1.cc \
main_minimal.cc \
main_template_full.cc \
main_testtone.cc \
main_usbhost.cc \
main_minimal.c \
main_cpuload.cc
# main_adc.cc \
# main_blink.cc \
# main_cli.cc \
# main_density.cc \
# main_framework_proto1.cc \
# main_framework_proto2.cc \
# main_memtest1.cc \
# main_minimal.cc \
# main_template_full.cc \
# main_testtone.cc \
# main_usbhost.cc \
SOURCES := $(wildcard *)

25
examples/main_adc.cc

@ -1,12 +1,18 @@
#include "main_adc.hh"
#include "utils.hh"
#include <functional>
namespace Heck {
namespace { // anonymous namespace for internal linkage
ld::DaisySeed seed{};
Observer<int> pot1{};
SWTimer scan_pots{};
Cache<u16> pot1{ []() { return seed.adc.Get(0); },
[](Cache<u16>& cache) { seed.PrintLine("POT_1: %d", cache.read()); } };
void scan_pots(u32) {
pot1.update_and_notify_change();
}
PeriodicTaskCT<scan_pots, 10> task_scan_pots{};
void init()
{
@ -20,21 +26,14 @@ namespace Heck {
seed.adc.Init(adc_cfg, 1);
seed.adc.Start();
}
scan_pots.set_period(10);
scan_pots.set_callback([](u32) {
pot1.on_change_fuzzy(seed.adc.Get(0), 20, [](int val) {
seed.PrintLine("POT_1: %d", val);
});
});
}
void mainloop()
{
u32&& time_boot_ms{};
u32 uptime{};
while (true) {
time_boot_ms = ld::System::GetNow();
scan_pots.is_it_already_time_again(time_boot_ms);
uptime = ld::System::GetNow();
task_scan_pots.run_pending(uptime);
}
}
} // namespace

35
examples/main_density.cc

@ -78,32 +78,15 @@ namespace Heck {
float sig{};
float sig2{};
float sig3{};
// sum to dual mono
// for (size_t i = 0; i == 0; i++) {
// sig = in[0][i];
// sig += in[1][i];
// sig2 = sig;
density.process(in[0], out[0], size);
// sig *= pots_value
// out[0][i] = sig3;
// out[1][i] = sig3;
// }
// Channel 1
// float sig_out{};
// // sum to dual mono
// for (size_t i = 0; i < size; i++) {
// sig_out = in[0][i];
// sig_out += in[1][i];
//
// sig_out *= pot1_value;
//
// out[0][i] = sig_out;
// out[1][i] = sig_out;
// }
for (size_t i = 0; i < size; i++) {
sig = in[0][i];
sig += in[1][i];
density.process(&sig, &sig2, 1);
out[0][i] = sig2;
out[1][i] = sig2;
}
}

4
src/types.hh

@ -6,7 +6,7 @@
#include "daisysp.h"
namespace Heck {
namespace Types {
// fundamental types
using u8 = uint8_t;
using u16 = uint16_t;
@ -20,7 +20,9 @@ namespace Heck {
using f32 = float;
using f64 = double;
}
using namespace Types;
// namespace aliases
namespace ld = daisy;
namespace dsp = daisysp;

Loading…
Cancel
Save