menu "Xiaozhi Assistant"

config OTA_URL
    string "Default OTA URL"
    default "https://api.tenclass.net/xiaozhi/ota/"
    help
        The application will access this URL to check for new firmwares and server address.

choice
    prompt "Flash Assets"
    default FLASH_DEFAULT_ASSETS
    help
        Select the assets to flash.

    config FLASH_NONE_ASSETS
        bool "Do not flash assets"
    config FLASH_DEFAULT_ASSETS
        bool "Flash Default Assets"
    config FLASH_CUSTOM_ASSETS
        bool "Flash Custom Assets"
endchoice

config CUSTOM_ASSETS_FILE
    depends on FLASH_CUSTOM_ASSETS
    string "Custom Assets File"
    default "assets.bin"
    help
        The custom assets file to flash.
        It can be a local file relative to the project directory or a remote url.

choice
    prompt "Default Language"
    default LANGUAGE_ZH_CN
    help
        Select device display language

    config LANGUAGE_ZH_CN
        bool "Chinese"
    config LANGUAGE_ZH_TW
        bool "Chinese Traditional"
    config LANGUAGE_EN_US
        bool "English"
    config LANGUAGE_JA_JP
        bool "Japanese"
    config LANGUAGE_KO_KR
        bool "Korean"
    config LANGUAGE_VI_VN
        bool "Vietnamese"
    config LANGUAGE_TH_TH
        bool "Thai"
    config LANGUAGE_DE_DE
        bool "German"
    config LANGUAGE_FR_FR
        bool "French"
    config LANGUAGE_ES_ES
        bool "Spanish"
    config LANGUAGE_IT_IT
        bool "Italian"
    config LANGUAGE_RU_RU
        bool "Russian"
    config LANGUAGE_AR_SA
        bool "Arabic"
    config LANGUAGE_HI_IN
        bool "Hindi"
    config LANGUAGE_PT_PT
        bool "Portuguese"
    config LANGUAGE_PL_PL
        bool "Polish"
    config LANGUAGE_CS_CZ
        bool "Czech"
    config LANGUAGE_FI_FI
        bool "Finnish"
    config LANGUAGE_TR_TR
        bool "Turkish"
    config LANGUAGE_ID_ID
        bool "Indonesian"
    config LANGUAGE_UK_UA
        bool "Ukrainian"
    config LANGUAGE_RO_RO
        bool "Romanian"
endchoice

choice BOARD_TYPE
    prompt "Board Type"
    default BOARD_TYPE_BREAD_COMPACT_WIFI
    help
        Board type. 开发板类型
    config BOARD_TYPE_BREAD_COMPACT_WIFI
        bool "Bread Compact WiFi (面包板)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_WIFI_LCD
        bool "Bread Compact WiFi + LCD (面包板)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_WIFI_CAM
        bool "Bread Compact WiFi + LCD + Camera (面包板)"
        depends on IDF_TARGET_ESP32S3     
    config BOARD_TYPE_BREAD_COMPACT_ML307
        bool "Bread Compact ML307/EC801E (面包板 4G)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_BREAD_COMPACT_ESP32
        bool "Bread Compact ESP32 DevKit (面包板)"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_BREAD_COMPACT_ESP32_LCD
        bool "Bread Compact ESP32 DevKit + LCD (面包板)"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_XMINI_C3_V3
        bool "Xmini C3 V3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_XMINI_C3_4G
        bool "Xmini C3 4G"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_XMINI_C3
        bool "Xmini C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_ESP32S3_KORVO2_V3
        bool "ESP32S3 KORVO2 V3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_SPARKBOT
        bool "ESP-SparkBot"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_SPOT_S3
        bool "ESP-Spot-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_HI
        bool "ESP-HI"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_ECHOEAR
        bool "EchoEar"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_BOX_3
        bool "ESP BOX 3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_BOX
        bool "ESP BOX"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_BOX_LITE
        bool "ESP BOX Lite"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_BOX_1
        bool "Kevin Box 1"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_BOX_2
        bool "Kevin Box 2"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_C3
        bool "Kevin C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_KEVIN_SP_V3_DEV
        bool "Kevin SP V3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_KEVIN_SP_V4_DEV
        bool "Kevin SP V4"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32_CGC
        bool "ESP32 CGC"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_ESP32_CGC_144
        bool "ESP32 CGC 144"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_KEVIN_YUYING_313LCD
        bool "鱼鹰科技 3.13LCD"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LICHUANG_DEV
        bool "立创·实战派 ESP32-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LICHUANG_C3_DEV
        bool "立创·实战派 ESP32-C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_DF_K10
        bool "DFRobot 行空板 k10"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_DF_S3_AI_CAM
        bool "DFRobot ESP32-S3 AI智能摄像头模块"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MAGICLICK_2P4
        bool "神奇按钮 Magiclick_2.4"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MAGICLICK_2P5
        bool "神奇按钮 Magiclick_2.5"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MAGICLICK_C3
        bool "神奇按钮 Magiclick_C3"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_MAGICLICK_C3_V2
        bool "神奇按钮 Magiclick_C3_v2"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_M5STACK_CORE_S3
        bool "M5Stack CoreS3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_M5STACK_CORE_TAB5
        bool "M5Stack Tab5"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_ATOMS3_ECHO_BASE
        bool "AtomS3 + Echo Base"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATOMS3R_ECHO_BASE
        bool "AtomS3R + Echo Base"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATOMS3R_CAM_M12_ECHO_BASE
        bool "AtomS3R CAM/M12 + Echo Base"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATOM_ECHOS3R
        bool "AtomEchoS3R"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATOMMATRIX_ECHO_BASE
        bool "AtomMatrix + Echo Base"
        depends on IDF_TARGET_ESP32
    config BOARD_TYPE_ESP32S3_AUDIO_BOARD
        bool "Waveshare ESP32-S3-Audio-Board"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Touch_AMOLED_1_8
        bool "Waveshare ESP32-S3-Touch-AMOLED-1.8"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Touch_AMOLED_2_06
        bool "Waveshare ESP32-S3-Touch-AMOLED-2.06"
    config BOARD_TYPE_ESP32S3_Touch_AMOLED_1_75
        bool "Waveshare ESP32-S3-Touch-AMOLED-1.75"
    config BOARD_TYPE_ESP32S3_Touch_LCD_4B
        bool "Waveshare ESP32-S3-Touch-LCD-4B"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Touch_LCD_1_85C
        bool "Waveshare ESP32-S3-Touch-LCD-1.85C"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Touch_LCD_1_85
        bool "Waveshare ESP32-S3-Touch-LCD-1.85"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Touch_LCD_1_46
        bool "Waveshare ESP32-S3-Touch-LCD-1.46"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32C6_LCD_1_69
        bool "Waveshare ESP32-C6-LCD-1.69"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_ESP32C6_Touch_AMOLED_1_43
        bool "Waveshare ESP32-C6-Touch-AMOLOED-1.43"
        depends on IDF_TARGET_ESP32C6
    config BOARD_TYPE_ESP32S3_Touch_LCD_3_49
        bool "Waveshare ESP32-S3-Touch-LCD-3.49"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Touch_LCD_3_5
        bool "Waveshare ESP32-S3-Touch-LCD-3.5"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Touch_LCD_3_5B
        bool "Waveshare ESP32-S3-Touch-LCD-3.5B"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32P4_NANO
        bool "Waveshare ESP32-P4-NANO"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_ESP32P4_WIFI6_Touch_LCD_4B
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4B"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_ESP32P4_WIFI6_Touch_LCD_XC
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C or ESP32-P4-WIFI6-Touch-LCD-4C"
        depends on IDF_TARGET_ESP32P4
    config BOARD_TYPE_TUDOUZI
        bool "土豆子"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_CIRCLE_S3
        bool "LILYGO T-Circle-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_CAMERAPLUS_S3_V1_0_V1_1
        bool "LILYGO T-CameraPlus-S3_V1_0_V1_1"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_CAMERAPLUS_S3_V1_2
        bool "LILYGO T-CameraPlus-S3_V1_2"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_DISPLAY_S3_PRO_MVSRLORA
        bool "LILYGO T-Display-S3-Pro-MVSRLora"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LILYGO_T_DISPLAY_S3_PRO_MVSRLORA_NO_BATTERY
        bool "LILYGO T-Display-S3-Pro-MVSRLora_No_Battery"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MOVECALL_MOJI_ESP32S3
        bool "Movecall Moji 小智AI衍生版"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MOVECALL_CUICAN_ESP32S3
        bool "Movecall CuiCan 璀璨·AI吊坠"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3
        bool "正点原子DNESP32S3开发板"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX
        bool "正点原子DNESP32S3-BOX"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX0
        bool "正点原子DNESP32S3-BOX0"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX2_WIFI
        bool "正点原子DNESP32S3-BOX2-WIFI"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3_BOX2_4G
        bool "正点原子DNESP32S3-BOX2-4G" 
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3M_WIFI
        bool "正点原子DNESP32S3M-WIFI"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ATK_DNESP32S3M_4G
        bool "正点原子DNESP32S3M-4G"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_DU_CHATX
        bool "嘟嘟开发板CHATX(wifi)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32S3_Taiji_Pi
        bool "太极小派esp32s3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_Cube_0_85TFT_WIFI
        bool "无名科技星智0.85(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_Cube_0_85TFT_ML307
        bool "无名科技星智0.85(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_Cube_0_96OLED_WIFI
        bool "无名科技星智0.96(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_Cube_0_96OLED_ML307
        bool "无名科技星智0.96(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_Cube_1_54TFT_WIFI
        bool "无名科技星智1.54(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_XINGZHI_Cube_1_54TFT_ML307
        bool "无名科技星智1.54(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_SENSECAP_WATCHER
        bool "SenseCAP Watcher"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_DOIT_S3_AIBOX
        bool "四博智联AI陪伴盒子"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MIXGO_NOVA
        bool "元控·青春"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_GENJUTECH_S3_1_54TFT
        bool "亘具科技1.54(s3)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_S3_LCD_EV_Board
        bool "乐鑫ESP S3 LCD EV Board开发板"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP_S3_LCD_EV_Board_2
        bool "乐鑫ESP S3 LCD EV Board 2开发板"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ZHENGCHEN_1_54TFT_WIFI
        bool "征辰科技1.54(WIFI)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ZHENGCHEN_1_54TFT_ML307
        bool "征辰科技1.54(ML307)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_MINSI_K08_DUAL
        bool "敏思科技K08(DUAL)"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32_S3_1_54_MUMA
        bool "Spotpear ESP32-S3-1.54-MUMA"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_ESP32_S3_1_28_BOX
        bool "Spotpear ESP32-S3-1.28-BOX"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_OTTO_ROBOT
        bool "ottoRobot"
        depends on IDF_TARGET_ESP32S3
        select LV_USE_GIF
        select LV_GIF_CACHE_DECODE_DATA
    config BOARD_TYPE_ELECTRON_BOT
        bool "electronBot"
        depends on IDF_TARGET_ESP32S3
        select LV_USE_GIF
        select LV_GIF_CACHE_DECODE_DATA
    config BOARD_TYPE_JIUCHUAN
        bool "九川智能"
    config BOARD_TYPE_LABPLUS_MPYTHON_V3
        bool "labplus mpython_v3 board"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_LABPLUS_LEDONG_V2
        bool "labplus ledong_v2 board"
        depends on IDF_TARGET_ESP32S3
    depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_SURFER_C3_1_14TFT
        bool "Surfer-C3-1.14TFT"
        depends on IDF_TARGET_ESP32C3
    config BOARD_TYPE_YUNLIAO_S3
        bool "小智云聊-S3"
        depends on IDF_TARGET_ESP32S3
    config BOARD_TYPE_JINAO_S3
        bool "极脑ESP32-S3开发板"
        depends on IDF_TARGET_ESP32S3
endchoice

choice ESP_S3_LCD_EV_Board_Version_TYPE
    depends on BOARD_TYPE_ESP_S3_LCD_EV_Board
    prompt "EV_BOARD Type"
    default ESP_S3_LCD_EV_Board_1p4
    config ESP_S3_LCD_EV_Board_1p4
        bool "乐鑫ESP32_S3_LCD_EV_Board-MB_V1.4"
    config ESP_S3_LCD_EV_Board_1p5
        bool "乐鑫ESP32_S3_LCD_EV_Board-MB_V1.5"
endchoice

choice DISPLAY_OLED_TYPE
    depends on BOARD_TYPE_BREAD_COMPACT_WIFI || BOARD_TYPE_BREAD_COMPACT_ML307 || BOARD_TYPE_BREAD_COMPACT_ESP32
    prompt "OLED Type"
    default OLED_SSD1306_128X32
    help
        OLED Monochrome Display Type
    config OLED_SSD1306_128X32
        bool "SSD1306 128*32"
    config OLED_SSD1306_128X64
        bool "SSD1306 128*64"
    config OLED_SH1106_128X64
        bool "SH1106 128*64"
endchoice

choice DISPLAY_LCD_TYPE
    depends on BOARD_TYPE_BREAD_COMPACT_WIFI_LCD || BOARD_TYPE_BREAD_COMPACT_ESP32_LCD || BOARD_TYPE_ESP32_CGC || BOARD_TYPE_ESP32P4_NANO || BOARD_TYPE_ESP32P4_WIFI6_Touch_LCD_XC || BOARD_TYPE_BREAD_COMPACT_WIFI_CAM
    prompt "LCD Type"
    default LCD_ST7789_240X320
    help
        LCD Display Type
    config LCD_ST7789_240X320
        bool "ST7789 240*320, IPS"
    config LCD_ST7789_240X320_NO_IPS
        bool "ST7789 240*320, Non-IPS"
    config LCD_ST7789_170X320
        bool "ST7789 170*320"
    config LCD_ST7789_172X320
        bool "ST7789 172*320"
    config LCD_ST7789_240X280
        bool "ST7789 240*280"
    config LCD_ST7789_240X240
        bool "ST7789 240*240"
    config LCD_ST7789_240X240_7PIN
        bool "ST7789 240*240, 7PIN"
    config LCD_ST7789_240X135
        bool "ST7789 240*135"
    config LCD_ST7735_128X160
        bool "ST7735 128*160"
    config LCD_ST7735_128X128
        bool "ST7735 128*128"
    config LCD_ST7796_320X480
        bool "ST7796 320*480 IPS"
    config LCD_ST7796_320X480_NO_IPS
        bool "ST7796 320*480, Non-IPS"
    config LCD_ILI9341_240X320
        bool "ILI9341 240*320"
    config LCD_ILI9341_240X320_NO_IPS
        bool "ILI9341 240*320, Non-IPS"
    config LCD_GC9A01_240X240
        bool "GC9A01 240*240 Circle"
    config LCD_TYPE_800_1280_10_1_INCH
        bool "Waveshare 101M-8001280-IPS-CT-K Display"
    config LCD_TYPE_800_1280_10_1_INCH_A
        bool "Waveshare 10.1-DSI-TOUCH-A Display"
    config LCD_TYPE_800_800_3_4_INCH
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-3.4C with 800*800 3.4inch round display"
    config LCD_TYPE_720_720_4_INCH
        bool "Waveshare ESP32-P4-WIFI6-Touch-LCD-4C with 720*720 4inch round display"
    config LCD_CUSTOM
        bool "Custom LCD (自定义屏幕参数)"
endchoice

choice DISPLAY_ESP32S3_KORVO2_V3
    depends on BOARD_TYPE_ESP32S3_KORVO2_V3
    prompt "ESP32S3_KORVO2_V3 LCD Type"
    default ESP32S3_KORVO2_V3_LCD_ST7789
    help
        LCD Display Type
    config ESP32S3_KORVO2_V3_LCD_ST7789
        bool "ST7789 240*280"
    config ESP32S3_KORVO2_V3_LCD_ILI9341
        bool "ILI9341 240*320"
endchoice

choice DISPLAY_ESP32S3_AUDIO_BOARD
    depends on BOARD_TYPE_ESP32S3_AUDIO_BOARD
    prompt "ESP32S3_AUDIO_BOARD LCD Type"
    default AUDIO_BOARD_LCD_JD9853
    help
        LCD Display Type
    config AUDIO_BOARD_LCD_JD9853
        bool "JD9853 320*172"
    config AUDIO_BOARD_LCD_ST7789
        bool "ST7789 240*320"
endchoice

choice DISPLAY_STYLE
    prompt "Select display style"
    default USE_DEFAULT_MESSAGE_STYLE
    help
        Select display style for Xiaozhi device

    config USE_DEFAULT_MESSAGE_STYLE
        bool "Enable default message style"

    config USE_WECHAT_MESSAGE_STYLE
        bool "Enable WeChat Message Style"

    config USE_EMOTE_MESSAGE_STYLE
        bool "Emote animation style"
        depends on BOARD_TYPE_ESP_BOX_3 || BOARD_TYPE_ECHOEAR
endchoice

choice WAKE_WORD_TYPE
    prompt "Wake Word Implementation Type"
    default USE_AFE_WAKE_WORD if (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
    default WAKE_WORD_DISABLED
    help
        Choose the type of wake word implementation to use

    config WAKE_WORD_DISABLED
        bool "Disabled"
        help
            Disable wake word detection

    config USE_ESP_WAKE_WORD
        bool "Wakenet model without AFE"
        depends on IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32C5 || IDF_TARGET_ESP32C6 || (IDF_TARGET_ESP32 && SPIRAM)
        help
            Support ESP32 C3、ESP32 C5 与 ESP32 C6, and (ESP32 with PSRAM)

    config USE_AFE_WAKE_WORD
        bool "Wakenet model with AFE"
        depends on (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
        help
            Support AEC if available, requires ESP32 S3 and PSRAM

    config USE_CUSTOM_WAKE_WORD
        bool "Multinet model (Custom Wake Word)"
        depends on (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
        help
            Requires ESP32 S3 and PSRAM

endchoice

config CUSTOM_WAKE_WORD
    string "Custom Wake Word"
    default "xiao tu dou"
    depends on USE_CUSTOM_WAKE_WORD
    help
        Custom Wake Word, use pinyin for Chinese, separated by spaces

config CUSTOM_WAKE_WORD_DISPLAY
    string "Custom Wake Word Display"
    default "小土豆"
    depends on USE_CUSTOM_WAKE_WORD
    help
        Greeting sent to the server after wake word detection

config CUSTOM_WAKE_WORD_THRESHOLD
    int "Custom Wake Word Threshold (%)"
    default 20
    range 1 99
    depends on USE_CUSTOM_WAKE_WORD
    help
        Custom Wake Word Threshold, range 1-99, the smaller the more sensitive, default 20

config SEND_WAKE_WORD_DATA
    bool "Send Wake Word Data"
    default y
    depends on USE_AFE_WAKE_WORD || USE_CUSTOM_WAKE_WORD
    help
        Send wake word data to the server as the first message of the conversation and wait for response
        
config USE_AUDIO_PROCESSOR
    bool "Enable Audio Noise Reduction"
    default y
    depends on (IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32P4) && SPIRAM
    help
        Requires ESP32 S3 and PSRAM

config USE_DEVICE_AEC
    bool "Enable Device-Side AEC"
    default n
        depends on USE_AUDIO_PROCESSOR && (BOARD_TYPE_ESP_BOX_3 || BOARD_TYPE_ESP_BOX || BOARD_TYPE_ESP_BOX_LITE \
        || BOARD_TYPE_LICHUANG_DEV || BOARD_TYPE_ESP32S3_KORVO2_V3 || BOARD_TYPE_ESP32S3_Touch_AMOLED_1_75 \
        || BOARD_TYPE_ESP32S3_Touch_AMOLED_2_06 || BOARD_TYPE_ESP32S3_Touch_LCD_4B || BOARD_TYPE_ESP32P4_WIFI6_Touch_LCD_4B \
        || BOARD_TYPE_ESP32P4_WIFI6_Touch_LCD_XC || BOARD_TYPE_ESP_S3_LCD_EV_Board_2 || BOARD_TYPE_YUNLIAO_S3 \
        || BOARD_TYPE_ECHOEAR || BOARD_TYPE_ESP32S3_Touch_LCD_3_49)
    help
        To work properly, device-side AEC requires a clean output reference path from the speaker signal and physical acoustic isolation between the microphone and speaker.

config USE_SERVER_AEC
    bool "Enable Server-Side AEC (Unstable)"
    default n
    depends on USE_AUDIO_PROCESSOR
    help
        To work perperly, server-side AEC requires server support

config USE_AUDIO_DEBUGGER
    bool "Enable Audio Debugger"
    default n
    help
        Enable audio debugger, send audio data through UDP to the host machine

config AUDIO_DEBUG_UDP_SERVER
    string "Audio Debug UDP Server Address"
    default "192.168.2.100:8000"
    depends on USE_AUDIO_DEBUGGER
    help
        UDP server address, format: IP:PORT, used to receive audio debugging data

config USE_ACOUSTIC_WIFI_PROVISIONING
    bool "Enable Acoustic WiFi Provisioning"
    default n
    help
        Enable acoustic WiFi provisioning, use audio signal to transmit WiFi configuration data

config RECEIVE_CUSTOM_MESSAGE
    bool "Enable Custom Message Reception"
    default n
    help
        Enable custom message reception, allow the device to receive custom messages from the server (preferably through the MQTT protocol)

menu TAIJIPAI_S3_CONFIG
    depends on BOARD_TYPE_ESP32S3_Taiji_Pi
    choice I2S_TYPE_TAIJIPI_S3
        prompt "taiji-pi-S3 I2S Type"
        default TAIJIPAI_I2S_TYPE_STD
        help
            I2S 类型选择
        config TAIJIPAI_I2S_TYPE_STD
            bool "I2S Type STD"
        config TAIJIPAI_I2S_TYPE_PDM
            bool "I2S Type PDM"
    endchoice

    config I2S_USE_2SLOT
    bool "Enable I2S 2 Slot"
    default n
    help
        启动双声道
endmenu

endmenu
