/main/audio.h
#ifndef __AUDIO_H
#define __AUDIO_H

#define SAMPLE_RATE	(44100)
#define I2S_NUM		(0)
#define I2S_MCK_IO	(GPIO_NUM_0)
#define I2S_BCK_IO	(-1)
#define I2S_WS_IO	(GPIO_NUM_2)
#define I2S_DO_IO	(GPIO_NUM_4)
#define I2S_DI_IO	(-1)
#define I2S_DMA_COUNT 2
#define I2S_DMA_LEN   256

#define AUDIO_QUEUE_SIZE 2   // blocks

typedef struct audio_block {
	uint16_t *samples;
	size_t count;
} audio_block_t;

int audio_init();
int audio_open();
void audio_close();
void audio_send(uint16_t *buf, size_t n);
void audio_send_ptr(uint16_t *buf, size_t n);

#endif //__AUDIO_H