#pragma once #include #define SAMPLE_RATE 48000 #define AMPLITUDE_24BIT 0x3FFFFF typedef enum { WAVE_NONE = 0, WAVE_SINE, WAVE_SQUARE, WAVE_SAW, } wave_type_t; typedef struct { wave_type_t type; float freq; float duty; } channel_state_t; void waveform_init(void); void waveform_set(int ch, wave_type_t type, float freq, float duty); void waveform_fill_buffer(int32_t *buf, int frames);