CONFIG_ESPTOOLPY_FLASHSIZE_16MB=y CONFIG_ESPTOOLPY_FLASHSIZE="16MB" CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE=y # External PSRAM (ESP32-S3 octal mode) CONFIG_SPIRAM=y CONFIG_SPIRAM_MODE_OCT=y CONFIG_SPIRAM_SPEED_80M=y CONFIG_SPIRAM_BOOT_INIT=y CONFIG_SPIRAM_USE_MALLOC=y CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY=y CONFIG_FREERTOS_TASK_CREATE_ALLOW_EXT_MEM=y CONFIG_FREERTOS_USE_TRACE_FACILITY=y # CONFIG_TQ_TASK_MONITOR_ENABLE is not set # CONFIG_TQ_BOOT_SEQUENCE_DRY_RUN is not set CONFIG_TQ_BOOT_SOUND_TIMEOUT_MS=3000 CONFIG_TQ_BOOT_SOUND_FILE="boot.opus" CONFIG_TQ_NETWORK_TASK_CORE=0 CONFIG_TQ_LOCAL_TASK_CORE=1 CONFIG_TQ_TASK_MONITOR_INTERVAL_MS=10000 CONFIG_TQ_TASK_MONITOR_MAX_TASKS=64 CONFIG_TQ_SYSTEM_EVENT_ENABLE=y CONFIG_TQ_SYSTEM_EVENT_QUEUE_LEN=32 CONFIG_TQ_SYSTEM_EVENT_TASK_STACK=4096 CONFIG_TQ_REMOTE_LOG_ENABLE=y CONFIG_TQ_REMOTE_LOG_ENDPOINT="http://47.98.175.183:8090/log/batch" CONFIG_TQ_REMOTE_LOG_AUTH_TOKEN="" CONFIG_TQ_REMOTE_LOG_MIN_LEVEL=2 CONFIG_TQ_REMOTE_LOG_PRESERVE_LOCAL_OUTPUT=y CONFIG_TQ_REMOTE_LOG_QUEUE_LEN=128 CONFIG_TQ_REMOTE_LOG_ENTRY_MAX_BYTES=256 CONFIG_TQ_REMOTE_LOG_BATCH_MAX_ENTRIES=30 CONFIG_TQ_REMOTE_LOG_FLUSH_INTERVAL_MS=5000 CONFIG_TQ_REMOTE_LOG_UPLOAD_TIMEOUT_MS=8000 CONFIG_TQ_REMOTE_LOG_MAX_FILES=24 CONFIG_TQ_REMOTE_LOG_FILE_MAX_BYTES=16384 CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH=y # CONFIG_ESP_COREDUMP_ENABLE_TO_UART is not set # CONFIG_ESP_COREDUMP_ENABLE_TO_NONE is not set CONFIG_ESP_COREDUMP_DATA_FORMAT_ELF=y # CONFIG_ESP_COREDUMP_DATA_FORMAT_BIN is not set CONFIG_ESP_COREDUMP_CHECKSUM_CRC32=y # CONFIG_ESP_COREDUMP_CHECKSUM_SHA256 is not set # CONFIG_ESP_COREDUMP_CAPTURE_DRAM is not set CONFIG_ESP_COREDUMP_CHECK_BOOT=y # CONFIG_ESP_COREDUMP_LOGS is not set CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=16 CONFIG_ESP_COREDUMP_STACK_SIZE=1792 CONFIG_TQ_KEY_INPUT_ENABLE=y CONFIG_TQ_KEY_INPUT_TASK_STACK=4096 CONFIG_TQ_KEY_IRQ_QUEUE_LEN=16 CONFIG_TQ_KEY_INPUT_POLL_MS=20 CONFIG_TQ_KEY_DEBOUNCE_INTERVAL_MS=20 CONFIG_TQ_KEY_LONG_PRESS_MS=800 CONFIG_TQ_KEY_DOUBLE_CLICK_MS=450 CONFIG_TQ_KEY_POST_DOUBLE_CLICK_SUPPRESS_MS=450 CONFIG_TQ_PTT_MODE_CLICK_TO_TALK=y # CONFIG_TQ_PTT_MODE_HOLD_TO_TALK is not set CONFIG_TQ_PTT_CLICK_CAPTURE_TIMEOUT_MS=8000 CONFIG_TQ_LOCAL_WAKE_ENABLE=y CONFIG_TQ_LOCAL_WAKE_RESPONSE_PROMPT_ENABLE=y CONFIG_TQ_LOCAL_WAKE_RESPONSE_PROMPT_FILE="local_wake_response.opus" CONFIG_TQ_LOCAL_WAKE_RETRY_MS=5000 CONFIG_TQ_LOCAL_WAKE_READY_TIMEOUT_MS=10000 CONFIG_TQ_LOCAL_WAKE_STOP_WAIT_MS=1000 CONFIG_TQ_LOCAL_WAKE_TASK_STACK_BYTES=6144 CONFIG_TQ_LOCAL_WAKE_TASK_PRIORITY=4 CONFIG_TQ_LOCAL_WAKE_TASK_CORE=0 CONFIG_TQ_LOCAL_COMMAND_TASK_STACK_BYTES=8192 CONFIG_TQ_LOCAL_COMMAND_TASK_PRIORITY=7 CONFIG_TQ_LOCAL_COMMAND_TASK_CORE=0 CONFIG_TQ_LOCAL_COMMAND_CONTROL_TIMEOUT_MS=1000 CONFIG_TQ_LOCAL_COMMAND_DETECTION_TIMEOUT_MS=6000 CONFIG_TQ_LOCAL_COMMAND_DETECTION_THRESHOLD_X10000=1200 CONFIG_SR_MN_CN_MULTINET7_QUANT=y CONFIG_SR_MN_EN_NONE=y # Internal DMA-capable SRAM budget. TLS/auth/fortune flows, hardware AES DMA # bounce buffers, LCD DMA, and worker task stacks all need internal-only memory. # Keep a protected internal reserve while pushing larger ordinary allocations to # PSRAM and trimming the always-internal Wi-Fi DMA buffers. CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096 CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=8 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=16 CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=8 CONFIG_ESP_WIFI_CACHE_TX_BUFFER_NUM=16 CONFIG_ESP_WIFI_RX_BA_WIN=6 # TQ_cat keeps a persistent realtime WebSocket/audio session; prioritize STA # beacon stability over modem-sleep savings. # CONFIG_TQ_WIFI_STA_POWER_SAVE is not set CONFIG_TQ_WIFI_STA_INACTIVE_TIME_SEC=15 # ESP-SR recommended performance/cache profile on ESP32-S3 # CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_160 is not set CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ=240 # CONFIG_ESP32S3_DATA_CACHE_32KB is not set CONFIG_ESP32S3_DATA_CACHE_64KB=y # CONFIG_ESP32S3_DATA_CACHE_LINE_32B is not set CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y CONFIG_COMPILER_OPTIMIZATION_PERF=y CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="16m.csv" # Increase system event loop task stack to avoid sys_evt overflow during Wi-Fi scan/connect. CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096 # Reserve lwIP's last DNS slot for the ESP-IDF fallback resolver. DHCP will not # overwrite DNS_FALLBACK_SERVER_INDEX, so HTTPS can still resolve hosts when an # access point hands out an unusable DNS server. CONFIG_LWIP_DNS_MAX_SERVERS=3 CONFIG_LWIP_FALLBACK_DNS_SERVER_SUPPORT=y CONFIG_LWIP_FALLBACK_DNS_SERVER_ADDRESS="114.114.114.114" # mDNS only serves LAN discovery; use component-supported PSRAM allocation to # preserve internal DMA/TLS memory for LCD, audio, Wi-Fi, and handshakes. CONFIG_MDNS_TASK_CREATE_FROM_SPIRAM=y CONFIG_MDNS_MEMORY_ALLOC_SPIRAM=y CONFIG_MULTIMODAL_DEVICE_ID="" CONFIG_MULTIMODAL_SERIAL_NUMBER="" CONFIG_MULTIMODAL_WIFI_SSID="TalkingQ_Guest" CONFIG_MULTIMODAL_WIFI_PASSWORD="66668888" CONFIG_ESPTOOLPY_MONITOR_BAUD=921600 CONFIG_ESP_CONSOLE_UART_BAUDRATE=921600 CONFIG_MULTIMODAL_DEVICE_TOKEN_URL="https://gz.api.talkingq.com/token/api/device/token" CONFIG_FORTUNE_ENABLE=y CONFIG_FORTUNE_API_URL="https://gz.api.talkingq.com/token/api/device/fortune/daily-wealth" CONFIG_FORTUNE_TIMEZONE="Asia/Shanghai" CONFIG_FORTUNE_SNTP_SERVER="ntp.aliyun.com" CONFIG_FORTUNE_CONNECT_TIMEOUT_MS=10000 CONFIG_FORTUNE_USER_CONFIG_HTTP_PORT=80 CONFIG_FORTUNE_USER_CONFIG_MDNS_HOSTNAME="tq-cat" # CONFIG_FORTUNE_USE_DEVICE_JWT is not set CONFIG_ENABLE_MULTIMODAL_INTERACTION=y # CONFIG_MULTIMODAL_USE_STATIC_CREDENTIALS is not set # CONFIG_MULTIMODAL_AUTH_BYPASS_TOKEN_SERVICE is not set CONFIG_AUTH_V2_ENABLE=y CONFIG_TQ_FACTORY_CLI_ENABLE=y CONFIG_MULTIMODAL_UPSTREAM_MODE="push2talk" CONFIG_MULTIMODAL_PTT_BUTTON_GPIO=13 CONFIG_MULTIMODAL_PTT_BUTTON_ACTIVE_LEVEL=0 CONFIG_MULTIMODAL_PTT_BUTTON_PULLUP=y # CONFIG_MULTIMODAL_PTT_BUTTON_PULLDOWN is not set # CONFIG_MULTIMODAL_AUDIO_CHANNEL_PROBE_ON_INIT is not set CONFIG_MULTIMODAL_HEARTBEAT_INTERVAL_MS=50000 CONFIG_MULTIMODAL_NO_RESPONSE_TIMEOUT_MS=60000 CONFIG_MULTIMODAL_DIALOG_IDLE_TIMEOUT_MS=60000 CONFIG_MULTIMODAL_AUDIO_CHUNK_SIZE=1920 CONFIG_MULTIMODAL_OPUS_FRAME_DURATION_MS=60 CONFIG_MULTIMODAL_OPUS_BITRATE_KBPS=24 CONFIG_MULTIMODAL_OPUS_COMPLEXITY=0 # CONFIG_MULTIMODAL_OPUS_ENABLE_VBR is not set # CONFIG_MULTIMODAL_OPUS_ENABLE_DTX is not set # CONFIG_MULTIMODAL_OPUS_ENABLE_FEC is not set CONFIG_MULTIMODAL_AUDIO_I2C_SCL_GPIO=2 CONFIG_MULTIMODAL_AUDIO_I2C_SDA_GPIO=1 CONFIG_MULTIMODAL_AUDIO_I2C_ADDR=0x18 CONFIG_MULTIMODAL_AUDIO_I2S_MCLK_GPIO=38 CONFIG_MULTIMODAL_AUDIO_I2S_BCLK_GPIO=39 CONFIG_MULTIMODAL_AUDIO_I2S_WS_GPIO=41 CONFIG_MULTIMODAL_AUDIO_I2S_DOUT_GPIO=40 CONFIG_MULTIMODAL_AUDIO_I2S_DIN_GPIO=42 CONFIG_MULTIMODAL_AUDIO_UPLINK_TASK_STACK=32768 CONFIG_MULTIMODAL_AUDIO_UPLINK_SEND_TASK_STACK=12288 CONFIG_MULTIMODAL_AUDIO_UPLINK_SEND_QUEUE_LEN=24 CONFIG_MULTIMODAL_AUDIO_UPLINK_SEND_TIMEOUT_MS=5 CONFIG_MULTIMODAL_AUDIO_CODEC_CHANNELS=2 CONFIG_MULTIMODAL_AUDIO_AEC_REFERENCE_CHANNEL=1 CONFIG_MULTIMODAL_AUDIO_AEC_FILTER_LENGTH=4 CONFIG_MULTIMODAL_AUDIO_UPLINK_MAX_PACKET_BYTES=1024 CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_TASK_STACK=12288 # CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_DIAGNOSTICS_ENABLE is not set CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_ACTIVE_STALL_MUTE_MS=3000 CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_PREBUFFER_MS=160 CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_REBUFFER_GAP_MS=120 CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_MAX_REBUFFER_MS=640 CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_QUEUE_LEN=1024 CONFIG_MULTIMODAL_AUDIO_DOWNSTREAM_PLAYBACK_MAX_PACKET_BYTES=2048 CONFIG_MULTIMODAL_AUDIO_I2S_DMA_DESC_NUM=4 CONFIG_MULTIMODAL_AUDIO_I2S_DMA_FRAME_NUM=160 # CONFIG_MULTIMODAL_AUDIO_LOG_UPLINK_LEVELS is not set CONFIG_MULTIMODAL_AUDIO_TASK_CORE=1 CONFIG_MULTIMODAL_TTS_VOICE="" CONFIG_MULTIMODAL_TTS_SPEECH_RATE=110 CONFIG_MULTIMODAL_DOWNSTREAM_INTERMEDIATE_TEXT="transcript,dialog" CONFIG_MULTIMODAL_DOWNSTREAM_RATE_LIMIT=3000 # CONFIG_MULTIMODAL_DOWNSTREAM_INCREMENTAL_RESPONSE is not set CONFIG_MULTIMODAL_WEBSOCKET_TASK_STACK_BYTES=32768 CONFIG_MULTIMODAL_WEBSOCKET_TASK_PRIORITY=8 CONFIG_MULTIMODAL_WS_BUFFER_SIZE=2048 CONFIG_MULTIMODAL_WS_PING_INTERVAL_SEC=20 CONFIG_MULTIMODAL_WS_PINGPONG_TIMEOUT_SEC=120 CONFIG_MULTIMODAL_WS_ENABLE_TCP_KEEPALIVE=y CONFIG_MULTIMODAL_WS_TCP_KEEPALIVE_IDLE_SEC=30 CONFIG_MULTIMODAL_WS_TCP_KEEPALIVE_INTERVAL_SEC=10 CONFIG_MULTIMODAL_WS_TCP_KEEPALIVE_COUNT=3 CONFIG_MULTIMODAL_WS_REALTIME_LOCK_WAIT_MS=80 CONFIG_MULTIMODAL_WS_REALTIME_SEND_TIMEOUT_MS=300 CONFIG_MULTIMODAL_WS_DISPATCH_TASK_STACK_BYTES=4096 CONFIG_MULTIMODAL_WS_JSON_TASK_STACK_BYTES=8192 CONFIG_MULTIMODAL_WS_OPUS_TASK_STACK_BYTES=12288 CONFIG_MULTIMODAL_WS_MSG_QUEUE_LEN=512 CONFIG_MULTIMODAL_RECONNECT_DELAY_MS=2000 # Keep both symbols for compatibility; defaults follow doc behavior. # Disable separate TX lock for stability; single lock avoids close/send race under high-frequency uplink. CONFIG_ESP_WS_CLIENT_SEPARATE_TX_LOCK=y CONFIG_ESP_WS_CLIENT_TX_LOCK_TIMEOUT_MS=2000 # mbedTLS certificate parsing and dynamic record buffers otherwise compete for # internal DRAM with LCD/audio/network startup. Use the default allocator so # ordinary TLS heap can spill to PSRAM when the internal heap is fragmented. # CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC is not set CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC=y CONFIG_MBEDTLS_DYNAMIC_BUFFER=y # Keep inbound TLS large enough for certificate handshake records while still # capping outbound request records. The token endpoint currently sends a # certificate handshake message larger than 4 KB, which mbedTLS reports as # MBEDTLS_ERR_SSL_INVALID_RECORD (-0x7200) when the inbound cap is too small. CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=8192 CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096 CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y # The firmware does not inspect the peer certificate after the handshake; avoid # retaining the parsed chain on the heap. # CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE is not set CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL=y # ZJY200-2432KHWIG25DCT ST7789P3 panel on the 2026-07-24 board # CONFIG_TQ_SCREEN_COLOR_ORDER_BGR is not set CONFIG_TQ_SCREEN_INVERT_COLOR=y CONFIG_TQ_SCREEN_SWAP_COLOR_BYTES=y CONFIG_TQ_SCREEN_BACKLIGHT_ACTIVE_HIGH=y CONFIG_TQ_SCREEN_MIRROR_X=y CONFIG_TQ_SCREEN_SWAP_XY=y CONFIG_TQ_SCREEN_X_GAP=0 CONFIG_TQ_SCREEN_Y_GAP=0 CONFIG_TQ_SCREEN_RESET_PIN=17 CONFIG_TQ_SCREEN_SPI_MISO_GPIO=-1 CONFIG_TQ_SCREEN_SPI_MOSI_GPIO=18 CONFIG_TQ_SCREEN_SPI_CLK_GPIO=8 CONFIG_TQ_SCREEN_SPI_CS_GPIO=15 CONFIG_TQ_SCREEN_DC_GPIO=16 CONFIG_TQ_SCREEN_BACKLIGHT_GPIO=7 CONFIG_TQ_SCREEN_SPI_PIXEL_CLOCK_HZ=20000000 CONFIG_TQ_SLOT_SWITCH_GPIO=6 CONFIG_TQ_SLOT_SWITCH_ACTIVE_LEVEL=0 CONFIG_TQ_SLOT_SWITCH_PULLUP=y # CONFIG_TQ_SLOT_SWITCH_PULLDOWN is not set CONFIG_TQ_BOOT_TURNTABLE_CALIBRATION_ENABLE=y CONFIG_TQ_STEPPER_IN1_GPIO=45 CONFIG_TQ_STEPPER_IN2_GPIO=48 CONFIG_TQ_STEPPER_IN3_GPIO=47 CONFIG_TQ_STEPPER_IN4_GPIO=21 CONFIG_TQ_CALIBRATION_SWITCH_GPIO=12 CONFIG_TQ_CALIBRATION_SWITCH_ACTIVE_LEVEL=0 CONFIG_TQ_CALIBRATION_SWITCH_PULLUP=y # CONFIG_TQ_CALIBRATION_SWITCH_PULLDOWN is not set # CONFIG_TQ_SCREEN_COLOR_AUTOTEST is not set CONFIG_TQ_SCREEN_COLOR_AUTOTEST_INTERVAL_MS=3000 CONFIG_TQ_POWER_HOLD_GPIO=9 CONFIG_TQ_POWER_HOLD_ACTIVE_LEVEL=1 CONFIG_MULTIMODAL_AUDIO_PA_GPIO=11