Files
RTC_BL_PHONE/sdkconfig.defaults
clement 216dc2523e
Repo State / repo-state (push) Failing after 13m59s
feat(pwr): DFS 160/80 + light sleep (eco batterie)
2026-06-19 23:58:33 +02:00

56 lines
2.2 KiB
Plaintext

# Cible
CONFIG_IDF_TARGET="esp32"
# Flash 4 MB (carte A1S) — requis pour que la partition factory 3 MB tienne
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_ESPTOOLPY_FLASHSIZE="4MB"
# Partitions
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv"
# Bluetooth : Bluedroid, BR/EDR only (pas de BLE), HFP-HF, data path HCI
CONFIG_BT_ENABLED=y
CONFIG_BT_BLUEDROID_ENABLED=y
CONFIG_BT_CLASSIC_ENABLED=y
CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=y
CONFIG_BT_BLE_ENABLED=n # verrouille « BR/EDR only » — économie RAM, BLE inutile pour HFP
CONFIG_BT_HFP_ENABLE=y
CONFIG_BT_HFP_CLIENT_ENABLE=y
CONFIG_BT_HFP_AUDIO_DATA_PATH_HCI=y
# HFP audio : Wide Band Speech (mSBC 16 kHz) via HCI
CONFIG_BT_HFP_WBS_ENABLE=y
# Un seul lien SCO/eSCO simultané
CONFIG_BTDM_CTRL_BR_EDR_MAX_SYNC_CONN=1
# Confort logs
CONFIG_LOG_DEFAULT_LEVEL_INFO=y
# Watchdog : tolérer la boucle de heartbeat
CONFIG_ESP_TASK_WDT_INIT=n
# PSRAM — détectée 8 MB sur carte A1S (ESP32-D0WD v3.1), confirmée par boot log 2026-06-19
# Voir docs/superpowers/notes/2026-06-19-psram-a1s.md
CONFIG_SPIRAM=y
CONFIG_SPIRAM_MODE_OCT=n
CONFIG_SPIRAM_SPEED_40M=y # verrouille 40 MHz détecté au boot — prévient toute dérive Kconfig
# I2S ISR en IRAM : indispensable quand le Bluetooth (SCO) desactive le cache flash,
# sinon l'ISR I2S ne tourne pas -> buffers DMA non recycles -> i2s_channel_write timeout.
CONFIG_I2S_ISR_IRAM_SAFE=y
# --- Economie d'energie (batterie) ---
# DFS : le CPU descend a 80 MHz au repos (audio en veille) et remonte a 160 MHz
# pendant un appel (le driver I2S pose un verrou APB_MAX quand les canaux sont actifs).
# esp_pm_configure() est appele dans app_main (max 160 / min 80 / light sleep).
CONFIG_PM_ENABLE=y
CONFIG_FREERTOS_USE_TICKLESS_IDLE=y
CONFIG_FREERTOS_IDLE_TIME_BEFORE_SLEEP=3
# Routines de sleep en IRAM : reduit la conso et le jitter de reveil.
CONFIG_PM_SLP_IRAM_OPT=y
CONFIG_PM_RTOS_IDLE_OPT=y
# Le LPCLK BT reste sur le quartz principal (MAIN_XTAL deja regle) : le controleur
# BT empeche le light sleep profond tant qu'il est connecte -> lien/SCO stables.
# Le gain au repos vient du DFS + power-down codec/I2S. Le light sleep profond
# (LPCLK BT sur RC) sera le levier suivant si l'autonomie reste insuffisante.