- 调整NimBLE配置恢复默认缓冲区大小以支持窗口内突发包接收 - 实现BLE连接参数动态调整,支持Windows兼容模式 - 优化OTA数据队列长度与确认窗口匹配 - 改进reorder buffer管理,添加乱序包缓存统计 - 修复ACK触发逻辑,确保按累计进度而非单包序列确认 - 添加GD32 OTA元数据本地缓存避免频繁NVS访问 - 优化前端JavaScript实现,改进Web Bluetooth写入策略 BREAKING CHANGE: BLE连接参数协商机制变更可能影响部分设备兼容性
107 lines
2.9 KiB
Plaintext
107 lines
2.9 KiB
Plaintext
# ESP32-C3FH4 OTA Relay - SDK Configuration (ESP-IDF 6.0)
|
||
|
||
CONFIG_IDF_TARGET="esp32c3"
|
||
CONFIG_IDF_TARGET_ESP32C3=y
|
||
|
||
# Partition table
|
||
CONFIG_PARTITION_TABLE_CUSTOM=y
|
||
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="config/partitions.csv"
|
||
|
||
# SPI Flash
|
||
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
|
||
CONFIG_ESPTOOLPY_FLASH_FREQ_80M=y
|
||
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
|
||
|
||
# ESP32-C3 specific
|
||
CONFIG_ESP32C3_REV_MIN_0=y
|
||
CONFIG_ESP32C3_REV_MIN=0
|
||
|
||
# FreeRTOS
|
||
# ESP32-C3 为单核芯片,多核配置会让 IDF 在启动时校验失败或回退
|
||
CONFIG_FREERTOS_UNICORE=y
|
||
CONFIG_FREERTOS_NUMBER_OF_CORES=1
|
||
CONFIG_FREERTOS_HZ=1000
|
||
|
||
# WiFi
|
||
CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=10
|
||
CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32
|
||
CONFIG_ESP32_WIFI_TX_BUFFER_NUM=32
|
||
CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y
|
||
CONFIG_ESP_WIFI_STA_SUPPORT=y
|
||
|
||
# BLE (ESP32-C3 has BLE 5.0) - ESP-IDF 6.0 Bluedroid
|
||
CONFIG_BT_ENABLED=y
|
||
CONFIG_BT_BLUEDROID_ENABLED=y
|
||
CONFIG_BTDM_BLE_MAX_CONN_EFF=1
|
||
CONFIG_BTDM_CTRL_BLE_MAX_CONN_EFF=1
|
||
CONFIG_BTDM_BLE_MAX_CONN_EFF_EFF=1
|
||
|
||
# BLE 连接事件长度优化(允许单 CE 内传多包,提升 OTA 吞吐)
|
||
CONFIG_BT_CTRL_CE_LENGTH_TYPE_ORIG=y
|
||
|
||
# NimBLE OTA 窗口突发接收容量(恢复 7feef70 对应的 IDF 6.0 默认值)
|
||
CONFIG_BT_NIMBLE_MSYS_1_BLOCK_COUNT=12
|
||
CONFIG_BT_NIMBLE_MSYS_2_BLOCK_COUNT=24
|
||
CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT=12
|
||
|
||
# NimBLE: 禁用未使用的标准 GATT 服务(只保留自定义 OTA service,省 ~8-15 KB)
|
||
CONFIG_BT_NIMBLE_PROX_SERVICE=n
|
||
CONFIG_BT_NIMBLE_ANS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_CTS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_HTP_SERVICE=n
|
||
CONFIG_BT_NIMBLE_IPSS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_TPS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_IAS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_LLS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_SPS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_HR_SERVICE=n
|
||
CONFIG_BT_NIMBLE_BAS_SERVICE=n
|
||
CONFIG_BT_NIMBLE_DIS_SERVICE=n
|
||
|
||
# NimBLE: 保留足够 ACL 缓冲承接窗口内突发包
|
||
CONFIG_BT_NIMBLE_TRANSPORT_ACL_FROM_LL_COUNT=24
|
||
CONFIG_BT_NIMBLE_TRANSPORT_EVT_COUNT=16
|
||
CONFIG_BT_NIMBLE_ATT_MAX_PREP_ENTRIES=16
|
||
CONFIG_BT_NIMBLE_GATT_MAX_PROCS=2
|
||
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MIN_CONN_INTERVAL=12
|
||
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_MAX_CONN_INTERVAL=16
|
||
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SLAVE_LATENCY=0
|
||
CONFIG_BT_NIMBLE_SVC_GAP_PPCP_SUPERVISION_TMO=200
|
||
|
||
# mbedTLS
|
||
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
|
||
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT=y
|
||
CONFIG_MBEDTLS_DYNAMIC_BUFFER=y
|
||
CONFIG_MBEDTLS_AES_C=y
|
||
CONFIG_MBEDTLS_CTR_DRBG_C=y
|
||
CONFIG_MBEDTLS_ENTROPY_C=y
|
||
|
||
# System health monitoring
|
||
CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=32
|
||
CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096
|
||
|
||
# Log
|
||
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
|
||
CONFIG_LOG_MAXIMUM_LEVEL_VERBOSE=y
|
||
|
||
# OTA
|
||
CONFIG_ESP_OTA_IMG_VERIFICATION=y
|
||
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
|
||
CONFIG_APP_ROLLBACK_ENABLE=y
|
||
|
||
# HTTP server
|
||
CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
|
||
CONFIG_HTTPD_MAX_URI_LEN=512
|
||
|
||
# SPI master driver
|
||
CONFIG_SPI_MASTER_IN_IRAM=y
|
||
|
||
# Temp sensor
|
||
CONFIG_TEMPERATURE_SENSOR_CTRL_GPIO=-1
|
||
|
||
# ESP Timer
|
||
CONFIG_ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD=n
|
||
|
||
# efuse voltage read
|
||
CONFIG_ESP_EFUSE_WRITE_BLOCK=y
|