add support for lyrat mini 1.1 board

- update Readme

Signed-off-by: Karl Osterseher <karli_o@gmx.at>
This commit is contained in:
Karl Osterseher
2023-12-27 20:33:09 +01:00
Unverified
parent d3e20fe0eb
commit 713cda5816
10 changed files with 1995 additions and 84 deletions

View File

@@ -133,10 +133,10 @@ idf.py menuconfig
Configure to match your setup Configure to match your setup
- <b>Audio HAL :</b> Choose your audio board - <b>Audio HAL :</b> Choose your audio board
- Lyrat (4.3, 4.2) - Lyrat (4.3, 4.2)
- Lyrat TD (2.2, 2.1) - Lyrat TD (2.2, 2.1) --> not supported yet
- Lyrat Mini (1.1) - Lyrat Mini (1.1)
- KORVO DU1906 - KORVO DU1906 --> not supported yet
- ESP32-S2 Kaluga (1.2) - ESP32-S2 Kaluga (1.2) --> not supported yet
- Or a custom board - Or a custom board
- <b>Custom Audio Board :</b> Configure your DAC and GPIO - <b>Custom Audio Board :</b> Configure your DAC and GPIO
- DAC Chip : - DAC Chip :

View File

@@ -24,7 +24,7 @@ set(COMPONENT_SRCS
) )
endif() endif()
#[[
if (CONFIG_ESP_LYRAT_MINI_V1_1_BOARD) if (CONFIG_ESP_LYRAT_MINI_V1_1_BOARD)
message(STATUS "Current board name is " CONFIG_ESP_LYRAT_MINI_V1_1_BOARD) message(STATUS "Current board name is " CONFIG_ESP_LYRAT_MINI_V1_1_BOARD)
list(APPEND COMPONENT_ADD_INCLUDEDIRS ./lyrat_mini_v1_1) list(APPEND COMPONENT_ADD_INCLUDEDIRS ./lyrat_mini_v1_1)
@@ -34,7 +34,7 @@ set(COMPONENT_SRCS
) )
endif() endif()
#[[
if (CONFIG_ESP_LYRATD_MSC_V2_1_BOARD) if (CONFIG_ESP_LYRATD_MSC_V2_1_BOARD)
message(STATUS "Current board name is " CONFIG_ESP_LYRATD_MSC_V2_1_BOARD) message(STATUS "Current board name is " CONFIG_ESP_LYRATD_MSC_V2_1_BOARD)
list(APPEND COMPONENT_ADD_INCLUDEDIRS ./lyratd_msc_v2_1) list(APPEND COMPONENT_ADD_INCLUDEDIRS ./lyratd_msc_v2_1)

View File

@@ -0,0 +1,182 @@
/*
* ESPRESSIF MIT License
*
* Copyright (c) 2019 <ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD>
*
* Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
* which case, it is free of charge, to any person obtaining a copy of this
* software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do
* so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*/
#include "board.h"
#include "audio_mem.h"
#include "esp_log.h"
// #include "periph_sdcard.h"
// #include "led_indicator.h"
// #include "periph_adc_button.h"
static const char *TAG = "AUDIO_BOARD";
static audio_board_handle_t board_handle = 0;
audio_board_handle_t audio_board_init(void) {
if (board_handle) {
ESP_LOGW(TAG, "The board has already been initialized!");
return board_handle;
}
board_handle =
(audio_board_handle_t)audio_calloc(1, sizeof(struct audio_board_handle));
AUDIO_MEM_CHECK(TAG, board_handle, return NULL);
board_handle->audio_hal = audio_board_codec_init();
board_handle->adc_hal = audio_board_adc_init();
return board_handle;
}
audio_hal_handle_t audio_board_adc_init(void) {
audio_hal_codec_config_t audio_codec_cfg = AUDIO_CODEC_DEFAULT_CONFIG();
audio_hal_handle_t adc_hal =
audio_hal_init(&audio_codec_cfg, &AUDIO_CODEC_ES7243_DEFAULT_HANDLE);
AUDIO_NULL_CHECK(TAG, adc_hal, return NULL);
return adc_hal;
}
audio_hal_handle_t audio_board_codec_init(void) {
audio_hal_codec_config_t audio_codec_cfg = AUDIO_CODEC_DEFAULT_CONFIG();
audio_hal_handle_t codec_hal =
audio_hal_init(&audio_codec_cfg, &AUDIO_CODEC_ES8311_DEFAULT_HANDLE);
AUDIO_NULL_CHECK(TAG, codec_hal, return NULL);
return codec_hal;
}
// display_service_handle_t audio_board_led_init(void)
//{
// led_indicator_handle_t led =
// led_indicator_init((gpio_num_t)get_green_led_gpio());
// display_service_config_t display = {
// .based_cfg = {
// .task_stack = 0,
// .task_prio = 0,
// .task_core = 0,
// .task_func = NULL,
// .service_start = NULL,
// .service_stop = NULL,
// .service_destroy = NULL,
// .service_ioctl = led_indicator_pattern,
// .service_name = "DISPLAY_serv",
// .user_data = NULL,
// },
// .instance = led,
// };
//
// return display_service_create(&display);
// }
//
// display_service_handle_t audio_board_blue_led_init(void)
//{
// led_indicator_handle_t led =
// led_indicator_init((gpio_num_t)get_blue_led_gpio());
// display_service_config_t display = {
// .based_cfg = {
// .task_stack = 0,
// .task_prio = 0,
// .task_core = 0,
// .task_func = NULL,
// .service_start = NULL,
// .service_stop = NULL,
// .service_destroy = NULL,
// .service_ioctl = led_indicator_pattern,
// .service_name = "DISPLAY_serv",
// .user_data = NULL,
// },
// .instance = led,
// };
//
// return display_service_create(&display);
// }
//
// esp_err_t audio_board_key_init(esp_periph_set_handle_t set)
//{
// esp_err_t ret = ESP_OK;
// periph_adc_button_cfg_t adc_btn_cfg = PERIPH_ADC_BUTTON_DEFAULT_CONFIG();
// adc_arr_t adc_btn_tag = ADC_DEFAULT_ARR();
// adc_btn_tag.total_steps = 6;
// int btn_array[7] = {190, 600, 1000, 1375, 1775, 2195, 3100};
// adc_btn_tag.adc_level_step = btn_array;
// adc_btn_cfg.arr = &adc_btn_tag;
// adc_btn_cfg.arr_size = 1;
// esp_periph_handle_t adc_btn_handle =
// periph_adc_button_init(&adc_btn_cfg); AUDIO_NULL_CHECK(TAG,
// adc_btn_handle, return ESP_ERR_ADF_MEMORY_LACK); ret =
// esp_periph_start(set, adc_btn_handle); return ret;
// }
//
// esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
// periph_sdcard_mode_t mode)
//{
// if (mode != SD_MODE_1_LINE) {
// ESP_LOGE(TAG, "Current board only support 1-line SD mode!");
// return ESP_FAIL;
// }
// gpio_config_t sdcard_pwr_pin_cfg = {
// .pin_bit_mask = 1UL << SDCARD_PWR_CTRL,
// .mode = GPIO_MODE_OUTPUT,
// .pull_up_en = GPIO_PULLUP_DISABLE,
// .pull_down_en = GPIO_PULLDOWN_DISABLE,
// .intr_type = GPIO_INTR_DISABLE,
// };
//
// gpio_config(&sdcard_pwr_pin_cfg);
// gpio_set_level(SDCARD_PWR_CTRL, 0);
//
// periph_sdcard_cfg_t sdcard_cfg = {
// .root = "/sdcard",
// .card_detect_pin = get_sdcard_intr_gpio(), // GPIO_NUM_34
// .mode = mode
// };
// esp_periph_handle_t sdcard_handle = periph_sdcard_init(&sdcard_cfg);
// esp_err_t ret = esp_periph_start(set, sdcard_handle);
// int retry_time = 5;
// bool mount_flag = false;
// while (retry_time --) {
// if (periph_sdcard_is_mounted(sdcard_handle)) {
// mount_flag = true;
// break;
// } else {
// vTaskDelay(500 / portTICK_PERIOD_MS);
// }
// }
// if (mount_flag == false) {
// ESP_LOGE(TAG, "Sdcard mount failed");
// return ESP_FAIL;
// }
// return ret;
// }
audio_board_handle_t audio_board_get_handle(void) { return board_handle; }
esp_err_t audio_board_deinit(audio_board_handle_t audio_board) {
esp_err_t ret = ESP_OK;
ret |= audio_hal_deinit(audio_board->audio_hal);
ret |= audio_hal_deinit(audio_board->adc_hal);
audio_free(audio_board);
board_handle = NULL;
return ret;
}

View File

@@ -0,0 +1,130 @@
/*
* ESPRESSIF MIT License
*
* Copyright (c) 2019 <ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD>
*
* Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
* which case, it is free of charge, to any person obtaining a copy of this
* software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do
* so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*/
#ifndef _AUDIO_BOARD_H_
#define _AUDIO_BOARD_H_
#include "audio_hal.h"
#include "board_def.h"
#include "board_pins_config.h"
// #include "esp_peripherals.h"
// #include "display_service.h"
// #include "periph_sdcard.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Audio board handle
*/
struct audio_board_handle {
audio_hal_handle_t audio_hal; /*!< audio hardware abstract layer handle */
audio_hal_handle_t adc_hal; /*!< adc hardware abstract layer handle */
};
typedef struct audio_board_handle *audio_board_handle_t;
/**
* @brief Initialize audio board
*
* @return The audio board handle
*/
audio_board_handle_t audio_board_init(void);
/**
* @brief Initialize codec chip
*
* @return The audio hal handle
*/
audio_hal_handle_t audio_board_codec_init(void);
/**
* @brief Initialize adc
*
* @return The adc hal handle
*/
audio_hal_handle_t audio_board_adc_init(void);
/**
* @brief Initialize led peripheral and display service
*
* @return The audio display service handle
*/
// display_service_handle_t audio_board_led_init(void);
/**
* @brief Initialize led peripheral and display service
*
* @return The audio display service handle
*/
// display_service_handle_t audio_board_blue_led_init(void);
/**
* @brief Initialize key peripheral
*
* @param set The handle of esp_periph_set_handle_t
*
* @return
* - ESP_OK, success
* - Others, fail
*/
// esp_err_t audio_board_key_init(esp_periph_set_handle_t set);
/**
* @brief Initialize sdcard peripheral
*
* @param set The handle of esp_periph_set_handle_t
*
* @return
* - ESP_OK, success
* - Others, fail
*/
// esp_err_t audio_board_sdcard_init(esp_periph_set_handle_t set,
// periph_sdcard_mode_t mode);
/**
* @brief Query audio_board_handle
*
* @return The audio board handle
*/
audio_board_handle_t audio_board_get_handle(void);
/**
* @brief Uninitialize the audio board
*
* @param audio_board The handle of audio board
*
* @return 0 success,
* others fail
*/
esp_err_t audio_board_deinit(audio_board_handle_t audio_board);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,125 @@
/*
* ESPRESSIF MIT License
*
* Copyright (c) 2019 <ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD>
*
* Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
* which case, it is free of charge, to any person obtaining a copy of this
* software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do
* so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*/
#ifndef _AUDIO_BOARD_DEFINITION_H_
#define _AUDIO_BOARD_DEFINITION_H_
/**
* @brief SDCARD Function Definition
*/
#define FUNC_SDCARD_EN (1)
#define SDCARD_OPEN_FILE_NUM_MAX 5
#define SDCARD_INTR_GPIO GPIO_NUM_34
#define SDCARD_PWR_CTRL GPIO_NUM_13
#define ESP_SD_PIN_CLK GPIO_NUM_14
#define ESP_SD_PIN_CMD GPIO_NUM_15
#define ESP_SD_PIN_D0 GPIO_NUM_2
#define ESP_SD_PIN_D3 -1
/**
* @brief LED Function Definition
*/
#define FUNC_SYS_LEN_EN (1)
#define BLUE_LED_GPIO GPIO_NUM_27
#define GREEN_LED_GPIO GPIO_NUM_22
/**
* @brief Audio Codec Chip Function Definition
*/
#define FUNC_AUDIO_CODEC_EN (1)
#define ES7243_MCLK_GPIO GPIO_NUM_0
#define HEADPHONE_DETECT GPIO_NUM_19
#define PA_ENABLE_GPIO GPIO_NUM_21
#define ES8311_MCLK_SOURCE 0 /* 0 From MCLK of esp32 1 From BCLK */
#define CODEC_ADC_I2S_PORT (1)
#define CODEC_ADC_BITS_PER_SAMPLE I2S_BITS_PER_SAMPLE_16BIT
#define CODEC_ADC_SAMPLE_RATE (16000)
#define RECORD_HARDWARE_AEC (true)
#define BOARD_PA_GAIN (20) /* Power amplifier gain defined by board (dB) */
extern audio_hal_func_t AUDIO_CODEC_ES8311_DEFAULT_HANDLE;
extern audio_hal_func_t AUDIO_CODEC_ES7243_DEFAULT_HANDLE;
#define AUDIO_CODEC_DEFAULT_CONFIG() \
{ \
.adc_input = AUDIO_HAL_ADC_INPUT_LINE1, \
.dac_output = AUDIO_HAL_DAC_OUTPUT_ALL, \
.codec_mode = AUDIO_HAL_CODEC_MODE_BOTH, \
.i2s_iface = \
{ \
.mode = AUDIO_HAL_MODE_SLAVE, \
.fmt = AUDIO_HAL_I2S_NORMAL, \
.samples = AUDIO_HAL_48K_SAMPLES, \
.bits = AUDIO_HAL_BIT_LENGTH_16BITS, \
}, \
};
/**
* @brief Button Function Definition
*/
#define FUNC_BUTTON_EN (1)
#define ADC_DETECT_GPIO GPIO_NUM_39
#define INPUT_KEY_NUM 6
#define BUTTON_VOLUP_ID 0
#define BUTTON_VOLDOWN_ID 1
#define BUTTON_SET_ID 2
#define BUTTON_PLAY_ID 3
#define BUTTON_MODE_ID 4
#define BUTTON_REC_ID 5
#define INPUT_KEY_DEFAULT_INFO() \
{ \
{ \
.type = PERIPH_ID_ADC_BTN, \
.user_id = INPUT_KEY_USER_ID_REC, \
.act_id = BUTTON_REC_ID, \
}, \
{ \
.type = PERIPH_ID_ADC_BTN, \
.user_id = INPUT_KEY_USER_ID_MODE, \
.act_id = BUTTON_MODE_ID, \
}, \
{ \
.type = PERIPH_ID_ADC_BTN, \
.user_id = INPUT_KEY_USER_ID_SET, \
.act_id = BUTTON_SET_ID, \
}, \
{ \
.type = PERIPH_ID_ADC_BTN, \
.user_id = INPUT_KEY_USER_ID_PLAY, \
.act_id = BUTTON_PLAY_ID, \
}, \
{ \
.type = PERIPH_ID_ADC_BTN, \
.user_id = INPUT_KEY_USER_ID_VOLUP, \
.act_id = BUTTON_VOLUP_ID, \
}, \
{ \
.type = PERIPH_ID_ADC_BTN, .user_id = INPUT_KEY_USER_ID_VOLDOWN, \
.act_id = BUTTON_VOLDOWN_ID, \
} \
}
#endif

View File

@@ -0,0 +1,167 @@
/*
* ESPRESSIF MIT License
*
* Copyright (c) 2019 <ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD>
*
* Permission is hereby granted for use on all ESPRESSIF SYSTEMS products, in
* which case, it is free of charge, to any person obtaining a copy of this
* software and associated documentation files (the "Software"), to deal in the
* Software without restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do
* so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*/
#include <string.h>
#include "audio_error.h"
#include "audio_mem.h"
#include "board.h"
#include "driver/gpio.h"
#include "esp_log.h"
#include "soc/io_mux_reg.h"
#include "soc/soc_caps.h"
static const char *TAG = "LYRAT_MINI_V1_1";
esp_err_t get_i2c_pins(i2c_port_t port, i2c_config_t *i2c_config) {
AUDIO_NULL_CHECK(TAG, i2c_config, return ESP_FAIL);
if (port == I2C_NUM_0 || port == I2C_NUM_1) {
i2c_config->sda_io_num = GPIO_NUM_18;
i2c_config->scl_io_num = GPIO_NUM_23;
} else {
i2c_config->sda_io_num = -1;
i2c_config->scl_io_num = -1;
ESP_LOGE(TAG, "i2c port %d is not supported", port);
return ESP_FAIL;
}
return ESP_OK;
}
esp_err_t get_i2s_pins(i2s_port_t port, i2s_pin_config_t *i2s_config) {
AUDIO_NULL_CHECK(TAG, i2s_config, return ESP_FAIL);
if (port == I2S_NUM_0) {
// i2s_config->mck_io_num = GPIO_NUM_0;
i2s_config->bck_io_num = GPIO_NUM_5;
i2s_config->ws_io_num = GPIO_NUM_25;
i2s_config->data_out_num = GPIO_NUM_26;
i2s_config->data_in_num = GPIO_NUM_35;
} else if (port == I2S_NUM_1) {
// i2s_config->mck_io_num = GPIO_NUM_0;
i2s_config->bck_io_num = GPIO_NUM_32;
i2s_config->ws_io_num = GPIO_NUM_33;
i2s_config->data_out_num = -1;
i2s_config->data_in_num = GPIO_NUM_36;
} else {
memset(i2s_config, -1, sizeof(i2s_pin_config_t));
ESP_LOGE(TAG, "i2s port %d is not supported", port);
return ESP_FAIL;
}
return ESP_OK;
}
esp_err_t get_spi_pins(
spi_bus_config_t *spi_config,
spi_device_interface_config_t *spi_device_interface_config) {
AUDIO_NULL_CHECK(TAG, spi_config, return ESP_FAIL);
AUDIO_NULL_CHECK(TAG, spi_device_interface_config, return ESP_FAIL);
spi_config->mosi_io_num = -1;
spi_config->miso_io_num = -1;
spi_config->sclk_io_num = -1;
spi_config->quadwp_io_num = -1;
spi_config->quadhd_io_num = -1;
spi_device_interface_config->spics_io_num = -1;
ESP_LOGW(TAG, "SPI interface is not supported");
return ESP_OK;
}
esp_err_t i2s_mclk_gpio_select(i2s_port_t i2s_num, gpio_num_t gpio_num) {
if (i2s_num >= I2S_NUM_MAX) {
ESP_LOGE(TAG, "Does not support i2s number(%d)", i2s_num);
return ESP_ERR_INVALID_ARG;
}
if (gpio_num != GPIO_NUM_0 && gpio_num != GPIO_NUM_1 &&
gpio_num != GPIO_NUM_3) {
ESP_LOGE(TAG, "Only support GPIO0/GPIO1/GPIO3, gpio_num:%d", gpio_num);
return ESP_ERR_INVALID_ARG;
}
ESP_LOGI(TAG, "I2S%d, MCLK output by GPIO%d", i2s_num, gpio_num);
if (i2s_num == I2S_NUM_0) {
if (gpio_num == GPIO_NUM_0) {
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0_CLK_OUT1);
WRITE_PERI_REG(PIN_CTRL, 0xFFF0);
} else if (gpio_num == GPIO_NUM_1) {
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_U0TXD_CLK_OUT3);
WRITE_PERI_REG(PIN_CTRL, 0xF0F0);
} else {
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD_CLK_OUT2);
WRITE_PERI_REG(PIN_CTRL, 0xFF00);
}
} else if (i2s_num == I2S_NUM_1) {
if (gpio_num == GPIO_NUM_0) {
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U, FUNC_GPIO0_CLK_OUT1);
WRITE_PERI_REG(PIN_CTRL, 0xFFFF);
} else if (gpio_num == GPIO_NUM_1) {
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_U0TXD_CLK_OUT3);
WRITE_PERI_REG(PIN_CTRL, 0xF0FF);
} else {
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD_CLK_OUT2);
WRITE_PERI_REG(PIN_CTRL, 0xFF0F);
}
}
return ESP_OK;
}
// sdcard
int8_t get_sdcard_intr_gpio(void) { return SDCARD_INTR_GPIO; }
int8_t get_sdcard_open_file_num_max(void) { return SDCARD_OPEN_FILE_NUM_MAX; }
int8_t get_sdcard_power_ctrl_gpio(void) { return SDCARD_PWR_CTRL; }
// input-output pins
int8_t get_headphone_detect_gpio(void) { return HEADPHONE_DETECT; }
int8_t get_pa_enable_gpio(void) { return PA_ENABLE_GPIO; }
// adc button id
int8_t get_input_rec_id(void) { return BUTTON_REC_ID; }
int8_t get_input_mode_id(void) { return BUTTON_MODE_ID; }
int8_t get_input_set_id(void) { return BUTTON_SET_ID; }
int8_t get_input_play_id(void) { return BUTTON_PLAY_ID; }
int8_t get_input_volup_id(void) { return BUTTON_VOLUP_ID; }
int8_t get_input_voldown_id(void) { return BUTTON_VOLDOWN_ID; }
// led pins
int8_t get_green_led_gpio(void) { return GREEN_LED_GPIO; }
int8_t get_blue_led_gpio(void) { return BLUE_LED_GPIO; }
int8_t get_es8311_mclk_src(void) { return ES8311_MCLK_SOURCE; }
int8_t get_es7243_mclk_gpio(void) { return ES7243_MCLK_GPIO; }

View File

@@ -132,11 +132,11 @@ CONFIG_PARTITION_TABLE_MD5=y
# Audio HAL # Audio HAL
# #
# CONFIG_AUDIO_BOARD_CUSTOM is not set # CONFIG_AUDIO_BOARD_CUSTOM is not set
CONFIG_ESP_LYRAT_V4_3_BOARD=y # CONFIG_ESP_LYRAT_V4_3_BOARD is not set
# CONFIG_ESP_LYRAT_V4_2_BOARD is not set # CONFIG_ESP_LYRAT_V4_2_BOARD is not set
# CONFIG_ESP_LYRATD_MSC_V2_1_BOARD is not set # CONFIG_ESP_LYRATD_MSC_V2_1_BOARD is not set
# CONFIG_ESP_LYRATD_MSC_V2_2_BOARD is not set # CONFIG_ESP_LYRATD_MSC_V2_2_BOARD is not set
# CONFIG_ESP_LYRAT_MINI_V1_1_BOARD is not set CONFIG_ESP_LYRAT_MINI_V1_1_BOARD=y
# CONFIG_ESP32_KORVO_DU1906_BOARD is not set # CONFIG_ESP32_KORVO_DU1906_BOARD is not set
# CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set # CONFIG_ESP32_S2_KALUGA_1_V1_2_BOARD is not set
# end of Audio HAL # end of Audio HAL
@@ -164,8 +164,8 @@ CONFIG_SNTP_SERVER="pool.ntp.org"
# Wifi Configuration # Wifi Configuration
# #
# CONFIG_ENABLE_WIFI_PROVISIONING is not set # CONFIG_ENABLE_WIFI_PROVISIONING is not set
CONFIG_WIFI_SSID="zuhause" CONFIG_WIFI_SSID="test"
CONFIG_WIFI_PASSWORD="dErtischlEr" CONFIG_WIFI_PASSWORD="12345678"
CONFIG_WIFI_MAXIMUM_RETRY=0 CONFIG_WIFI_MAXIMUM_RETRY=0
# end of Wifi Configuration # end of Wifi Configuration

View File

@@ -164,8 +164,8 @@ CONFIG_SNTP_SERVER="pool.ntp.org"
# Wifi Configuration # Wifi Configuration
# #
# CONFIG_ENABLE_WIFI_PROVISIONING is not set # CONFIG_ENABLE_WIFI_PROVISIONING is not set
CONFIG_WIFI_SSID="zuhause" CONFIG_WIFI_SSID="test"
CONFIG_WIFI_PASSWORD="dErtischlEr" CONFIG_WIFI_PASSWORD="12345678"
CONFIG_WIFI_MAXIMUM_RETRY=0 CONFIG_WIFI_MAXIMUM_RETRY=0
# end of Wifi Configuration # end of Wifi Configuration
@@ -310,7 +310,6 @@ CONFIG_ESP_TLS_USING_MBEDTLS=y
# #
# ESP32-specific # ESP32-specific
# #
CONFIG_ESP32_ECO3_CACHE_LOCK_FIX=y
CONFIG_ESP32_REV_MIN_0=y CONFIG_ESP32_REV_MIN_0=y
# CONFIG_ESP32_REV_MIN_1 is not set # CONFIG_ESP32_REV_MIN_1 is not set
# CONFIG_ESP32_REV_MIN_1_1 is not set # CONFIG_ESP32_REV_MIN_1_1 is not set
@@ -328,69 +327,7 @@ CONFIG_ESP32_DPORT_WORKAROUND=y
# CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set # CONFIG_ESP32_DEFAULT_CPU_FREQ_160 is not set
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240
CONFIG_ESP32_SPIRAM_SUPPORT=y # CONFIG_ESP32_SPIRAM_SUPPORT is not set
#
# SPI RAM config
#
CONFIG_SPIRAM_TYPE_AUTO=y
# CONFIG_SPIRAM_TYPE_ESPPSRAM16 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM32 is not set
# CONFIG_SPIRAM_TYPE_ESPPSRAM64 is not set
CONFIG_SPIRAM_SIZE=-1
# CONFIG_SPIRAM_SPEED_40M is not set
CONFIG_SPIRAM_SPEED_80M=y
CONFIG_SPIRAM=y
CONFIG_SPIRAM_BOOT_INIT=y
# CONFIG_SPIRAM_IGNORE_NOTFOUND is not set
# CONFIG_SPIRAM_USE_MEMMAP is not set
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
CONFIG_SPIRAM_USE_MALLOC=y
CONFIG_SPIRAM_MEMTEST=y
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
CONFIG_SPIRAM_CACHE_WORKAROUND=y
#
# SPIRAM cache workaround debugging
#
CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_MEMW=y
# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_DUPLDST is not set
# CONFIG_SPIRAM_CACHE_WORKAROUND_STRATEGY_NOPS is not set
# end of SPIRAM cache workaround debugging
CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
CONFIG_SPIRAM_BANKSWITCH_RESERVE=8
# CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY is not set
# CONFIG_SPIRAM_OCCUPY_HSPI_HOST is not set
CONFIG_SPIRAM_OCCUPY_VSPI_HOST=y
# CONFIG_SPIRAM_OCCUPY_NO_HOST is not set
#
# PSRAM clock and cs IO for ESP32-DOWD
#
CONFIG_D0WD_PSRAM_CLK_IO=17
CONFIG_D0WD_PSRAM_CS_IO=16
# end of PSRAM clock and cs IO for ESP32-DOWD
#
# PSRAM clock and cs IO for ESP32-D2WD
#
CONFIG_D2WD_PSRAM_CLK_IO=9
CONFIG_D2WD_PSRAM_CS_IO=10
# end of PSRAM clock and cs IO for ESP32-D2WD
#
# PSRAM clock and cs IO for ESP32-PICO
#
CONFIG_PICO_PSRAM_CS_IO=10
# end of PSRAM clock and cs IO for ESP32-PICO
# CONFIG_SPIRAM_2T_MODE is not set
# end of SPI RAM config
# CONFIG_ESP32_TRAX is not set # CONFIG_ESP32_TRAX is not set
CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0 CONFIG_ESP32_TRACEMEM_RESERVE_DRAM=0x0
# CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set # CONFIG_ESP32_UNIVERSAL_MAC_ADDRESSES_TWO is not set
@@ -557,7 +494,7 @@ CONFIG_ESP_NETIF_TCPIP_ADAPTER_COMPATIBLE_LAYER=y
CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT=y
# CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set # CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT is not set
# CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set # CONFIG_ESP_SYSTEM_PANIC_GDBSTUB is not set
# CONFIG_ESP_SYSTEM_PSRAM_LEAKAGE_WORKAROUND is not set CONFIG_ESP_SYSTEM_PD_FLASH=y
# CONFIG_ESP_SYSTEM_FLASH_LEAKAGE_WORKAROUND is not set # CONFIG_ESP_SYSTEM_FLASH_LEAKAGE_WORKAROUND is not set
# #
@@ -588,15 +525,14 @@ CONFIG_ESP_TIMER_IMPL_TG0_LAC=y
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8 CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=64
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y
# CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER is not set
CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0
CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8 CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=8
CONFIG_ESP32_WIFI_CACHE_TX_BUFFER_NUM=32
# CONFIG_ESP32_WIFI_CSI_ENABLED is not set # CONFIG_ESP32_WIFI_CSI_ENABLED is not set
CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y
CONFIG_ESP32_WIFI_TX_BA_WIN=8 CONFIG_ESP32_WIFI_TX_BA_WIN=8
CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y
CONFIG_ESP32_WIFI_RX_BA_WIN=16 CONFIG_ESP32_WIFI_RX_BA_WIN=16
# CONFIG_ESP32_WIFI_AMSDU_TX_ENABLED is not set
CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_NVS_ENABLED=y
CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y
# CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set # CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1 is not set
@@ -665,7 +601,6 @@ CONFIG_FATFS_LFN_NONE=y
CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_FS_LOCK=0
CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_TIMEOUT_MS=10000
CONFIG_FATFS_PER_FILE_CACHE=y CONFIG_FATFS_PER_FILE_CACHE=y
CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y
# CONFIG_FATFS_USE_FASTSEEK is not set # CONFIG_FATFS_USE_FASTSEEK is not set
# end of FAT Filesystem support # end of FAT Filesystem support
@@ -917,7 +852,6 @@ CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_NONE=y
# mbedTLS # mbedTLS
# #
CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
# CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC is not set
# CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set # CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC is not set
# CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set # CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC is not set
CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
@@ -1323,8 +1257,7 @@ CONFIG_STACK_CHECK_NONE=y
CONFIG_ESP32_APPTRACE_DEST_NONE=y CONFIG_ESP32_APPTRACE_DEST_NONE=y
CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
CONFIG_ADC2_DISABLE_DAC=y CONFIG_ADC2_DISABLE_DAC=y
CONFIG_SPIRAM_SUPPORT=y # CONFIG_SPIRAM_SUPPORT is not set
# CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST is not set
CONFIG_TRACEMEM_RESERVE_DRAM=0x0 CONFIG_TRACEMEM_RESERVE_DRAM=0x0
# CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set # CONFIG_TWO_UNIVERSAL_MAC_ADDRESS is not set
CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y

View File

@@ -164,8 +164,8 @@ CONFIG_SNTP_SERVER="pool.ntp.org"
# Wifi Configuration # Wifi Configuration
# #
# CONFIG_ENABLE_WIFI_PROVISIONING is not set # CONFIG_ENABLE_WIFI_PROVISIONING is not set
CONFIG_WIFI_SSID="zuhause" CONFIG_WIFI_SSID="test"
CONFIG_WIFI_PASSWORD="dErtischlEr" CONFIG_WIFI_PASSWORD="12345678"
CONFIG_WIFI_MAXIMUM_RETRY=0 CONFIG_WIFI_MAXIMUM_RETRY=0
# end of Wifi Configuration # end of Wifi Configuration

1374
sdkconfig_for_esp_snapserver Normal file

File diff suppressed because it is too large Load Diff