#pragma once #include #define SAMPLE_RATE 48000 #define AMPLITUDE 16384 typedef enum { WAVE_NONE = 0, WAVE_SINE, WAVE_SQUARE, WAVE_SAW, } wave_type_t; typedef struct { wave_type_t type; float freq; float duty; float phase; } channel_state_t; void waveform_init(void); void waveform_set(int ch, wave_type_t type, float freq, float duty); int16_t waveform_next_sample(int ch);