33
33
static char * TAG = "cores3" ;
34
34
static void * audio_hal = NULL ;
35
35
36
+ #define AUDIO_I2S_GPIO_MCLK GPIO_NUM_0
37
+ #define AUDIO_I2S_GPIO_WS GPIO_NUM_33
38
+ #define AUDIO_I2S_GPIO_BCLK GPIO_NUM_34
39
+ #define AUDIO_I2S_GPIO_DIN GPIO_NUM_14
40
+ #define AUDIO_I2S_GPIO_DOUT GPIO_NUM_13
41
+ #define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_11
42
+ #define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_12
43
+ #define AUDIO_CODEC_GPIO_PA GPIO_NUM_NC
44
+
36
45
37
46
#if USE_IDF5
38
47
@@ -63,11 +72,11 @@ esp_err_t get_i2s_pins(int port, board_i2s_pin_t *i2s_config)
63
72
ESP_LOGI (TAG , "get_i2s_pins !!!" );
64
73
AUDIO_NULL_CHECK (TAG , i2s_config , return ESP_FAIL );
65
74
if (port == 1 ) {
66
- i2s_config -> bck_io_num = GPIO_NUM_34 ;
67
- i2s_config -> ws_io_num = GPIO_NUM_33 ;
68
- i2s_config -> data_out_num = GPIO_NUM_13 ;
69
- i2s_config -> data_in_num = GPIO_NUM_14 ;
70
- i2s_config -> mck_io_num = GPIO_NUM_0 ;
75
+ i2s_config -> bck_io_num = AUDIO_I2S_GPIO_BCLK ;
76
+ i2s_config -> ws_io_num = AUDIO_I2S_GPIO_WS ;
77
+ i2s_config -> data_out_num = AUDIO_I2S_GPIO_DOUT ;
78
+ i2s_config -> data_in_num = AUDIO_I2S_GPIO_DIN ;
79
+ i2s_config -> mck_io_num = AUDIO_I2S_GPIO_MCLK ;
71
80
} else {
72
81
memset (i2s_config , -1 , sizeof (board_i2s_pin_t ));
73
82
ESP_LOGE (TAG , "I2S PORT %d is not supported, please use I2S PORT 0" , port );
@@ -127,8 +136,8 @@ void * board_codec_init(void)
127
136
const audio_codec_if_t * in_codec_if = es7210_codec_new (& es7210_cfg );
128
137
129
138
esp_codec_dev_cfg_t dev_cfg = {
130
- .codec_if = out_codec_if , // aw88298_codec_new 获取到的接口实现
131
- .data_if = data_if , // 这里不实例化 i2s; 后续的 i2s_stream_init 会实例化 i2s。
139
+ .codec_if = out_codec_if , // aw88298_codec_new 获取到的接口实现
140
+ .data_if = data_if , // 这里不实例化 i2s; 后续的 i2s_stream_init 会实例化 i2s。
132
141
.dev_type = ESP_CODEC_DEV_TYPE_OUT , // 设备只播放
133
142
};
134
143
audio_hal = esp_codec_dev_new (& dev_cfg );
@@ -156,29 +165,26 @@ void * board_codec_init(void)
156
165
return audio_hal ;
157
166
}
158
167
159
-
160
168
// NOTE: 使用内联函数???
161
169
int board_codec_volume_set (void * hd , int vol )
162
170
{
163
171
return esp_codec_dev_set_out_vol (hd , vol );
164
172
}
165
173
166
-
167
174
// NOTE: 使用内联函数???
168
175
int board_codec_volume_get (void * hd , int * vol )
169
176
{
170
177
return esp_codec_dev_get_out_vol (hd , vol );
171
178
}
172
179
173
-
174
180
static int ut_i2c_init (uint8_t port )
175
181
{
176
182
#ifdef USE_IDF_I2C_MASTER
177
183
i2c_master_bus_config_t i2c_bus_config = {0 };
178
184
i2c_bus_config .clk_source = I2C_CLK_SRC_DEFAULT ;
179
185
i2c_bus_config .i2c_port = port ;
180
- i2c_bus_config .scl_io_num = 12 ;
181
- i2c_bus_config .sda_io_num = 11 ;
186
+ i2c_bus_config .scl_io_num = AUDIO_CODEC_I2C_SCL_PIN ;
187
+ i2c_bus_config .sda_io_num = AUDIO_CODEC_I2C_SDA_PIN ;
182
188
i2c_bus_config .glitch_ignore_cnt = 7 ;
183
189
i2c_bus_config .flags .enable_internal_pullup = true;
184
190
return i2c_new_master_bus (& i2c_bus_config , & i2c_bus_handle );
@@ -189,8 +195,8 @@ static int ut_i2c_init(uint8_t port)
189
195
.scl_pullup_en = GPIO_PULLUP_ENABLE ,
190
196
.master .clk_speed = 100000 ,
191
197
};
192
- i2c_cfg .sda_io_num = 12 ;
193
- i2c_cfg .scl_io_num = 11 ;
198
+ i2c_cfg .scl_io_num = AUDIO_CODEC_I2C_SCL_PIN ;
199
+ i2c_cfg .sda_io_num = AUDIO_CODEC_I2C_SDA_PIN ;
194
200
esp_err_t ret = i2c_param_config (port , & i2c_cfg );
195
201
if (ret != ESP_OK ) {
196
202
return -1 ;
@@ -199,7 +205,6 @@ static int ut_i2c_init(uint8_t port)
199
205
#endif
200
206
}
201
207
202
-
203
208
static int ut_i2c_deinit (uint8_t port )
204
209
{
205
210
#ifdef USE_IDF_I2C_MASTER
@@ -213,23 +218,20 @@ static int ut_i2c_deinit(uint8_t port)
213
218
#endif
214
219
}
215
220
216
-
217
221
#if USE_IDF5
218
222
static void ut_set_i2s_mode (i2s_comm_mode_t out_mode , i2s_comm_mode_t in_mode )
219
223
{
220
224
i2s_in_mode = in_mode ;
221
225
i2s_out_mode = out_mode ;
222
226
}
223
227
224
-
225
228
static void ut_clr_i2s_mode (void )
226
229
{
227
230
i2s_in_mode = I2S_COMM_MODE_STD ;
228
231
i2s_out_mode = I2S_COMM_MODE_STD ;
229
232
}
230
233
#endif
231
234
232
-
233
235
static int ut_i2s_init (uint8_t port )
234
236
{
235
237
#if USE_IDF5
@@ -245,10 +247,10 @@ static int ut_i2s_init(uint8_t port)
245
247
.clk_cfg = I2S_STD_CLK_DEFAULT_CONFIG (16000 ),
246
248
.slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG (16 , I2S_SLOT_MODE_STEREO ),
247
249
.gpio_cfg = {
248
- .mclk = 0 ,
249
- .bclk = 34 ,
250
- .ws = 33 ,
251
- .dout = 13 ,
250
+ .mclk = AUDIO_I2S_GPIO_MCLK ,
251
+ .bclk = AUDIO_I2S_GPIO_BCLK ,
252
+ .ws = AUDIO_I2S_GPIO_WS ,
253
+ .dout = AUDIO_I2S_GPIO_DOUT ,
252
254
.din = -1 ,
253
255
},
254
256
};
@@ -262,10 +264,10 @@ static int ut_i2s_init(uint8_t port)
262
264
.slot_cfg = I2S_TDM_PHILIPS_SLOT_DEFAULT_CONFIG (16 , I2S_SLOT_MODE_STEREO , slot_mask ),
263
265
.clk_cfg = I2S_TDM_CLK_DEFAULT_CONFIG (16000 ),
264
266
.gpio_cfg = {
265
- .mclk = 0 ,
266
- .bclk = 34 ,
267
- .ws = 33 ,
268
- .dout = 13 ,
267
+ .mclk = AUDIO_I2S_GPIO_MCLK ,
268
+ .bclk = AUDIO_I2S_GPIO_BCLK ,
269
+ .ws = AUDIO_I2S_GPIO_WS ,
270
+ .dout = AUDIO_I2S_GPIO_DOUT ,
269
271
.din = -1 ,
270
272
},
271
273
};
@@ -305,18 +307,17 @@ static int ut_i2s_init(uint8_t port)
305
307
};
306
308
int ret = i2s_driver_install (port , & i2s_config , 0 , NULL );
307
309
i2s_pin_config_t i2s_pin_cfg = {
308
- .mck_io_num = 0 ,
309
- .bck_io_num = 34 ,
310
- .ws_io_num = 33 ,
311
- .data_out_num = 13 ,
312
- .data_in_num = 14 ,
310
+ .mck_io_num = AUDIO_I2S_GPIO_MCLK ,
311
+ .bck_io_num = AUDIO_I2S_GPIO_BCLK ,
312
+ .ws_io_num = AUDIO_I2S_GPIO_WS ,
313
+ .data_out_num = AUDIO_I2S_GPIO_DOUT ,
314
+ .data_in_num = AUDIO_I2S_GPIO_DIN ,
313
315
};
314
316
i2s_set_pin (port , & i2s_pin_cfg );
315
317
#endif
316
318
return ret ;
317
319
}
318
320
319
-
320
321
static int ut_i2s_deinit (uint8_t port )
321
322
{
322
323
#if USE_IDF5
0 commit comments