#ifndef ZEPHYR_I2S_DEV_H_
#define ZEPHYR_I2S_DEV_H_
#include <stdint.h>
/* Максимальные лимиты памяти (например, под 32кГц или 16кГц) */
#define MAX_SAMPLE_FREQUENCY 32000
#define NUMBER_OF_CHANNELS 1
#define SAMPLE_BIT_WIDTH 16
#define BYTES_PER_SAMPLE 2
#define ZEPHYR_AUDIO_INITIAL_BLOCKS 2
#define NUM_BLOCK_COUNT 16
#define ZEPHYR_AUDIO_BLOCK_COUNT (ZEPHYR_AUDIO_INITIAL_BLOCKS + NUM_BLOCK_COUNT)
/* Слэб нарезается по максимальному размеру фрейма (для 32кГц / 10 = 3200 сэмплов * 2 байта = 6400 байт) */
#define MAX_ZEPHYR_AUDIO_BLOCK_SIZE ((MAX_SAMPLE_FREQUENCY / 10) * NUMBER_OF_CHANNELS * BYTES_PER_SAMPLE)
typedef void I2S_Stream;
int zephyr_i2s_audio_init(void);
int zephyr_i2s_get_rate(I2S_Stream *stream);
/* Добавляем параметр sample_rate */
int zephyr_i2s_open_stream(I2S_Stream **stream, uint8_t *buf, uint8_t audio_in, uint32_t sample_rate);
int zephyr_i2s_close_stream(I2S_Stream *stream);
int zephyr_i2s_start(uint8_t audio_in);
int zephyr_i2s_stop(uint8_t audio_in);
#endif /* ZEPHYR_I2S_DEV_H_ */