Skip to content

Commit

Permalink
Merge branch 'feature/support_override_sdkconfig' into 'master'
Browse files Browse the repository at this point in the history
feat: Supported to override default configurations

See merge request application/esp-at!1607
  • Loading branch information
xcguang committed Aug 21, 2024
2 parents 2c99610 + bd43b46 commit 615e92a
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 173 deletions.
10 changes: 4 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,14 @@ endif()

# set the sdkconfig default file
if (${SILENCE} EQUAL 1)
set(SDKCONFIG_DEFAULTS ${ESP_AT_MODULE_CONFIG_DIR}/sdkconfig_silence.defaults)
if(DEFINED ENV{AT_EXT_MODULE_CFG} AND EXISTS "$ENV{AT_EXT_MODULE_CFG}/sdkconfig_silence.defaults")
set(SDKCONFIG_DEFAULTS $ENV{AT_EXT_MODULE_CFG}/sdkconfig_silence.defaults)
else()
set(SDKCONFIG_DEFAULTS ${ESP_AT_MODULE_CONFIG_DIR}/sdkconfig_silence.defaults)
list(APPEND SDKCONFIG_DEFAULTS $ENV{AT_EXT_MODULE_CFG}/sdkconfig_silence.defaults)
endif()
else()
set(SDKCONFIG_DEFAULTS ${ESP_AT_MODULE_CONFIG_DIR}/sdkconfig.defaults)
if(DEFINED ENV{AT_EXT_MODULE_CFG} AND EXISTS "$ENV{AT_EXT_MODULE_CFG}/sdkconfig.defaults")
set(SDKCONFIG_DEFAULTS $ENV{AT_EXT_MODULE_CFG}/sdkconfig.defaults)
else()
set(SDKCONFIG_DEFAULTS ${ESP_AT_MODULE_CONFIG_DIR}/sdkconfig.defaults)
list(APPEND SDKCONFIG_DEFAULTS $ENV{AT_EXT_MODULE_CFG}/sdkconfig.defaults)
endif()
endif()
message(STATUS "silence:${SILENCE}, sdkconfig:${SDKCONFIG_DEFAULTS}")
Expand Down
4 changes: 2 additions & 2 deletions examples/at_override_module_config/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ Here are five optional configurations that you may want to override, and you can
- You must use the same filename and directory name to override.

#### 2.1 Override the system configuration
The native system configuration file is `esp-at/module_config/<your_module>/sdkconfig.defaults` (disable silence mode) or `esp-at/module_config/<your_module>/sdkconfig_silence.defaults` (enable silence mode). You may want to enable or disable some features, for example, to enable WebSocket functionality and disable mDNS functionality. You can copy the native system configuration file to `at_override_module_config` directory, and add the following lines to `at_override_module_config/sdkconfig.defaults` file:
The native system configuration file is `esp-at/module_config/<your_module>/sdkconfig.defaults` (disable silence mode) or `esp-at/module_config/<your_module>/sdkconfig_silence.defaults` (enable silence mode). You may want to enable or disable some features, for example, to enable WebSocket functionality and disable mDNS functionality. You can add a new system configuration file to `at_override_module_config` directory, and add the following lines to `at_override_module_config/sdkconfig.defaults` file:

```
# Enable WebSocket and disable mDNS
CONFIG_AT_WS_COMMAND_SUPPORT=y
CONFIG_AT_MDNS_COMMAND_SUPPORT=n
```

The build system will use `at_override_module_config/sdkconfig.defaults` as your system configuration.
The build system will override `at_override_module_config/sdkconfig.defaults` as your system configuration.

#### 2.2 Override the patch directory
The native patch directory is `esp-at/module_config/<your_module>/patch`. You may want to add more patches, for example, to output one prompt message after esp-at is ready. You can copy the native patch directory to `at_override_module_config` directory, and add the `at_example.patch` file to `at_override_module_config/patch`, then specify this patch by adding the following lines to `at_override_module_config/patch/patch_list.ini` file:
Expand Down
168 changes: 3 additions & 165 deletions examples/at_override_module_config/sdkconfig.defaults
Original file line number Diff line number Diff line change
@@ -1,173 +1,11 @@
# The Optimized Configuration
# Do NOT edit unless you know exactly what you are doing
# Override default configurations

CONFIG_IDF_TARGET_ESP32C3=y

# Serial flasher config
CONFIG_ESPTOOLPY_FLASHMODE_DIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_40M=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y

# Bootloader config
CONFIG_BOOTLOADER_WDT_ENABLE=y

# Partition Table
CONFIG_PARTITION_TABLE_CUSTOM=y
# Override System Partition Table
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_at.csv"
CONFIG_PARTITION_TABLE_OFFSET=0x8000
CONFIG_PARTITION_TABLE_FILENAME="partitions_at.csv"
CONFIG_PARTITION_TABLE_MD5=n

# PHY
CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION=n

# Hardware Settings
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_80=y
CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=80
CONFIG_XTAL_FREQ_40=y
CONFIG_XTAL_FREQ=40

# Power Save
CONFIG_PM_ENABLE=y
CONFIG_PM_USE_RTC_TIMER_REF=y
### Disable all GPIO at light sleep
CONFIG_PM_SLP_DISABLE_GPIO=y

# Wi-Fi
CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE=y
CONFIG_ESP_WIFI_SLP_IRAM_OPT=y
CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=0

# Ethernet
CONFIG_DMA_RX_BUF_NUM=3
CONFIG_DMA_TX_BUF_NUM=3

# Component config
CONFIG_BTDM_CTRL_MODE_BTDM=y
CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_BT_DRAM_RELEASE=y
CONFIG_BT_SMP_ENABLE=y
CONFIG_BT_STACK_NO_LOG=y
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y
CONFIG_BTDM_SCAN_DUPL_CACHE_SIZE=200
CONFIG_BT_BTU_TASK_STACK_SIZE=5120
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y
CONFIG_BT_BLE_BLUFI_ENABLE=y
CONFIG_BT_CTRL_MODEM_SLEEP=y
CONFIG_BT_CTRL_MODEM_SLEEP_MODE_1=y

# Log output
CONFIG_LOG_DEFAULT_LEVEL_ERROR=y

# Compiler
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y

# Bluetooth
CONFIG_BT_ENABLED=y
CONFIG_BT_BLE_42_FEATURES_SUPPORTED=y

# Bluetooth controller(ESP32C3 Bluetooth Low Energy)
CONFIG_BT_CTRL_SLEEP_CLOCK_EFF=2

# MODEM SLEEP Options
CONFIG_BT_CTRL_LPCLK_SEL_EXT_32K_XTAL=y

# FreeRTOS
CONFIG_FREERTOS_UNICORE=y
CONFIG_FREERTOS_HZ=1000
CONFIG_FREERTOS_USE_TICKLESS_IDLE=y
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=n
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
CONFIG_FREERTOS_PLACE_SNAPSHOT_FUNS_INTO_FLASH=y

# LWIP
CONFIG_LWIP_SO_REUSE=y
CONFIG_LWIP_SO_RCVBUF=y
CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=3
CONFIG_LWIP_SNTP_MAX_SERVERS=3
CONFIG_LWIP_IP_FRAG=y
CONFIG_LWIP_IP_REASSEMBLY=y
CONFIG_LWIP_TCP_MAXRTX=6
CONFIG_LWIP_TCP_SYNMAXRTX=3
CONFIG_LWIP_SO_LINGER=y
CONFIG_LWIP_IPV6=y
CONFIG_LWIP_IPV6_AUTOCONFIG=y
CONFIG_LWIP_TCP_MSS=1440
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5760
CONFIG_LWIP_TCP_WND_DEFAULT=5760

# mbedTLS
CONFIG_MBEDTLS_HAVE_TIME_DATE=y
CONFIG_MBEDTLS_HARDWARE_MPI=y
CONFIG_MBEDTLS_DHM_C=y
CONFIG_MBEDTLS_DYNAMIC_BUFFER=y
CONFIG_MBEDTLS_DYNAMIC_FREE_CONFIG_DATA=y
CONFIG_MBEDTLS_DYNAMIC_FREE_CA_CERT=y
CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE=n

# ESP-TLS
CONFIG_ESP_TLS_SERVER=y
CONFIG_ESP_TLS_PSK_VERIFICATION=y
CONFIG_ESP_TLS_INSECURE=y
CONFIG_ESP_TLS_SKIP_SERVER_CERT_VERIFY=y

# Hardware Settings
CONFIG_RTC_CLK_SRC_EXT_CRYS=y
CONFIG_RTC_CLK_CAL_CYCLES=1024

# AT Customized Partitions
# Override User Partition Table
CONFIG_AT_CUSTOMIZED_PARTITION_TABLE_FILE="at_customize.csv"
CONFIG_AT_CUSTOMIZED_PARTITION_TABLE_OFFSET=0x1e000

# AT
CONFIG_AT_ENABLE=y
CONFIG_AT_BASE_ON_UART=y
CONFIG_AT_MQTT_COMMAND_SUPPORT=y
CONFIG_AT_HTTP_COMMAND_SUPPORT=y
CONFIG_AT_PROCESS_TASK_STACK_SIZE=6144
CONFIG_AT_OTA_SERVER_IP="iot.espressif.cn"
CONFIG_AT_OTA_SERVER_PORT=80
CONFIG_AT_OTA_TOKEN_KEY="dd93253c287f725de50d4071a05dd28b72056ca7"
CONFIG_AT_OTA_SSL_TOKEN_KEY="dd93253c287f725de50d4071a05dd28b72056ca7"
CONFIG_AT_SOCKET_MAX_CONN_NUM=5
CONFIG_ESP_AT_FW_VERSION="v3.4.0.0-dev"

# Wear Levelling
CONFIG_WL_SECTOR_SIZE_512=y

# VFS
CONFIG_FATFS_LFN_HEAP=y
CONFIG_VFS_SUPPORT_TERMIOS=n

# Newlib
CONFIG_NEWLIB_NANO_FORMAT=y

# Common ESP-related
CONFIG_ESP_TASK_WDT_TIMEOUT_S=60
CONFIG_ESP_TASK_WDT_PANIC=y
CONFIG_ESP_ERR_TO_NAME_LOOKUP=n

# Cache config
CONFIG_ESP_DEBUG_STUBS_ENABLE=n
CONFIG_ESP_DEBUG_OCDAWARE=n

# SPI Flash driver
CONFIG_SPI_FLASH_USE_LEGACY_IMPL=y

# HTTP Server
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_MAX_URI_LEN=1024

# ESP System Settings
CONFIG_ESP_SYSTEM_RTC_EXT_XTAL=y
CONFIG_ESP_SYSTEM_RTC_EXT_XTAL_BOOTSTRAP_CYCLES=0
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=n
CONFIG_ESP_CONSOLE_SECONDARY_USB_SERIAL_JTAG=n

# ESP HTTPS OTA
CONFIG_ESP_HTTPS_OTA_ALLOW_HTTP=y

# Enable WebSocket and disable mDNS
CONFIG_AT_WS_COMMAND_SUPPORT=y
Expand Down

0 comments on commit 615e92a

Please sign in to comment.