aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/src/firmware.cpp
blob: 8483adac9cccfb3e377e636f7af2ce465fc5e191 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "pico/stdlib.h"

#include "debug.hpp"
#include "display.hpp"
#include "adc.hpp"
#include "midi.hpp"

void
update()
{
    const auto samples = adc::get_samples();
    for (auto const [value, changed] : samples)
    {
        if (!changed) continue;

        midi::send_message();

    }
    // update framebuffer
    display::render_framebuffer(samples[0].value, samples[1].value);

    // send frame to display
    display::display_update();

    debug::toggle_led();
}

[[noreturn]] int
main()
{
    debug::init();
    display::init();
    adc::init();
    midi::init();

    while (true)
    {
        update();
        sleep_ms(50);
    }
}