4#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32)
8#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32S2)
12#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32S3)
19#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32C3)
22# define USE_INT24_FROM_INT
26#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32C5)
32#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32C6)
38#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32P4)
45#if defined(ESP32) && defined(CONFIG_IDF_TARGET_ESP32H2)
51# define USE_LEGACY_I2S (ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(5, 0, 0))
59# if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 0, 0)
60# define USE_SERVER_ACCEPT true
62# if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 0, 0)
63# define USE_CONCURRENCY
65# define USE_PRINT_FLUSH true
67# define USE_PRINT_FLUSH false
69# define USE_SD_SUPPORTS_SPI
72# define USE_IDF_LOGGER
74# if !defined(I2S_USE_APLL)
75# define I2S_USE_APLL false
82#if defined(ESP32_CORE)
84#if ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(5, 0 , 0)
85# define USE_INT24_FROM_INT
96# define USE_WIFI_CLIENT_SECURE
97# define USE_URL_ARDUINO
98# define USE_AUDIO_SERVER
100# define USE_TOUCH_READ
103#define USE_TYPETRAITS
104#define USE_STREAM_WRITE_OVERRIDE
105#define USE_STREAM_READ_OVERRIDE
106#define USE_EXT_BUTTON_LOGIC
108#define USE_ALLOCATOR true
110#define USE_TASK false
112#define PWM_FREQENCY 30000
113#define PIN_PWM_START 12
114#define PIN_I2S_BCK 14
116#define PIN_I2S_DATA_IN 32
117#define PIN_I2S_DATA_OUT 22
118#define PIN_I2S_MCK -1
120#define PIN_I2S_MUTE -1
121#define SOFT_MUTE_VALUE 0
125#define I2S_AUTO_CLEAR true
128#define URL_STREAM_CORE 0
129#define URL_STREAM_PRIORITY 2
130#define URL_STREAM_BUFFER_COUNT 10
131#define STACK_SIZE 30000
132#define URL_CLIENT_TIMEOUT 60000;
133#define URL_HANDSHAKE_TIMEOUT 120000
141#if ESP_IDF_VERSION_MAJOR < 4 && !defined(I2S_COMM_FORMAT_STAND_I2S)
142# define I2S_COMM_FORMAT_STAND_I2S (I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB)
143# define I2S_COMM_FORMAT_STAND_MSB (I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_LSB)
144# define I2S_COMM_FORMAT_STAND_PCM_LONG (I2S_COMM_FORMAT_PCM | I2S_COMM_FORMAT_PCM_LONG)
145# define I2S_COMM_FORMAT_STAND_PCM_SHORT (I2S_COMM_FORMAT_PCM | I2S_COMM_FORMAT_PCM_SHORT)
147typedef int eps32_i2s_sample_rate_type;
149typedef uint32_t eps32_i2s_sample_rate_type;
158# include "esp32-hal-log.h"
160# if ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(5, 0 , 0)
161# define USE_INT24_FROM_INT
166#define USE_URL_ARDUINO
168#define USE_WIFI_CLIENT_SECURE
170#define USE_AUDIO_SERVER
171#define USE_TYPETRAITS
173#define USE_STREAM_WRITE_OVERRIDE
174#define USE_STREAM_READ_OVERRIDE
176#define USE_ALLOCATOR true
179#define PWM_FREQENCY 30000
180#define PIN_PWM_START 1
181#define PIN_I2S_MCK -1
184#define PIN_I2S_DATA_OUT 8
185#define PIN_I2S_DATA_IN 9
187#define PIN_I2S_MUTE -1
188#define SOFT_MUTE_VALUE 0
192#define I2S_AUTO_CLEAR true
196#define URL_STREAM_CORE 0
197#define URL_STREAM_PRIORITY 2
198#define URL_STREAM_BUFFER_COUNT 10
199#define STACK_SIZE 30000
200#define URL_CLIENT_TIMEOUT 60000;
201#define URL_HANDSHAKE_TIMEOUT 120000
208typedef uint32_t eps32_i2s_sample_rate_type;
215#include "esp32-hal-log.h"
216#if ESP_IDF_VERSION > ESP_IDF_VERSION_VAL(5, 0 , 0)
217# define USE_INT24_FROM_INT
226#define USE_TYPETRAITS
228#define USE_STREAM_WRITE_OVERRIDE
229#define USE_STREAM_READ_OVERRIDE
231#define USE_ALLOCATOR true
234#define PWM_FREQENCY 30000
235#define PIN_PWM_START 1
236#define PIN_I2S_MCK -1
239#define PIN_I2S_DATA_OUT 8
240#define PIN_I2S_DATA_IN 9
242#define PIN_I2S_MUTE -1
243#define SOFT_MUTE_VALUE 0
246#define I2S_AUTO_CLEAR true
248typedef uint32_t eps32_i2s_sample_rate_type;