/*!
 * \file
 * \brief     配置文件
 * \details
 * \author
 * \date
 * \copyright Actions
 */

#include <input_manager_type.h>

#define BOARD_LARK                          (4)

#define CFG_SUPPORT_AAP_SETTINGS     1
#define CFG_OPTIMIZE_BT_MUSIC_STUCK  0

#define BOARD_TYPE  BOARD_LARK

/*-----------------------------------------------------------------------------
 * 配置文件中必须使用以下定义的 cfg_xxx 数据类型
 *---------------------------------------------------------------------------*/
typedef signed char   cfg_int8;
typedef signed short  cfg_int16;
typedef signed int  cfg_int32;

typedef unsigned char   cfg_uint8;
typedef unsigned short  cfg_uint16;
typedef unsigned int  cfg_uint32;

/*---------------------------------------------------------------------------*/


/* 常用数值定义
 */
#ifndef TRUE
#define TRUE    1
#endif

#ifndef FALSE
#define FALSE   0
#endif 

#define ENABLE   TRUE
#define DISABLE  FALSE
#define OK       TRUE
#define FAIL     FALSE
#define NONE     0


/* IC 型号定义
 */
#define IC_TYPE_LARK    (1 << 14)


/* 当前选用的 IC 型号
 */
#if (BOARD_TYPE == BOARD_LARK)
    #define CFG_IC_TYPE  IC_TYPE_LARK


/* 最大配置数定义
 */
#define CFG_MAX_USER_VERSION_LEN    32
#define CFG_MAX_CASE_NAME_LEN       20
#define CFG_MAX_RESERVED_SIZE       255
#define CFG_MAX_GPIO_PINS           79
#define CFG_MAX_LRADC_KEYS          9
#define CFG_MAX_LRADC_COMBO_KEYS    3
#define CFG_MAX_GPIO_KEYS           4
#define CFG_MAX_KEY_FUNC_MAPS       40
#define CFG_MAX_COMBO_KEY_MAPS      8
#define CFG_MAX_LEDS                4
#define CFG_MAX_LED_DISPLAY_MODELS  15
#define CFG_MAX_VOICES              24
#define CFG_MAX_NUMERIC_VOICES      10
#define CFG_MAX_TONES               10
#define CFG_MAX_VOICE_NAME_LEN      9
#define CFG_MAX_VOICE_FMT_LEN       5
#define CFG_MAX_TONE_NAME_LEN       9
#define CFG_MAX_TONE_FMT_LEN        5
#define CFG_MAX_EVENT_NOTIFY        40
#define CFG_MAX_BATTERY_LEVEL       10
#define CFG_MAX_BT_DEV_NAME_LEN     30
#define CFG_MAX_BT_SUFFIX_LEN       10
#define CFG_MAX_BT_PIN_CODE_LEN     6
#define CFG_MAX_BT_SUPPORT_DEVICES  3
#define CFG_MAX_BT_MUSIC_VOLUME     16
#define CFG_MAX_BT_CALL_VOLUME      15
#define CFG_MAX_LINEIN_VOLUME       16
#define CFG_MAX_VOICE_VOLUME        16
#define CFG_MAX_CAP_TEMP_COMP       20
#define CFG_MAX_PEQ_BANDS           14
#define CFG_MAX_UUID_STR_LEN        38
#define CFG_MAX_ADC_NUM             4

#define CFG_GPIO_MFP_PIN_DEF(_gpio_no, _mfp_sel)  \
    (_gpio_no << 0) |  \
    (_mfp_sel << 8)

/*-----------------------------------------------------------------------------
 * 配置枚举类型定义
 * 类型必须以 CFG_XXX 命名
 *---------------------------------------------------------------------------*/


/* 配置分类定义
 */
enum CFG_CATEGORY
{
    CFG_CATEGORY_SYSTEM,          // <"系统">
    CFG_CATEGORY_UPGRADE,         // <"固件升级设置">
    CFG_CATEGORY_DISPLAY,         // <"显示">
    CFG_CATEGORY_KEY,             // <"按键">
    CFG_CATEGORY_AUDIO,           // <"音频">
    CFG_CATEGORY_VOLUME_GAIN,     // <"音量及增益">
    CFG_CATEGORY_BATTERY_CHARGE,  // <"电池及充电">
    CFG_CATEGORY_EVENT_NOTIFY,    // <"事件通知">
    CFG_CATEGORY_VOICE,           // <"语音">
    CFG_CATEGORY_TONE,            // <"提示音">
    CFG_CATEGORY_LINEIN,          // <"Linein",   hide>
    CFG_CATEGORY_APP_MUSIC,       // <"本地音乐", hide>
    CFG_CATEGORY_CARD,            // <"存储卡",   hide>
    CFG_CATEGORY_USB,             // <"USB",      hide>
    CFG_CATEGORY_BT_MUSIC,        // <"蓝牙音乐">
    CFG_CATEGORY_BT_CALL,         // <"蓝牙通话">
    CFG_CATEGORY_IG_CALL,         // <"智能语音", hide>
    CFG_CATEGORY_BLUETOOTH,       // <"蓝牙管理">
    CFG_CATEGORY_BLE,             // <"BLE 管理">
    CFG_CATEGORY_ASET,            // <"音效调节">
    CFG_CATEGORY_ASQT,            // <"通话调节">
    CFG_CATEGORY_DUALMIC,         // <"双麦降噪">
    CFG_CATEGORY_BONE,            // <"骨传导">
};


enum CFG_TYPE_BOOL
{
    YES = 1,  // <"是">
    NO  = 0,  // <"否">
};


enum CFG_TYPE_SYS_SUPPORT_FEATURES
{
    SYS_ENABLE_SOFT_WATCHDOG          = (1 << 0),  // <"启用软 Watchdog 调试模式">
    SYS_ENABLE_DC5V_IN_RESET          = (1 << 1),  // <"允许 DC5V 接入时复位", hide>
    SYS_ENABLE_DC5VPD_WHEN_DETECT_OUT = (1 << 2),  // <"允许 DC5V 检测拔出时下拉">
    SYS_FRONT_CHARGE_DC5V_OUT_REBOOT  = (1 << 3),  // <"前台充电 DC5V 拔出时重启">
    SYS_FORCE_CHARGE_WHEN_DC5V_IN     = (1 << 4),  // <"DC5V 接入时总是开启充电 (即使电池满电)">
};


enum CFG_TYPE_AUTO_POWOFF_MODE
{
    AUTO_POWOFF_MODE_UNCONNECTED,  // <"无连接">
    AUTO_POWOFF_MODE_NOT_PLAYING,  // <"无播放">
};


enum CFG_TYPE_GPIO_PIN
{
    GPIO_NONE = 0xFF,

    GPIO_0 = 0,
    GPIO_1,
    GPIO_2,
    GPIO_3,
    GPIO_4,
    GPIO_5,
    GPIO_6,
    GPIO_7,
    GPIO_8,
    GPIO_9,
    GPIO_10,
    GPIO_11,
    GPIO_12,
    GPIO_13,
    GPIO_14,
    GPIO_15,
    GPIO_16,
    GPIO_17,
    GPIO_18,
    GPIO_19,
    GPIO_20,
    GPIO_21,
    GPIO_22,
    GPIO_23,
    GPIO_24,
    GPIO_25,
    GPIO_26,
    GPIO_27,
    GPIO_28,
    GPIO_29,
    GPIO_30,
    GPIO_31,
    GPIO_32,
    GPIO_33,
    GPIO_34,
    GPIO_35,
    GPIO_36,
    GPIO_37,
    GPIO_38,
    GPIO_39,
    GPIO_40,
    GPIO_41,
    GPIO_42,
    GPIO_43,
    GPIO_44,
    GPIO_45,
    GPIO_46,
    GPIO_47,
    GPIO_48,
    GPIO_49,
    GPIO_50,
    GPIO_51,
    GPIO_52,
    GPIO_53,
    GPIO_54,
    GPIO_55,
    GPIO_56,
    GPIO_57,
    GPIO_58,
    GPIO_59,
    GPIO_60,
    GPIO_61,
    GPIO_62,
    GPIO_63,
    GPIO_64,
    GPIO_65,
};


enum CFG_TYPE_GPIO_LEVEL
{
    GPIO_LEVEL_HIGH = 1,  // <"高电平">
    GPIO_LEVEL_LOW  = 0,  // <"低电平">
};


enum CFG_TYPE_GPIO_PULL
{
    CFG_GPIO_PULL_NONE   = 0,  // <"无">
    CFG_GPIO_PULL_UP     = 1,  // <"上拉 50K">
    CFG_GPIO_PULL_UP_10K = 2,  // <"上拉 10K">
    CFG_GPIO_PULL_DOWN   = 3,  // <"下拉 100K">
};

enum CFG_TYPE_UART_TX_PIN
{
    UART_TX_GPIO_NONE = GPIO_NONE,
    UART_TX_GPIO_10    = CFG_GPIO_MFP_PIN_DEF(10, 5),
    UART_TX_GPIO_28    = CFG_GPIO_MFP_PIN_DEF(28, 5),
    UART_TX_GPIO_37    = CFG_GPIO_MFP_PIN_DEF(37, 5),
    UART_TX_GPIO_63    = CFG_GPIO_MFP_PIN_DEF(63, 5),
};


enum CFG_TYPE_UART_RX_PIN
{
    UART_RX_GPIO_NONE = GPIO_NONE,
    UART_RX_GPIO_11    = CFG_GPIO_MFP_PIN_DEF(11, 5),
    UART_RX_GPIO_29    = CFG_GPIO_MFP_PIN_DEF(29, 5),
    UART_RX_GPIO_38    = CFG_GPIO_MFP_PIN_DEF(38, 5),
    UART_RX_GPIO_62    = CFG_GPIO_MFP_PIN_DEF(62, 5),
};


enum CFG_TYPE_ONOFF_LONG_PRESS_RESET
{
    ONOFF_LONG_PRESS_RESET_DISABLE = 0xFF,  // <"禁止长按复位">

    ONOFF_LONG_PRESS_RESET_8S  = 0,  // <"8 秒">
    ONOFF_LONG_PRESS_RESET_12S = 1,  // <"12 秒">
};


enum CFG_TYPE_ONOFF_PRESS_POWER_ON
{
    ONOFF_PRESS_POWER_ON_SHORT   = 0,     // <"短按开机">

    ONOFF_PRESS_POWER_ON_250_MS  = 250,   // <"250 毫秒">
    ONOFF_PRESS_POWER_ON_500_MS  = 500,   // <"500 毫秒">
    ONOFF_PRESS_POWER_ON_1000_MS = 1000,  // <"1 秒">
    ONOFF_PRESS_POWER_ON_1500_MS = 1500,  // <"1.5 秒">
    ONOFF_PRESS_POWER_ON_2000_MS = 2000,  // <"2 秒">
    ONOFF_PRESS_POWER_ON_3000_MS = 3000,  // <"3 秒">
    ONOFF_PRESS_POWER_ON_4000_MS = 4000,  // <"4 秒">
};


enum CFG_TYPE_BOOT_HOLD_KEY_FUNC
{
    BOOT_HOLD_KEY_FUNC_NONE,               // <"无">
    BOOT_HOLD_KEY_FUNC_ENTER_PAIR_MODE,    // <"进入配对模式">
    BOOT_HOLD_KEY_FUNC_TWS_PAIR_SEARCH,    // <"TWS 组对搜索">
    BOOT_HOLD_KEY_FUNC_AUTO_SELECT,        // <"自动选择 TWS 组对搜索或配对模式">
    BOOT_HOLD_KEY_FUNC_CLEAR_PAIRED_LIST,  // <"清除配对列表">
};


#define CFG_LRADC_CTRL_DEF(_ctrl_no, _gpio_no, _mfp_sel)  \
    (_ctrl_no << 0) |  \
    (_gpio_no << 8) |  \
    (_mfp_sel << 16)


enum CFG_TYPE_LRADC_CTRL
{
    LRADC_CTRL_NONE = 0xFF,

    LRADC_CTRL_1_GPIO_76 = CFG_LRADC_CTRL_DEF(0, 76, 3),  // <"LRADC_CTRL_1 (GPIO_76)">
};


enum CFG_TYPE_NTC_LRADC_CTRL
{
    NTC_LRADC_CTRL_NONE     = 0x00,                 // <"LRADC_CTRL_NONE">
    NTC_LRADC_CTRL_1_GPIO_76 = LRADC_CTRL_1_GPIO_76,  // <"LRADC_CTRL_1 (GPIO_76)">
};


enum CFG_TYPE_LRADC_PULL_UP
{
    LRADC_PULL_UP_INTERNAL = 0,  // <"内部上拉">
    LRADC_PULL_UP_EXTERNAL = 1,  // <"外部上拉 (不可用)">
};


enum CFG_TYPE_KEY_VALUE
{
    VKEY_NONE = KEY_RESERVED,

    VKEY_1 = KEY_F1,
    VKEY_2 = KEY_F2,
    VKEY_3 = KEY_F3,
    VKEY_4 = KEY_F4,
    VKEY_5 = KEY_F5,
    VKEY_6 = KEY_F6,

    LRADC_COMBO_VKEY_1 = KEY_COMBO_1,
    LRADC_COMBO_VKEY_2 = KEY_COMBO_2,
    LRADC_COMBO_VKEY_3 = KEY_COMBO_3,

    VKEY_PLAY = KEY_PAUSE_AND_RESUME,
    VKEY_VSUB = KEY_VOLUMEDOWN,
    VKEY_VADD = KEY_VOLUMEUP,
    VKEY_PREV = KEY_PREVIOUSSONG,
    VKEY_NEXT = KEY_NEXTSONG,
    VKEY_MODE = KEY_TBD,
    VKEY_MENU = KEY_MENU,

    TAP_KEY = KEY_TAP,
};


enum CFG_TYPE_KEY_EVENT
{
    KEY_EVENT_NONE            = 0,          // <"无">

    KEY_EVENT_DOWN            = KEY_TYPE_SHORT_DOWN,   // <"按下">

    KEY_EVENT_SINGLE_CLICK    = KEY_TYPE_SHORT_UP,   // <"单击">
    KEY_EVENT_DOUBLE_CLICK    = KEY_TYPE_DOUBLE_CLICK,   // <"双击">
    KEY_EVENT_TRIPLE_CLICK    = KEY_TYPE_TRIPLE_CLICK,   // <"三击">

    KEY_EVENT_QUAD_CLICK      = KEY_TYPE_QUAD_CLICK,   // <"四击">
    KEY_EVENT_QUINT_CLICK     = KEY_TYPE_QUINT_CLICK,   // <"五击">

    KEY_EVENT_LONG_PRESS      = KEY_TYPE_LONG_DOWN,   // <"长按">
    KEY_EVENT_LONG_UP         = KEY_TYPE_LONG_UP,    // <"长按抬起">
    KEY_EVENT_LONG_LONG_PRESS = KEY_TYPE_LONG,       // <"超长按">
    KEY_EVENT_LONG_LONG_UP    = KEY_TYPE_LONG_UP,   // <"超长按抬起">

    KEY_EVENT_VERY_LONG_PRESS = KEY_TYPE_LONG6S,  // <"极长按">
    KEY_EVENT_VERY_LONG_UP    = KEY_TYPE_LONG6S_UP,  // <"极长按抬起">

    KEY_EVENT_CUSTOMED_SEQUENCE_1 = KEY_TYPE_CUSTOMED_SEQUENCE_1,  // <"自定义按键序列 1">
    KEY_EVENT_CUSTOMED_SEQUENCE_2 = KEY_TYPE_CUSTOMED_SEQUENCE_2,  // <"自定义按键序列 2">
};


enum CFG_TYPE_CUSTOMED_KEY_SEQUENCE
{
    CUSTOMED_KEY_SEQUENCE_NONE = 0,  // <"无">

    CUSTOMED_KEY_SEQUENCE_1 = KEY_TYPE_CUSTOMED_SEQUENCE_1,  // <"自定义按键序列 1">
    CUSTOMED_KEY_SEQUENCE_2 = KEY_TYPE_CUSTOMED_SEQUENCE_2,  // <"自定义按键序列 2">
};


enum CFG_TYPE_KEY_DEVICE_TYPE
{
    KEY_DEVICE_TYPE_NONE = 0,  // <"无">

    KEY_DEVICE_TWS_UNPAIRED = (1 << 0),  // <"未组对">
    KEY_DEVICE_TWS_PAIRED   = (1 << 1),  // <"已组对">
    KEY_DEVICE_CHANNEL_L    = (1 << 2),  // <"L 左设备">
    KEY_DEVICE_CHANNEL_R    = (1 << 3),  // <"R 右设备">
};


enum CFG_TYPE_KEY_FUNC
{
    KEY_FUNC_NONE = 0,                           // <"无">

    KEY_FUNC_POWER_OFF,                          // <"关机">

    KEY_FUNC_ENTER_PAIR_MODE,                    // <"进入配对模式">
    KEY_FUNC_CLEAR_PAIRED_LIST,                  // <"清除配对列表 (不限模式)">
    KEY_FUNC_CLEAR_PAIRED_LIST_IN_PAIR_MODE,     // <"清除配对列表 (配对模式下)">
    KEY_FUNC_CLEAR_PAIRED_LIST_IN_FRONT_CHARGE,  // <"清除配对列表 (前台充电时)">
    KEY_FUNC_CLEAR_PAIRED_LIST_IN_UNLINKED,      // <"清除配对列表 (未连接时)">

    KEY_FUNC_TWS_PAIR_SEARCH,                    // <"TWS 组对搜索">
    KEY_FUNC_START_RECONNECT,                    // <"启动回连">

    KEY_FUNC_PLAY_PAUSE,                         // <"播放/暂停">
    KEY_FUNC_PREV_MUSIC,                         // <"上一曲 (不限状态)">
    KEY_FUNC_NEXT_MUSIC,                         // <"下一曲 (不限状态)">

    KEY_FUNC_PREV_MUSIC_IN_PLAYING,              // <"上一曲 (播放状态)">
    KEY_FUNC_NEXT_MUSIC_IN_PLAYING,              // <"下一曲 (播放状态)">

    KEY_FUNC_PREV_MUSIC_IN_PAUSED,               // <"上一曲 (暂停状态)">
    KEY_FUNC_NEXT_MUSIC_IN_PAUSED,               // <"下一曲 (暂停状态)">

    KEY_FUNC_ADD_MUSIC_VOLUME,                   // <"音乐音量+">
    KEY_FUNC_SUB_MUSIC_VOLUME,                   // <"音乐音量-">

    KEY_FUNC_ADD_MUSIC_VOLUME_IN_LINKED,         // <"音乐音量+ (已连接时)">
    KEY_FUNC_SUB_MUSIC_VOLUME_IN_LINKED,         // <"音乐音量- (已连接时)">

    KEY_FUNC_ADD_CALL_VOLUME,                    // <"通话音量+">
    KEY_FUNC_SUB_CALL_VOLUME,                    // <"通话音量-">

    KEY_FUNC_ACCEPT_CALL,                        // <"接听来电">
    KEY_FUNC_REJECT_CALL,                        // <"拒接来电">
    KEY_FUNC_HANGUP_CALL,                        // <"挂断通话">

    KEY_FUNC_KEEP_CALL_RELEASE_3WAY,             // <"继续当前通话，挂断三方通话">
    KEY_FUNC_HOLD_CALL_ACTIVE_3WAY,              // <"保留当前通话，切换三方通话">
    KEY_FUNC_HANGUP_CALL_ACTIVE_3WAY,            // <"挂断当前通话，切换三方通话">

    KEY_FUNC_SWITCH_CALL_OUT,                    // <"切换通话输出">
    KEY_FUNC_SWITCH_MIC_MUTE,                    // <"打开/关闭 MIC 静音">

    KEY_FUNC_DIAL_LAST_NO,                       // <"回拨电话">

    KEY_FUNC_START_VOICE_ASSIST,                 // <"启动 Siri 等语音助手">
    KEY_FUNC_STOP_VOICE_ASSIST,                  // <"停止 Siri 等语音助手">

    KEY_FUNC_HID_PHOTO_SHOT,                     // <"HID 拍照">
    KEY_FUNC_HID_CUSTOM_KEY,                     // <"HID 自定义按键">

    KEY_FUNC_ENTER_BQB_TEST_MODE,                // <"进入 BQB 测试模式 (不限模式)">
    KEY_FUNC_ENTER_BQB_TEST_IN_PAIR_MODE,        // <"进入 BQB 测试模式 (配对模式下)">

    KEY_FUNC_SWITCH_VOICE_LANG,                  // <"切换语音语言 (不限模式)">
    KEY_FUNC_SWITCH_VOICE_LANG_IN_PAIR_MODE,     // <"切换语音语言 (配对模式下)">
    KEY_FUNC_SWITCH_VOICE_LANG_IN_UNLINKED,      // <"切换语音语言 (未连接时)">

    KEY_FUNC_CUSTOMED_1,                         // <"自定义功能 1">
    KEY_FUNC_CUSTOMED_2,                         // <"自定义功能 2">
    KEY_FUNC_CUSTOMED_3,                         // <"自定义功能 3">
    KEY_FUNC_CUSTOMED_4,                         // <"自定义功能 4">
    KEY_FUNC_CUSTOMED_5,                         // <"自定义功能 5">
    KEY_FUNC_CUSTOMED_6,                         // <"自定义功能 6">
    KEY_FUNC_CUSTOMED_7,                         // <"自定义功能 7">
    KEY_FUNC_CUSTOMED_8,                         // <"自定义功能 8">
    KEY_FUNC_CUSTOMED_9,                         // <"自定义功能 9">

    KEY_FUNC_SWITCH_LOW_LATENCY_MODE,            // <"切换低延迟模式">
    KEY_FUNC_START_PRIVMA_TALK,                  // <"开始APP智能语音上传">
    KEY_FUNC_NMA_KEY_FIRST,                      // <"云音乐按键定义单击功能">
    KEY_FUNC_NMA_KEY_SECOND,                     // <"云音乐按键定义双击功能">
    KEY_FUNC_TMA_ONE_KEY_TO_REQUEST,             // <"腾讯音乐娱乐一键直达">

    KEY_FUNC_DAE_SWITCH,                         // <"音效切换">
    KEY_FUNC_TRANSPARENCY_MODE,                  // <"通透模式">
};

enum CFG_TYPE_LED_GPIO_PIN
{
    LED_GPIO_NONE = GPIO_NONE,  // <"GPIO_NONE">

    LED_GPIO_0  = GPIO_0,   // <"GPIO_0">
    LED_GPIO_1  = GPIO_1,   // <"GPIO_1">
    LED_GPIO_2  = GPIO_2,   // <"GPIO_2">
    LED_GPIO_3  = GPIO_3,   // <"GPIO_3   (PWM_0)", pwm>
    LED_GPIO_4  = GPIO_4,   // <"GPIO_4   (PWM_0)", pwm>
    LED_GPIO_5  = GPIO_5,   // <"GPIO_5   (PWM_1)", pwm>
    LED_GPIO_6  = GPIO_6,   // <"GPIO_6   (PWM_2)", pwm>
    LED_GPIO_7  = GPIO_7,   // <"GPIO_7   (PWM_3)", pwm>
    LED_GPIO_8  = GPIO_8,   // <"GPIO_8   (PWM_4)", pwm>
    LED_GPIO_9  = GPIO_9,   // <"GPIO_9   (PWM_5)", pwm>
    LED_GPIO_10 = GPIO_10,  // <"GPIO_10 (PWM_6)", pwm>
    LED_GPIO_11 = GPIO_11,  // <"GPIO_11 (PWM_7)", pwm>
    LED_GPIO_12 = GPIO_12,  // <"GPIO_12 (PWM_8)", pwm>
    LED_GPIO_13 = GPIO_13,  // <"GPIO_13">
    LED_GPIO_14 = GPIO_14,  // <"GPIO_14 (PWM_0)", pwm>
    LED_GPIO_15 = GPIO_15,  // <"GPIO_15 (PWM_1)", pwm>
    LED_GPIO_16 = GPIO_16,  // <"GPIO_16 (PWM_2)", pwm>
    LED_GPIO_17 = GPIO_17,  // <"GPIO_17 (PWM_3)", pwm>
    LED_GPIO_18 = GPIO_18,  // <"GPIO_18 (PWM_4)", pwm>
    LED_GPIO_19 = GPIO_19,  // <"GPIO_19 (PWM_5)", pwm>
    LED_GPIO_20 = GPIO_20,  // <"GPIO_20 (PWM_6)", pwm>
    LED_GPIO_21 = GPIO_21,  // <"GPIO_21 (PWM_7)", pwm>
    LED_GPIO_22 = GPIO_22,  // <"GPIO_22 (PWM_8)", pwm>
    LED_GPIO_23 = GPIO_23,  // <"GPIO_23">
    LED_GPIO_24 = GPIO_24,  // <"GPIO_24">
    LED_GPIO_25 = GPIO_25,  // <"GPIO_25">
    LED_GPIO_26 = GPIO_26,  // <"GPIO_26">
    LED_GPIO_27 = GPIO_27,  // <"GPIO_27">
    LED_GPIO_28 = GPIO_28,  // <"GPIO_28">
    LED_GPIO_29 = GPIO_29,  // <"GPIO_29">
    LED_GPIO_30 = GPIO_30,  // <"GPIO_30">
    LED_GPIO_31 = GPIO_31,  // <"GPIO_31">
    LED_GPIO_32 = GPIO_32,  // <"GPIO_32">
    LED_GPIO_33 = GPIO_33,  // <"GPIO_33">
    LED_GPIO_34 = GPIO_34,  // <"GPIO_34">
    LED_GPIO_35 = GPIO_35,  // <"GPIO_35">
    LED_GPIO_36 = GPIO_36,  // <"GPIO_36 (PWM_0)", pwm>
    LED_GPIO_37 = GPIO_37,  // <"GPIO_37 (PWM_1)", pwm>
    LED_GPIO_38 = GPIO_38,  // <"GPIO_38 (PWM_2)", pwm>
    LED_GPIO_39 = GPIO_39,  // <"GPIO_39 (PWM_3)", pwm>
    LED_GPIO_40 = GPIO_40,  // <"GPIO_40 (PWM_4)", pwm>
    LED_GPIO_41 = GPIO_41,  // <"GPIO_41 (PWM_5)", pwm>
    LED_GPIO_42 = GPIO_42,  // <"GPIO_42 (PWM_6)", pwm>
    LED_GPIO_43 = GPIO_43,  // <"GPIO_43 (PWM_7)", pwm>
    LED_GPIO_44 = GPIO_44,  // <"GPIO_44 (PWM_8)", pwm>
    LED_GPIO_45 = GPIO_45,  // <"GPIO_45 (PWM_7)", pwm>
    LED_GPIO_46 = GPIO_46,  // <"GPIO_46 (PWM_8)", pwm>
    LED_GPIO_47 = GPIO_47,  // <"GPIO_47">
    LED_GPIO_48 = GPIO_48,  // <"GPIO_48">
    LED_GPIO_49 = GPIO_49,  // <"GPIO_49 (PWM_0)", pwm>
    LED_GPIO_50 = GPIO_50,  // <"GPIO_50 (PWM_1)", pwm>
    LED_GPIO_51 = GPIO_51,  // <"GPIO_51 (PWM_2)", pwm>
    LED_GPIO_52 = GPIO_52,  // <"GPIO_52 (PWM_3)", pwm>
    LED_GPIO_53 = GPIO_53,  // <"GPIO_53 (PWM_4)", pwm>
    LED_GPIO_54 = GPIO_54,  // <"GPIO_54 (PWM_5)", pwm>
    LED_GPIO_55 = GPIO_55,  // <"GPIO_55 (PWM_6)", pwm>
    LED_GPIO_56 = GPIO_56,  // <"GPIO_56 (PWM_7)", pwm>
    LED_GPIO_57 = GPIO_57,  // <"GPIO_57 (PWM_8)", pwm>
    LED_GPIO_58 = GPIO_58,  // <"GPIO_58">
    LED_GPIO_59 = GPIO_59,  // <"GPIO_59">
    LED_GPIO_60 = GPIO_60,  // <"GPIO_60">
    LED_GPIO_61 = GPIO_61,  // <"GPIO_61">
    LED_GPIO_62 = GPIO_62,  // <"GPIO_62">
    LED_GPIO_63 = GPIO_63,  // <"GPIO_63">
    LED_GPIO_64 = GPIO_64,  // <"GPIO_64">
    LED_GPIO_65 = GPIO_65,  // <"GPIO_65">

};


enum CFG_TYPE_LED_NO
{
    LED_NULL = 0,

    LED_1 = (1 << 0),
    LED_2 = (1 << 1),
    LED_3 = (1 << 2),
    LED_4 = (1 << 3),

    LED_RED   = (1 << 4),
    LED_GREEN = (1 << 5),
    LED_BLUE  = (1 << 6),
};


enum CFG_TYPE_LED_DISPLAY_MODEL
{
    LED_DISPLAY_MODEL_NONE = 0,

    LED_DISPLAY_MODEL_1,
    LED_DISPLAY_MODEL_2,
    LED_DISPLAY_MODEL_3,
    LED_DISPLAY_MODEL_4,
    LED_DISPLAY_MODEL_5,
    LED_DISPLAY_MODEL_6,
    LED_DISPLAY_MODEL_7,
    LED_DISPLAY_MODEL_8,
    LED_DISPLAY_MODEL_9,

    LED_DISPLAY_POWER_ON,
    LED_DISPLAY_POWER_OFF,
    LED_DISPLAY_STANDBY,
    LED_DISPLAY_CHARGE_START,
    LED_DISPLAY_CHARGE_FULL,
    LED_DISPLAY_BT_PAIR_MODE,
    LED_DISPLAY_BT_WAIT_CONNECT,
    LED_DISPLAY_BT_CONNECTED,
    LED_DISPLAY_BT_UNLINKED,
    LED_DISPLAY_BT_CALL_INCOMING,
    LED_DISPLAY_BT_CALL_ONGOING,
};


enum CFG_TYPE_LED_OVERRIDE_MODE
{
    LED_OVERRIDE_NONE   = 0,  // <"无">

    LED_OVERRIDE_FRONT  = 3,  // <"前">
    LED_OVERRIDE_MIDDLE = 2,  // <"中">
    LED_OVERRIDE_BACK   = 1,  // <"后">
};

enum CFG_TYPE_I2STX_MCLK_PIN
{
    I2STX_MCLK_GPIO_NONE = GPIO_NONE,
    I2STX_MCLK_GPIO_6    = CFG_GPIO_MFP_PIN_DEF(6, 12),
    I2STX_MCLK_GPIO_16    = CFG_GPIO_MFP_PIN_DEF(16, 12),
    I2STX_MCLK_GPIO_36    = CFG_GPIO_MFP_PIN_DEF(36, 12),
    I2STX_MCLK_GPIO_49    = CFG_GPIO_MFP_PIN_DEF(49, 12),

};

enum CFG_TYPE_I2STX_BCLK_PIN
{
    I2STX_BCLK_GPIO_NONE = GPIO_NONE,
    I2STX_BCLK_GPIO_7    = CFG_GPIO_MFP_PIN_DEF(7, 12),
    I2STX_BCLK_GPIO_17   = CFG_GPIO_MFP_PIN_DEF(17, 12),
    I2STX_BCLK_GPIO_37   = CFG_GPIO_MFP_PIN_DEF(37, 12),
    I2STX_BCLK_GPIO_50   = CFG_GPIO_MFP_PIN_DEF(50, 12),


};

enum CFG_TYPE_I2STX_LRCLK_PIN
{
    I2STX_LRCLK_GPIO_NONE = GPIO_NONE,
    I2STX_LRCLK_GPIO_8    = CFG_GPIO_MFP_PIN_DEF(8, 12),
    I2STX_LRCLK_GPIO_18   = CFG_GPIO_MFP_PIN_DEF(18, 12),
    I2STX_LRCLK_GPIO_38   = CFG_GPIO_MFP_PIN_DEF(38, 12),
    I2STX_LRCLK_GPIO_51   = CFG_GPIO_MFP_PIN_DEF(51, 12),

};

enum CFG_TYPE_I2STX_DAT_PIN
{
    I2STX_DAT_GPIO_NONE = GPIO_NONE,
    I2STX_DAT_GPIO_9    = CFG_GPIO_MFP_PIN_DEF(9, 12),
    I2STX_DAT_GPIO_14    = CFG_GPIO_MFP_PIN_DEF(14, 12),
    I2STX_DAT_GPIO_39    = CFG_GPIO_MFP_PIN_DEF(39, 12),
    I2STX_DAT_GPIO_52    = CFG_GPIO_MFP_PIN_DEF(52, 12),
};

enum CFG_TYPE_DMIC01_CLK_PIN
{
    DMIC01_CLK_GPIO_NONE  = GPIO_NONE,
    DMIC01_CLK_GPIO_6     = CFG_GPIO_MFP_PIN_DEF(6, 17),
    DMIC01_CLK_GPIO_30    = CFG_GPIO_MFP_PIN_DEF(30, 17),
};

enum CFG_TYPE_DMIC01_DAT_PIN
{
    DMIC01_DAT_GPIO_NONE = GPIO_NONE,
    DMIC01_DAT_GPIO_7    = CFG_GPIO_MFP_PIN_DEF(7, 17),
    DMIC01_DAT_GPIO_31   = CFG_GPIO_MFP_PIN_DEF(31, 17),
};

enum CFG_TYPE_DMIC23_CLK_PIN
{
    DMIC23_CLK_GPIO_NONE = GPIO_NONE,
    DMIC23_CLK_GPIO_4    = CFG_GPIO_MFP_PIN_DEF(4, 16),
    DMIC23_CLK_GPIO_8    = CFG_GPIO_MFP_PIN_DEF(8, 16),
    DMIC23_CLK_GPIO_22   = CFG_GPIO_MFP_PIN_DEF(22, 16),
    DMIC23_CLK_GPIO_40   = CFG_GPIO_MFP_PIN_DEF(40, 16),
    DMIC23_CLK_GPIO_44   = CFG_GPIO_MFP_PIN_DEF(44, 16),
    DMIC23_CLK_GPIO_53   = CFG_GPIO_MFP_PIN_DEF(44, 16),
};

enum CFG_TYPE_DMIC23_DAT_PIN
{
    DMIC23_DAT_GPIO_NONE = GPIO_NONE,
    DMIC23_DAT_GPIO_5    = CFG_GPIO_MFP_PIN_DEF(5, 16),
    DMIC23_DAT_GPIO_9    = CFG_GPIO_MFP_PIN_DEF(9, 16),
    DMIC23_DAT_GPIO_23   = CFG_GPIO_MFP_PIN_DEF(23, 16),
    DMIC23_DAT_GPIO_41   = CFG_GPIO_MFP_PIN_DEF(41, 16),
    DMIC23_DAT_GPIO_42   = CFG_GPIO_MFP_PIN_DEF(42, 16),
    DMIC23_DAT_GPIO_54   = CFG_GPIO_MFP_PIN_DEF(54, 16),
    DMIC23_DAT_GPIO_55   = CFG_GPIO_MFP_PIN_DEF(55, 16),
    DMIC23_DAT_GPIO_57   = CFG_GPIO_MFP_PIN_DEF(57, 16),
};


enum CFG_TYPE_VOLUME_GAIN
{
    VOLUME_GAIN_0  =  0x0,   // <"MUTE">
    VOLUME_GAIN_1  =  0x46,  // <" -45.375  dB">
    VOLUME_GAIN_2  =  0x4d,  // <" -42.750  dB">
    VOLUME_GAIN_3  =  0x57,  // <" -39.000  dB">
    VOLUME_GAIN_4  =  0x5d,  // <" -36.750  dB">
    VOLUME_GAIN_5  =  0x63,  // <" -34.500  dB">
    VOLUME_GAIN_6  =  0x69,  // <" -32.250  dB">
    VOLUME_GAIN_7  =  0x6c,  // <" -31.125  dB">
    VOLUME_GAIN_8  =  0x71,  // <" -29.250  dB">
    VOLUME_GAIN_9  =  0x75,  // <" -27.750  dB">
    VOLUME_GAIN_10 =  0x78,  // <" -26.625  dB">
    VOLUME_GAIN_11 =  0x7b,  // <" -25.500  dB">
    VOLUME_GAIN_12 =  0x7e,  // <" -24.375  dB">
    VOLUME_GAIN_13 =  0x81,  // <" -23.250  dB">
    VOLUME_GAIN_14 =  0x84,  // <" -22.125  dB">
    VOLUME_GAIN_15 =  0x86,  // <" -21.375  dB">
    VOLUME_GAIN_16 =  0x89,  // <" -20.250  dB">
    VOLUME_GAIN_17 =  0x8b,  // <" -19.500  dB">
    VOLUME_GAIN_18 =  0x8c,  // <" -19.125  dB">
    VOLUME_GAIN_19 =  0x8d,  // <" -18.750  dB">
    VOLUME_GAIN_20 =  0x8f,  // <" -18.000  dB">
    VOLUME_GAIN_21 =  0x91,  // <" -17.250  dB">
    VOLUME_GAIN_22 =  0x93,  // <" -16.500  dB">
    VOLUME_GAIN_23 =  0x95,  // <" -15.750  dB">
    VOLUME_GAIN_24 =  0x97,  // <" -15.000  dB">
    VOLUME_GAIN_25 =  0x98,  // <" -14.625  dB">
    VOLUME_GAIN_26 =  0x9a,  // <" -13.875  dB">
    VOLUME_GAIN_27 =  0x9c,  // <" -13.125  dB">
    VOLUME_GAIN_28 =  0x9d,  // <" -12.750  dB">
    VOLUME_GAIN_29 =  0x9f,  // <" -12.000  dB">
    VOLUME_GAIN_30 =  0xa0,  // <" -11.625  dB">
    VOLUME_GAIN_31 =  0xa2,  // <" -10.875  dB">
    VOLUME_GAIN_32 =  0xa4,  // <" -10.125  dB">
    VOLUME_GAIN_33 =  0xa5,  // <" -9.750  dB">
    VOLUME_GAIN_34 =  0xa6,  // <" -9.375  dB">
    VOLUME_GAIN_35 =  0xa8,  // <" -8.625  dB">
    VOLUME_GAIN_36 =  0xa9,  // <" -8.250  dB">
    VOLUME_GAIN_37 =  0xaa,  // <" -7.875  dB">
    VOLUME_GAIN_38 =  0xab,  // <" -7.500  dB">
    VOLUME_GAIN_39 =  0xac,  // <" -7.125  dB">
    VOLUME_GAIN_40 =  0xad,  // <" -6.750  dB">
    VOLUME_GAIN_41 =  0xae,  // <" -6.375  dB">
    VOLUME_GAIN_42 =  0xaf,  // <" -6.000  dB">
    VOLUME_GAIN_43 =  0xb0,  // <" -5.625  dB">
    VOLUME_GAIN_44 =  0xb1,  // <" -5.250  dB">
    VOLUME_GAIN_45 =  0xb2,  // <" -4.875  dB">
    VOLUME_GAIN_46 =  0xb3,  // <" -4.500  dB">
    VOLUME_GAIN_47 =  0xb4,  // <" -4.125  dB">
    VOLUME_GAIN_48 =  0xb5,  // <" -3.750  dB">
    VOLUME_GAIN_49 =  0xb6,  // <" -3.375  dB">
    VOLUME_GAIN_50 =  0xb7,  // <" -3.000  dB">
    VOLUME_GAIN_51 =  0xb8,  // <" -2.625  dB">
    VOLUME_GAIN_52 =  0xb9,  // <" -2.250  dB">
    VOLUME_GAIN_53 =  0xba,  // <" -1.875  dB">
    VOLUME_GAIN_54 =  0xbb,  // <" -1.500  dB">
    VOLUME_GAIN_55 =  0xbc,  // <" -1.125  dB">
    VOLUME_GAIN_56 =  0xbd,  // <" -0.750  dB">
    VOLUME_GAIN_57 =  0xbe,  // <" -0.375  dB">
    VOLUME_GAIN_58 =  0xbf,  // <" 0.00   dB">
    VOLUME_GAIN_59 =  0xc0,  // <" 0.375  dB">
    VOLUME_GAIN_60 =  0xc1,  // <" 0.750  dB">
    VOLUME_GAIN_61 =  0xc2,  // <" 1.125  dB">
    VOLUME_GAIN_62 =  0xc3,  // <" 1.500  dB">
    VOLUME_GAIN_63 =  0xc4,  // <" 1.875  dB">
    VOLUME_GAIN_64 =  0xc5,  // <" 2.250  dB">
    VOLUME_GAIN_65 =  0xc6,  // <" 2.625  dB">
    VOLUME_GAIN_66 =  0xc7,  // <" 3.000  dB">
    VOLUME_GAIN_67 =  0xc8,  // <" 3.375  dB">
    VOLUME_GAIN_68 =  0xc9,  // <" 3.750  dB">
    VOLUME_GAIN_69 =  0xca,  // <" 4.125  dB">
    VOLUME_GAIN_70 =  0xcb,  // <" 4.500  dB">
    VOLUME_GAIN_71 =  0xcc,  // <" 4.875  dB">
    VOLUME_GAIN_72 =  0xcd,  // <" 5.250  dB">
    VOLUME_GAIN_73 =  0xce,  // <" 5.625  dB">
    VOLUME_GAIN_74 =  0xcf,  // <" 6.000  dB">
    VOLUME_GAIN_75 =  0xd0,  // <" 6.375  dB">
    VOLUME_GAIN_76 =  0xd1,  // <" 6.750  dB">
    VOLUME_GAIN_77 =  0xd2,  // <" 7.125  dB">
    VOLUME_GAIN_78 =  0xd3,  // <" 7.500  dB">
    VOLUME_GAIN_79 =  0xd4,  // <" 7.875  dB">
};

enum CFG_TYPE_MIC_GAIN
{
    MIC_GAIN_0_0_DB    = 0x0,  // <"0 dB">
    MIC_GAIN_3_0_DB    = 30,  // <"3.0 dB">
    MIC_GAIN_6_0_DB    = 60,  // <"6.0 dB">
    MIC_GAIN_7_5_DB    = 75,  // <"7.5 dB">
    MIC_GAIN_9_0_DB    = 90,  // <"9.0 dB">
    MIC_GAIN_10_5_DB   = 105,  // <"10.5 dB">
    MIC_GAIN_12_0_DB   = 120,  // <"12.0 dB">
    MIC_GAIN_13_5_DB   = 135,  // <"13.5 dB">
    MIC_GAIN_15_0_DB   = 150,  // <"15.0 dB">
    MIC_GAIN_16_5_DB   = 165,  // <"16.5 dB">
    MIC_GAIN_18_0_DB   = 180,  // <"18.0 dB">
    MIC_GAIN_19_5_DB   = 190,  // <"19.5 dB">
    MIC_GAIN_21_0_DB   = 210,  // <"21.0 dB">
    MIC_GAIN_22_5_DB   = 225,  // <"22.5 dB">
    MIC_GAIN_23_0_DB   = 230,  // <"23.0 dB">
    MIC_GAIN_24_0_DB   = 240,  // <"24.0 dB">
    MIC_GAIN_25_0_DB   = 250,  // <"25.0 dB">
    MIC_GAIN_25_5_DB   = 255,  // <"25.5 dB">
    MIC_GAIN_26_0_DB   = 260,  // <"26.0 dB">
    MIC_GAIN_26_5_DB   = 265,  // <"26.5 dB">
    MIC_GAIN_27_0_DB   = 270,  // <"27.0 dB">
    MIC_GAIN_27_5_DB   = 275,  // <"27.5 dB">
    MIC_GAIN_28_0_DB   = 280,  // <"28.0 dB">
    MIC_GAIN_28_5_DB   = 285,  // <"28.5 dB">
    MIC_GAIN_29_0_DB   = 290,  // <"29.0 dB">
    MIC_GAIN_29_5_DB   = 295,  // <"29.5 dB">
    MIC_GAIN_30_0_DB   = 300,  // <"30.0 dB">
    MIC_GAIN_30_5_DB   = 305,  // <"30.5 dB">
    MIC_GAIN_31_0_DB   = 310,  // <"31.0 dB">
    MIC_GAIN_31_5_DB   = 315,  // <"31.5 dB">
    MIC_GAIN_32_0_DB   = 320,  // <"32.0 dB">
    MIC_GAIN_32_5_DB   = 325,  // <"32.5 dB">
    MIC_GAIN_33_0_DB   = 330,  // <"33.0 dB">
    MIC_GAIN_33_5_DB   = 335,  // <"33.5 dB">
    MIC_GAIN_34_0_DB   = 340,  // <"34.0 dB">
    MIC_GAIN_34_5_DB   = 345,  // <"34.5 dB">
    MIC_GAIN_35_0_DB   = 350,  // <"35.0 dB">
    MIC_GAIN_35_5_DB   = 355,  // <"35.5 dB">
    MIC_GAIN_36_0_DB   = 360,  // <"36.0 dB">
    MIC_GAIN_37_0_DB   = 370,  // <"37.0 dB">
    MIC_GAIN_38_0_DB   = 380,  // <"38.0 dB">
    MIC_GAIN_39_0_DB   = 390,  // <"39.0 dB">
    MIC_GAIN_40_0_DB   = 400,  // <"40.0 dB">
    MIC_GAIN_41_0_DB   = 410,  // <"41.0 dB">
    MIC_GAIN_42_0_DB   = 420,  // <"42.0 dB">
    MIC_GAIN_43_0_DB   = 430,  // <"43.0 dB">
    MIC_GAIN_44_0_DB   = 440,  // <"44.0 dB">
    MIC_GAIN_45_0_DB   = 450,  // <"45.0 dB">
    MIC_GAIN_46_0_DB   = 460,  // <"46.0 dB">
    MIC_GAIN_47_0_DB   = 470,  // <"47.0 dB">
    MIC_GAIN_48_0_DB   = 480,  // <"48.0 dB">
    MIC_GAIN_49_0_DB   = 490,  // <"49.0 dB">
    MIC_GAIN_50_0_DB   = 500,  // <"50.0 dB">
    MIC_GAIN_51_0_DB   = 510,  // <"51.0 dB">
    MIC_GAIN_52_0_DB   = 520,  // <"52.0 dB">
    MIC_GAIN_53_0_DB   = 530,  // <"53.0 dB">
    MIC_GAIN_54_0_DB   = 540,  // <"54.0 dB">
    MIC_GAIN_55_0_DB   = 550,  // <"55.0 dB">
    MIC_GAIN_56_0_DB   = 560,  // <"56.0 dB">
    MIC_GAIN_57_0_DB   = 570,  // <"57.0 dB">
    MIC_GAIN_58_0_DB   = 580,  // <"58.0 dB">
    MIC_GAIN_59_0_DB   = 590,  // <"59.0 dB">
    MIC_GAIN_60_0_DB   = 600,  // <"60.0 dB">
    MIC_GAIN_61_0_DB   = 610,  // <"61.0 dB">
    MIC_GAIN_62_0_DB   = 620,  // <"62.0 dB">
    MIC_GAIN_63_0_DB   = 630,  // <"63.0 dB">
    MIC_GAIN_64_0_DB   = 640,  // <"64.0 dB">
    MIC_GAIN_65_0_DB   = 650,  // <"65.0 dB">
    MIC_GAIN_66_0_DB   = 660,  // <"66.0 dB">
    MIC_GAIN_67_0_DB   = 670,  // <"67.0 dB">
    MIC_GAIN_68_0_DB   = 680,  // <"68.0 dB">
    MIC_GAIN_69_0_DB   = 690,  // <"69.0 dB">
    MIC_GAIN_70_0_DB   = 700,  // <"70.0 dB">
    MIC_GAIN_71_0_DB   = 710,  // <"71.0 dB">
    MIC_GAIN_72_0_DB   = 720,  // <"72.0 dB">
    MIC_GAIN_73_0_DB   = 730,  // <"73.0 dB">
    MIC_GAIN_74_0_DB   = 740,  // <"74.0 dB">
    MIC_GAIN_75_0_DB   = 750,  // <"75.0 dB">
    MIC_GAIN_76_0_DB   = 760,  // <"76.0 dB">
    MIC_GAIN_77_0_DB   = 770,  // <"77.0 dB">
    MIC_GAIN_78_0_DB   = 780,  // <"78.0 dB">
    MIC_GAIN_79_0_DB   = 790,  // <"79.0 dB">
    MIC_GAIN_81_0_DB   = 810,  // <"81.0 dB">
    MIC_GAIN_82_5_DB   = 825,  // <"82.5 dB">
    MIC_GAIN_84_0_DB   = 840,  // <"84.0 dB">
};

enum CFG_TYPE_LINEIN_DETECT_MODE
{
    LINEIN_DETECT_NONE,      // <"不检测">
    LINEIN_DETECT_BY_GPIO,   // <"GPIO 检测">
    LINEIN_DETECT_BY_LRADC,  // <"LRADC 检测">
};


enum CFG_TYPE_AUDIO_OUT_MODE
{
    AUDIO_OUT_MODE_DAC_DIFF     = 0,  // <"DAC 差分">
    AUDIO_OUT_MODE_DAC_NODIRECT = 1,  // <"DAC 非直驱">
    AUDIO_OUT_MODE_I2S          = 2,  // <"I2S">
};


enum CFG_TYPE_AUXIN_OUT_MODE
{
    AUX_AA   = 0,  // <"AA 通路">
    AUX_ADDA = 1,  // <"ADDA 通路">
};


enum CFG_TYPE_SPEAKER_OUT_SELECT
{
    SPEAKER_OUT_ADAPTIVE = 2,  // <"自适应">
    SPEAKER_OUT_ENABLE   = 1,  // <"打开">
    SPEAKER_OUT_DISABLE  = 0,  // <"关闭">
};


enum CFG_TYPE_DMIC_GAIN_SELECT
{
    DMIC_GAIN_1X = 0,   // <"1X(0db)">
    DMIC_GAIN_2X = 1,   // <"2X(6db)">
    DMIC_GAIN_4X = 2,   // <"4X(12db)">
    DMIC_GAIN_8X = 3,   // <"8X(18db)">
    DMIC_GAIN_16X = 4,  // <"16X(24db)">
    DMIC_GAIN_32X = 5,  // <"32X(30db)">
    DMIC_GAIN_63X = 6,  // <"63X(36db)">
};

enum CFG_TYPE_ANC
{
    ANC_DISABLE = 0, //ANC_DISABLE
    ANC_FF = 1,      //ANC_FF
    ANC_FB = 2,      //ANC_FB
    ANC_FY = 3,      //ANC_FY
};

enum CFG_TYPE_ADC
{
    ADC_NONE    = 0,          // <"无">
    ADC_0       = (1 << 0),   // <"ADC0">
    ADC_1       = (1 << 1),   // <"ADC1">
    ADC_2       = (1 << 2),   // <"ADC2">
    ADC_3       = (1 << 3),   // <"ADC3">
};

enum CFG_TYPE_VMIC
{
    VMIC_NONE    = 0,          // <"无">
    VMIC_0       = (1 << 0),   // <"VMIC0">
    VMIC_1       = (1 << 1),   // <"VMIC1">
    VMIC_2       = (1 << 2),   // <"VMIC2">
};


enum CFG_TYPE_ADC_TYPE
{
    ADC_TYPE_AMIC = 0,  // <"AMIC">
    ADC_TYPE_DMIC = 1,  // <"DMIC">
};

enum CFG_TYPE_AUDIO_IN_MODE
{
    AUDIO_IN_MODE_ADC_DIFF     = 0,  // <"差分">
    AUDIO_IN_MODE_ADC_SINGLE = 1,  // <"单端">
};

typedef struct  // <"麦克风配置">
{
    cfg_uint8  Adc_Index;  // <"ADC", CFG_TYPE_ADC>
    cfg_uint8  Mic_Type;  // <"mic类型", CFG_TYPE_ADC_TYPE>
    cfg_uint8  Audio_In_Mode;  // <"mic输入类型", CFG_TYPE_AUDIO_IN_MODE>
} CFG_Type_Mic_Config;


enum CFG_TYPE_PA_SWING_SETTING
{
    PA_SWING_1_6_VPP = 1,  // <"1.6 Vpp">
    PA_SWING_2_0_VPP = 0,  // <"2.0 Vpp">
};


enum CFG_TYPE_CHANNEL_SELECT_MODE
{
    CHANNEL_SELECT_NORMAL_LR,      // <"(非 TWS) 正常左右声道">
    CHANNEL_SELECT_MIX_LR,         // <"(非 TWS) 混合左右声道">
    CHANNEL_SELECT_SWAP_LR,        // <"(非 TWS) 交换左右声道">
    CHANNEL_SELECT_BOTH_L,         // <"(非 TWS) 双边左声道">
    CHANNEL_SELECT_BOTH_R,         // <"(非 TWS) 双边右声道">

    CHANNEL_SELECT_L_BY_TWS_PAIR,  // <"TWS 组对选择左声道">
    CHANNEL_SELECT_R_BY_TWS_PAIR,  // <"TWS 组对选择右声道">

    CHANNEL_SELECT_L_BY_GPIO,      // <"GPIO 选择左声道">
    CHANNEL_SELECT_R_BY_GPIO,      // <"GPIO 选择右声道">

    CHANNEL_SELECT_L_BY_LRADC,     // <"LRADC 选择左声道">
    CHANNEL_SELECT_R_BY_LRADC,     // <"LRADC 选择右声道">
};


enum CFG_TYPE_TWS_ALONE_AUDIO_CHANNEL
{
    TWS_ALONE_AUDIO_MIX_LR,    // <"混合左右声道">
    TWS_ALONE_AUDIO_ADAPTIVE,  // <"单边自适应">
    TWS_ALONE_AUDIO_SINGLE_L,  // <"单边左声道">
    TWS_ALONE_AUDIO_SINGLE_R,  // <"单边右声道">
};


enum CFG_TYPE_VOICE_ID
{
    VOICE_NONE = 0,  // <"无">

    VOICE_ID1,  // <"语音 1">
    VOICE_ID2,  // <"语音 2">
    VOICE_ID3,  // <"语音 3">
    VOICE_ID4,  // <"语音 4">
    VOICE_ID5,  // <"语音 5">

    VOICE_POWER_ON,         // <"开机">
    VOICE_POWER_OFF,        // <"关机">
    VOICE_BAT_LOW,          // <"电量低">
    VOICE_BAT_TOO_LOW,      // <"电量不足">
    VOICE_BT_PAIR_MODE,     // <"配对模式">
    VOICE_BT_WAIT_CONNECT,  // <"等待连接">
    VOICE_BT_CONNECTED,     // <"蓝牙连接成功">
    VOICE_2ND_CONNECTED,    // <"第二设备连接成功">
    VOICE_BT_DISCONNECTED,  // <"蓝牙断开">
    VOICE_TWS_WAIT_PAIR,    // <"等待组对">
    VOICE_TWS_CONNECTED,    // <"组对成功">
    VOICE_TWS_DISCONNECTED, // <"组对断开">
    VOICE_PLAY,             // <"播放">
    VOICE_PAUSE,            // <"暂停">
    VOICE_PREV_MUSIC,       // <"上一曲">
    VOICE_NEXT_MUSIC,       // <"下一曲">
    VOICE_MIN_VOLUME,       // <"最小音量">
    VOICE_MAX_VOLUME,       // <"最大音量">
    VOICE_LINEIN,           // <"音频输入", hide>
};


enum CFG_TYPE_NUMERIC_VOICE_ID
{
    VOICE_NO_0 = '0',  // <"数字 0">
    VOICE_NO_1 = '1',  // <"数字 1">
    VOICE_NO_2 = '2',  // <"数字 2">
    VOICE_NO_3 = '3',  // <"数字 3">
    VOICE_NO_4 = '4',  // <"数字 4">
    VOICE_NO_5 = '5',  // <"数字 5">
    VOICE_NO_6 = '6',  // <"数字 6">
    VOICE_NO_7 = '7',  // <"数字 7">
    VOICE_NO_8 = '8',  // <"数字 8">
    VOICE_NO_9 = '9',  // <"数字 9">
};


enum CFG_TYPE_VOICE_LANGUAGE
{
    VOICE_LANGUAGE_1 = 0,  // <"语音语言 1">
    VOICE_LANGUAGE_2 = 1,  // <"语音语言 2">
};


enum CFG_TYPE_TONE_ID
{
    TONE_NONE = 0,  // <"无">

    TONE_ID1,  // <"提示音 1">
    TONE_ID2,  // <"提示音 2">
    TONE_ID3,  // <"提示音 3">
    TONE_ID4,  // <"提示音 4">
    TONE_ID5,  // <"提示音 5">
    TONE_ID6,  // <"提示音 6">
    TONE_ID7,  // <"提示音 7">

    TONE_KEY_SOUND,  // <"按键音">
    TONE_CALL_RING,  // <"来电铃声">
    TONE_WARNING,    // <"警告">

    TONE_TM_ENTER,   // <"通透模式开">
    TONE_TM_EXIT,    // <"通透模式关">
};


enum CFG_TYPE_SYS_EVENT
{
    UI_EVENT_NONE,            // <"无">

    UI_EVENT_POWER_ON,             // <"开机">
    UI_EVENT_POWER_OFF,           // <"关机">
    UI_EVENT_STANDBY,               // <"待机">
    UI_EVENT_WAKE_UP,               // <"唤醒">

    UI_EVENT_BATTERY_LOW,            // <"电量低">
    UI_EVENT_BATTERY_LOW_EX,      // <"更低电量">
    UI_EVENT_BATTERY_TOO_LOW,    // <"电量不足">
    UI_EVENT_REPEAT_BAT_LOW,      // <"重复低电提示">

    UI_EVENT_CHARGE_START,              // <"开始充电">
    UI_EVENT_CHARGE_FULL,                // <"充电满">
    UI_EVENT_FRONT_CHARGE_POWON,  // <"前台充电开机">
    UI_EVENT_CHARGE_STOP,              // <"结束充电">

    UI_EVENT_ENTER_PAIR_MODE,     // <"进入配对模式">
    UI_EVENT_CLEAR_PAIRED_LIST, // <"清除配对列表">
    UI_EVENT_FACTORY_DEFAULT,     // <"恢复出厂设置">


    UI_EVENT_BT_WAIT_CONNECT,     // <"等待连接">
    UI_EVENT_BT_CONNECTED,        // <"蓝牙连接成功">
    UI_EVENT_2ND_CONNECTED,      // <"第二设备连接成功">
    UI_EVENT_BT_DISCONNECTED,  // <"蓝牙断开">
    UI_EVENT_BT_UNLINKED,          // <"蓝牙未连接">

    UI_EVENT_TWS_WAIT_PAIR,     // <"TWS 等待组对">
    UI_EVENT_TWS_CONNECTED,      // <"TWS 组对成功">
    UI_EVENT_TWS_DISCONNECTED,// <"TWS 组对断开">
    UI_EVENT_TWS_PAIR_FAILED,  // <"TWS 组对失败">
    
    UI_EVENT_MIN_VOLUME,          // <"最小音量">
    UI_EVENT_MAX_VOLUME,          // <"最大音量">
    UI_EVENT_BT_MUSIC_PLAY,       // <"蓝牙音乐播放">
    UI_EVENT_BT_MUSIC_PAUSE,      // <"蓝牙音乐暂停">
    UI_EVENT_PREV_MUSIC,          // <"上一曲">
    UI_EVENT_NEXT_MUSIC,          // <"下一曲">

    UI_EVENT_BT_START_CALL,   // <"通话开始">
    UI_EVENT_BT_CALL_OUTGOING,    // <"去电">
    UI_EVENT_BT_CALL_INCOMING,    // <"来电">
    UI_EVENT_BT_CALL_3WAYIN,      // <"三方来电">
    UI_EVENT_BT_CALL_REJECT,      // <"拒接来电">
    UI_EVENT_BT_CALL_ONGOING,     // <"通话开始">
    UI_EVENT_BT_CALL_END,         // <"通话结束">
    UI_EVENT_SWITCH_CALL_OUT,     // <"切换通话输出">
    UI_EVENT_MIC_MUTE_ON,         // <"MIC 静音打开">
    UI_EVENT_MIC_MUTE_OFF,        // <"MIC 静音关闭">

    UI_EVENT_VOICE_ASSIST_START,  // <"Siri 等语音助手启动">
    UI_EVENT_VOICE_ASSIST_STOP,   // <"Siri 等语音助手停止">

    UI_EVENT_HID_PHOTO_SHOT,      // <"HID 拍照">

    UI_EVENT_ENTER_LINEIN,        // <"进入 Linein", hide>
    UI_EVENT_LINEIN_PLAY,         // <"Linein 播放", hide>
    UI_EVENT_LINEIN_PAUSE,        // <"Linein 暂停", hide>

    UI_EVENT_SEL_VOICE_LANG_1,    // <"切换语音语言 1">
    UI_EVENT_SEL_VOICE_LANG_2,    // <"切换语音语言 2">

    UI_EVENT_ENTER_BQB_TEST_MODE, // <"进入 BQB 测试模式">

    UI_EVENT_CUSTOMED_1,          // <"自定义事件 1">
    UI_EVENT_CUSTOMED_2,          // <"自定义事件 2">
    UI_EVENT_CUSTOMED_3,          // <"自定义事件 3">
    UI_EVENT_CUSTOMED_4,          // <"自定义事件 4">
    UI_EVENT_CUSTOMED_5,          // <"自定义事件 5">
    UI_EVENT_CUSTOMED_6,          // <"自定义事件 6">
    UI_EVENT_CUSTOMED_7,          // <"自定义事件 7">
    UI_EVENT_CUSTOMED_8,          // <"自定义事件 8">
    UI_EVENT_CUSTOMED_9,          // <"自定义事件 9">

    UI_EVENT_LOW_LATENCY_MODE,       // <"低延迟模式">
    UI_EVENT_NORMAL_LATENCY_MODE, // <"正常延迟模式">
    UI_EVENT_PRIVMA_TALK_START,     // <"开始APP语音上传">
    UI_EVENT_DC5V_CMD_COMPLETE,     // <"DC5V 通讯命令完成">
    UI_EVENT_NMA_COLLECTION,           // <"云音乐一键收藏">

    UI_EVENT_BT_MUSIC_DAE_SWITCH, // <"蓝牙音乐音效切换">
    UI_EVENT_DAE_DEFAULT,         // <"默认音效">
    UI_EVENT_DAE_CUSTOM1,         // <"自定义音效1">
    UI_EVENT_DAE_CUSTOM2,         // <"自定义音效2">
    UI_EVENT_DAE_CUSTOM3,         // <"自定义音效3">
    UI_EVENT_DAE_CUSTOM4,         // <"自定义音效4">
    UI_EVENT_DAE_CUSTOM5,         // <"自定义音效5">
    UI_EVENT_DAE_CUSTOM6,         // <"自定义音效6">
    UI_EVENT_DAE_CUSTOM7,         // <"自定义音效7">
    UI_EVENT_DAE_CUSTOM8,         // <"自定义音效8">
    UI_EVENT_DAE_CUSTOM9,         // <"自定义音效9">

    UI_EVENT_TRANSPARENCY_MODE_ENTER,  // <"打开通透模式">
    UI_EVENT_TRANSPARENCY_MODE_EXIT,    // <"关闭通透模式">
    UI_EVENT_RING_HANDSET,                        // <"寻找设备">
};


enum CFG_TYPE_EVENT_NOTIFY_OPTIONS
{
    EVENT_NOTIFY_OPTIONS_NONE = 0,  // <"无">

    EVENT_NOTIFY_TWS_UNPAIRED = (1 << 0),  // <"未组对">
    EVENT_NOTIFY_TWS_PAIRED   = (1 << 1),  // <"已组对">
    EVENT_NOTIFY_CHANNEL_L    = (1 << 2),  // <"L 左设备">
    EVENT_NOTIFY_CHANNEL_R    = (1 << 3),  // <"R 右设备">
    EVENT_NOTIFY_VOICE_FIRST  = (1 << 4),  // <"先播报语音">
    EVENT_NOTIFY_NO_WAIT_LED  = (1 << 5),  // <"不等待 LED">
};


enum CFG_TYPE_BAT_CHARGE_MODE
{
    BAT_BACK_CHARGE_MODE,   // <"后台充电模式">
    BAT_FRONT_CHARGE_MODE,  // <"前台充电模式">
};

#if !(CFG_IC_TYPE & IC_TYPE_LARK)
enum CFG_TYPE_CHARGE_CURRENT
{
    CHARGE_CURRENT_10_MA  = 0x00,  // <"10 mA">
    CHARGE_CURRENT_20_MA  = 0x01,  // <"20 mA">
    CHARGE_CURRENT_30_MA  = 0x02,  // <"30 mA">
    CHARGE_CURRENT_40_MA  = 0x03,  // <"40 mA">
    CHARGE_CURRENT_50_MA  = 0x04,  // <"50 mA">
    CHARGE_CURRENT_60_MA  = 0x05,  // <"60 mA">
    CHARGE_CURRENT_70_MA  = 0x06,  // <"70 mA">
    CHARGE_CURRENT_80_MA  = 0x07,  // <"80 mA">
    CHARGE_CURRENT_90_MA  = 0x08,  // <"90 mA">
    CHARGE_CURRENT_100_MA = 0x09,  // <"100 mA">
    CHARGE_CURRENT_150_MA = 0x0A,  // <"150 mA">
    CHARGE_CURRENT_200_MA = 0x0B,  // <"200 mA">
    CHARGE_CURRENT_250_MA = 0x0C,  // <"250 mA">
    CHARGE_CURRENT_300_MA = 0x0D,  // <"300 mA">
    CHARGE_CURRENT_350_MA = 0x0E,  // <"350 mA">
    CHARGE_CURRENT_400_MA = 0x0F,  // <"400 mA">
};
#else
enum CFG_TYPE_CHARGE_CURRENT
{
    CHARGE_CURRENT_10_MA  = 0x00,  // <"10 mA">
    CHARGE_CURRENT_20_MA  = 0x01,  // <"20 mA">
    CHARGE_CURRENT_30_MA  = 0x02,  // <"30 mA">
    CHARGE_CURRENT_40_MA  = 0x03,  // <"40 mA">
    CHARGE_CURRENT_50_MA  = 0x04,  // <"50 mA">
    CHARGE_CURRENT_60_MA  = 0x05,  // <"60 mA">
    CHARGE_CURRENT_70_MA  = 0x06,  // <"70 mA">
    CHARGE_CURRENT_80_MA  = 0x07,  // <"80 mA">
    CHARGE_CURRENT_90_MA  = 0x08,  // <"90 mA">
    CHARGE_CURRENT_100_MA = 0x09,  // <"100 mA">
    CHARGE_CURRENT_120_MA = 0x0A,  // <"120 mA">
    CHARGE_CURRENT_140_MA = 0x0B,  // <"140 mA">
    CHARGE_CURRENT_160_MA = 0x0C,  // <"160 mA">
    CHARGE_CURRENT_180_MA = 0x0D,  // <"180 mA">
    CHARGE_CURRENT_200_MA = 0x0E,  // <"200 mA">
    CHARGE_CURRENT_240_MA = 0x0F,  // <"240 mA">
};
#endif


#if !(CFG_IC_TYPE & IC_TYPE_LARK)
enum CFG_TYPE_CHARGE_VOLTAGE
{
    CHARGE_VOLTAGE_4_20_V = 0x10,  // <"4.20 V">
    CHARGE_VOLTAGE_4_25_V = 0x18,  // <"4.25 V">
    CHARGE_VOLTAGE_4_30_V = 0x20,  // <"4.30 V (新型电池)">
    CHARGE_VOLTAGE_4_35_V = 0x28,  // <"4.35 V (新型电池)">
};
#else
enum CFG_TYPE_CHARGE_VOLTAGE
{
    CHARGE_VOLTAGE_4_20_V = 0x5,  // <"4.20 V">
    CHARGE_VOLTAGE_4_25_V = 0x9,  // <"4.25 V">
    CHARGE_VOLTAGE_4_30_V = 0xd,  // <"4.30 V (新型电池)">
    CHARGE_VOLTAGE_4_35_V = 0x11,  // <"4.35 V (新型电池)">
};

#endif

enum CFG_TYPE_PRECHARGE_STOP_VOLTAGE
{
    PRECHARGE_STOP_3_3_V = 3360,  // <"3.3 V">
};


enum CFG_TYPE_CHARGE_STOP_CURRENT
{
    CHARGE_STOP_CURRENT_20_PERCENT = 0,  // <"20%">
    CHARGE_STOP_CURRENT_5_PERCENT  = 1,  // <"5%">

    CHARGE_STOP_CURRENT_30_MA,   // <"30 mA">
    CHARGE_STOP_CURRENT_20_MA,   // <"20 mA">
    CHARGE_STOP_CURRENT_16_MA,   // <"16 mA">
    CHARGE_STOP_CURRENT_12_MA,   // <"12 mA">
    CHARGE_STOP_CURRENT_8_MA,    // <"8 mA">
    CHARGE_STOP_CURRENT_6_4_MA,  // <"6.4 mA">
    CHARGE_STOP_CURRENT_5_MA,    // <"5 mA">
};


enum CFG_TYPE_CHARGE_STOP_MODE
{
    CHARGE_STOP_BY_VOLTAGE = 0,              // <"阈值电压">
    CHARGE_STOP_BY_CURRENT = 1,              // <"阈值电流">
    CHARGE_STOP_BY_VOLTAGE_AND_CURRENT = 2,  // <"阈值电压和电流">
};


enum CFG_TYPE_BATTERY_LOW_VOLTAGE
{
    BATTERY_LOW_3_0_V = 3000,  // <"3.0 V">
    BATTERY_LOW_3_1_V = 3100,  // <"3.1 V">
    BATTERY_LOW_3_2_V = 3200,  // <"3.2 V">
    BATTERY_LOW_3_3_V = 3300,  // <"3.3 V">
    BATTERY_LOW_3_4_V = 3400,  // <"3.4 V">
    BATTERY_LOW_3_5_V = 3500,  // <"3.5 V">
    BATTERY_LOW_3_6_V = 3600,  // <"3.6 V">
};


enum CFG_TYPE_DC5VPD_CURRENT
{
    DC5VPD_CURRENT_DISABLE = 0xff,  // <"禁止下拉">
    DC5VPD_CURRENT_2_5_MA  = 0x0,   // <"2.5 mA">
    DC5VPD_CURRENT_7_5_MA  = 0x1,   // <"7.5 mA">
    DC5VPD_CURRENT_15_MA   = 0x2,   // <"15 mA">
    DC5VPD_CURRENT_25_MA   = 0x3,   // <"25 mA">
};



enum CFG_TYPE_DC5VLV_LEVEL
{
    DC5VLV_LEVEL_0_2_V = 0,
    DC5VLV_LEVEL_0_5_V = 1,
    DC5VLV_LEVEL_1_0_V = 2,
    DC5VLV_LEVEL_1_5_V = 3,
    DC5VLV_LEVEL_2_0_V = 4,
    DC5VLV_LEVEL_2_5_V = 5,
    DC5VLV_LEVEL_3_0_V = 6,
    DC5VLV_LEVEL_4_5_V = 7,
};


enum CFG_TYPE_BAT_RECHARGE_THRESHOLD
{
    BAT_RECHARGE_3_4_V = 0x0,  // <"3.4 V">
    BAT_RECHARGE_3_5_V = 0x1,  // <"3.5 V">
    BAT_RECHARGE_3_6_V = 0x2,  // <"3.6 V">
    BAT_RECHARGE_3_7_V = 0x3,  // <"3.7 V">
    BAT_RECHARGE_3_8_V = 0x4,  // <"3.8 V">
    BAT_RECHARGE_3_9_V = 0x5,  // <"3.9 V">
    BAT_RECHARGE_4_0_V = 0x6,  // <"4.0 V">
    BAT_RECHARGE_4_1_V = 0x7,  // <"4.1 V">
};



enum CFG_TYPE_BT_SUPPORT_FEATURES
{
    BT_SUPPORT_A2DP                  = (1 << 0),   // <"支持 A2DP 服务">
    BT_SUPPORT_A2DP_AAC              = (1 << 1),   // <"支持 AAC 音频格式">
    BT_SUPPORT_A2DP_DTCP             = (1 << 2),   // <"支持 DTCP 内容保护">
    BT_SUPPORT_A2DP_SCMS_T           = (1 << 3),   // <"支持 SCMS-T 内容保护">
    BT_SUPPORT_AVRCP                 = (1 << 4),   // <"支持 AVRCP 服务">
    BT_SUPPORT_AVRCP_VOLUME_SYNC     = (1 << 5),   // <"支持 AVRCP 音量同步">
    BT_SUPPORT_HFP                   = (1 << 6),   // <"支持 HFP 服务">
    BT_SUPPORT_HFP_VOLUME_SYNC       = (1 << 7),   // <"支持 HFP 音量同步">
    BT_SUPPORT_HFP_BATTERY_REPORT    = (1 << 8),   // <"支持 HFP 电量上报">
    BT_SUPPORT_HFP_3WAY_CALL         = (1 << 9),   // <"支持 HFP 三方通话">
    BT_SUPPORT_HFP_PHONEBOOK_NUMBER  = (1 << 10),  // <"支持 HFP 来电号码">
    BT_SUPPORT_HFP_VOICE_ASSIST      = (1 << 11),  // <"支持 Siri 等语音助手">
    BT_SUPPORT_HFP_CODEC_NEGOTIATION = (1 << 12),  // <"支持 HFP 音频格式协商">
    BT_SUPPORT_ENABLE_NREC           = (1 << 13),  // <"启用 NREC 手机端回音取消和噪声削弱">
    BT_SUPPORT_HID                   = (1 << 14),  // <"支持 HID 服务">
    BT_SUPPORT_TWS                   = (1 << 15),  // <"支持 TWS功能">
    BT_SUPPORT_ENABLE_SNIFF          = (1 << 16),  // <"允许 Sniff 模式">
    BT_SUPPORT_DUAL_PHONE_DEV_LINK   = (1 << 17),  // <"支持双手机设备连接">
    BT_SUPPORT_LINKKEY_MISS_REJECT   = (1 << 18),  // <"取消配对后回连不弹出提示框">
    BT_SUPPORT_CLEAR_LINKKEY         = (1 << 19),  // <"清除配对列表同时清除 LINKKEY">
};

enum CFG_TYPE_BT_CALL_RING_MODE
{
    BT_CALL_RING_MODE_DEFAULT = 0,  // <"默认">
    BT_CALL_RING_MODE_REMOTE  = 1,  // <"已有来电铃声时不播放提示音">
    BT_CALL_RING_MODE_LOCAL   = 2,  // <"只播放本地提示音">
};

enum CFG_TYPE_BT_AUTO_RECONNECT
{
    AUTO_RECONNECT_PHONE_BY_STARTUP = (1 << 0),  // <"开机自动回连手机设备">
    AUTO_RECONNECT_PHONE_BY_TIMEOUT = (1 << 1),  // <"超时断开自动回连手机设备">
};


enum CFG_TYPE_BT_CTRL_TEST_MODE
{
    BT_CTRL_DISABLE_TEST    = 0,  // <"DISABLE">
    BT_CTRL_DUT_TEST        = 1,  // <"DUT_TEST">
    BT_CTRL_LE_TEST         = 2,  // <"LE_TEST">
    BT_CTRL_DUT_AND_LE_TEST = 3,  // <"DUT_TEST & LE_TEST">
};


enum CFG_TYPE_BT_HID_KEY_TYPE
{
    BT_HID_KEY_TYPE_KEYBOARD         = 0x01,  // <"Keyboard">
    BT_HID_KEY_TYPE_CUSTOMER_CONTROL = 0x03,  // <"Customer Control">
};


enum CFG_TYPE_TWS_PAIR_KEY_MODE
{
    TWS_PAIR_KEY_MODE_ONE = 1,  // <"单方按键组对模式">
    TWS_PAIR_KEY_MODE_TWO = 2,  // <"双方按键组对模式">
};


enum CFG_TYPE_TWS_MATCH_MODE
{
    TWS_MATCH_NAME = 0,  // <"名称匹配">
    TWS_MATCH_ID   = 1,  // <"ID 匹配">
};


enum CFG_TYPE_TWS_SYNC_MODE
{
    TWS_SYNC_KEY_TONE  = (1 << 0),  // <"同步按键音">
    TWS_SYNC_POWER_OFF = (1 << 1),  // <"同步关机">
};


enum CFG_TYPE_CAP_TEMP
{
    CAP_TEMP_NA   = 0x7F,        // <"NA">
    CAP_TEMP_N_40 = 0x100 - 40,  // <"-40">
    CAP_TEMP_N_35 = 0x100 - 35,  // <"-35">
    CAP_TEMP_N_30 = 0x100 - 30,  // <"-30">
    CAP_TEMP_N_25 = 0x100 - 25,  // <"-25">
    CAP_TEMP_N_20 = 0x100 - 20,  // <"-20">
    CAP_TEMP_N_15 = 0x100 - 15,  // <"-15">
    CAP_TEMP_N_10 = 0x100 - 10,  // <"-10">
    CAP_TEMP_N_5  = 0x100 - 5,   // <"-5">
    CAP_TEMP_0    = 0,           // <"0">
    CAP_TEMP_P_5  = 5,           // <"+5">
    CAP_TEMP_P_10 = 10,          // <"+10">
    CAP_TEMP_P_15 = 15,          // <"+15">
    CAP_TEMP_P_20 = 20,          // <"+20">
    CAP_TEMP_P_25 = 25,          // <"+25">
    CAP_TEMP_P_30 = 30,          // <"+30">
    CAP_TEMP_P_35 = 35,          // <"+35">
    CAP_TEMP_P_40 = 40,          // <"+40">
    CAP_TEMP_P_45 = 45,          // <"+45">
    CAP_TEMP_P_50 = 50,          // <"+50">
    CAP_TEMP_P_55 = 55,          // <"+55">
    CAP_TEMP_P_60 = 60,          // <"+60">
    CAP_TEMP_P_65 = 65,          // <"+65">
    CAP_TEMP_P_70 = 70,          // <"+70">
    CAP_TEMP_P_75 = 75,          // <"+75">
    CAP_TEMP_P_80 = 80,          // <"+80">
};




enum CFG_TYPE_EXTERN_PA_FUNC
{
    EXTERN_PA_NONE   = 0,  // <"PA_NONE">
    EXTERN_PA_ENABLE = 1,  // <"PA_ENABLE">
    EXTERN_PA_MUTE   = 2,  // <"PA_MUTE">
};


enum CFG_TYPE_TAP_CTRL_SELECT
{
    TAP_CTRL_NONE  = 0,  // <"NONE">
    TAP_CTRL_DA230 = 1,  // <"DA230">
};


enum CFG_TYPE_BT_SCAN_MODE
{
    CFG_DEFAULT_INQUIRY_PAGE_SCAN_MODE,
    CFG_FAST_PAGE_SCAN_MODE,
    CFG_FAST_PAGE_SCAN_MODE_EX,
    CFG_NORMAL_PAGE_SCAN_MODE,
    CFG_NORMAL_PAGE_SCAN_MODE_S3,
    CFG_NORMAL_PAGE_SCAN_MODE_EX,
    CFG_FAST_INQUIRY_PAGE_SCAN_MODE
};


enum CFG_TYPE_BLE_ADV_TYPE
{
    CFG_ADV_DISABLE              = 0xff,
    CFG_ADV_IND                  = 0x00,
    CFG_ADV_DIRECT_IND_HIGH_DUTY = 0x01,
    CFG_ADV_SCAN_IND             = 0x02,
    CFG_ADV_NONCONN_IND          = 0x03,
    CFG_ADV_DIRECT_IND_LOW_DUTY  = 0x04,
};


enum CFG_TYPE_BLE_ADDR_TYPE
{
    CFG_BLE_PUBLIC_DEVICE_ADDRESS          = 0,  // <"Public Device Address">
    CFG_BLE_STATIC_DEVICE_ADDRESS          = 1,  // <"Static Device Address">
    CFG_BLE_NON_RESOLVABLE_PRIVATE_ADDRESS = 2,  // <"Non-resolvable Private Address">
};


enum CFG_TYPE_AAP_KEY_MAP
{
    AAP_KEY_MAP_NONE         = 0x0,  // <"关闭">
    AAP_KEY_MAP_VOICE_ASSIST = 0x1,  // <"语音助手">
    AAP_KEY_MAP_PLAY_PAUSE   = 0x2,  // <"播放/暂停">
    AAP_KEY_MAP_NEXT_MUSIC   = 0x3,  // <"下一曲">
    AAP_KEY_MAP_PREV_MUSIC   = 0x4,  // <"上一曲">
    AAP_KEY_MAP_NOISE_CTRL   = 0x5,  // <"噪声控制">
};


enum CFG_TYPE_DC5V_UART_SWITCH_VOLT
{
    DC5V_UART_SWITCH_VOLT_NA    = 0x0,  // <"NA">
    DC5V_UART_SWITCH_VOLT_2_0_V = 0x4,	// <"2.0 V">
    DC5V_UART_SWITCH_VOLT_2_5_V = 0x5,	// <"2.5 V">
    DC5V_UART_SWITCH_VOLT_3_0_V = 0x6,	// <"3.0 V">
    DC5V_UART_SWITCH_VOLT_4_5_V = 0x7,  // <"4.5 V">
};


enum CFG_TYPE_UART_PARITY_BIT
{
    UART_PARITY_BIT_NONE = 0x0,  // <"无">
    UART_PARITY_BIT_ODD  = 0x4,  // <"奇">
    UART_PARITY_BIT_EVEN = 0x6,  // <"偶">
    UART_PARITY_BIT_0    = 0x7,  // <"0">
    UART_PARITY_BIT_1    = 0x5,  // <"1">
};


enum CFG_TYPE_ANALOG_GAIN_MAP
{
    ANALOG_GAIN_RUDUCE_NA   = 0x0,  // <"NA">
    ANALOG_GAIN_RUDUCE_0DB  = 0x4,  // <"0 db">
    ANALOG_GAIN_RUDUCE_3DB  = 0x3,  // <"-3 db">
    ANALOG_GAIN_RUDUCE_6DB  = 0x2,  // <"-6 db">
    ANALOG_GAIN_RUDUCE_12DB = 0x1,  // <"-12 db">
};


enum CFG_VOICE_SAMPLE_MODE
{
    VOICE_SAMPLE_MODE_FOLLOW_TTS = 0, // <"提示音采样率跟随TTS">
    VOICE_SAMPLE_MODE_BEST_QUALITY,   // <"提示音采样率最好品质">
};


enum CFG_MIC_SAMPLE_MODE
{
    MIC_SAMPLE_MODE_FIX = 0,    // <"采样率固定16KHz">
    MIC_SAMPLE_MODE_FOLLOW,     // <"采样率跟随播放">
};


enum CFG_TYPE_MIC_CHANNEL_SELECT
{
    MIC_CHANNEL_LEFT = 0,    // <"左声道MIC">
    MIC_CHANNEL_RIHGT,       // <"右声道MIC">
};


/*-----------------------------------------------------------------------------
 * 配置结构类型定义
 * 类型必须以 CFG_XXX 命名
 *---------------------------------------------------------------------------*/


typedef struct  // <"LRADC 按键">
{
    cfg_uint8  Key_Value;  // <"键值", CFG_TYPE_KEY_VALUE>
    cfg_uint16  ADC_Min;    // <"ADC 阈值下限", 0x00 ~ 0xFFFF, hex>
    cfg_uint16  ADC_Max;    // <"ADC 阈值上限", 0x00 ~ 0xFFFF, hex>

} CFG_Type_LRADC_Key;


typedef struct  // <"GPIO 按键">
{
    cfg_uint8   Key_Value;         // <"键值",      CFG_TYPE_KEY_VALUE>
    cfg_uint8   GPIO_Pin;          // <"GPIO 管脚", CFG_TYPE_GPIO_PIN>
    cfg_uint8   Pull_Up_Down;      // <"上下拉",    CFG_TYPE_GPIO_PULL>
    cfg_uint8   Active_Level;      // <"有效电平",  CFG_TYPE_GPIO_LEVEL>
    cfg_uint16  Debounce_Time_Ms;  // <"去抖时间 (毫秒)", 0 ~ 500>

} CFG_Type_GPIO_Key;


typedef struct  // <"按键功能映射">
{
    cfg_uint8   Key_Func;   // <"按键功能", CFG_TYPE_KEY_FUNC>
    cfg_uint8   Key_Value;  // <"键值",     CFG_TYPE_KEY_VALUE>
    cfg_uint32  Key_Event;  // <"按键消息", CFG_TYPE_KEY_EVENT>
    cfg_uint8   LR_Device;  // <"左右设备", CFG_TYPE_KEY_DEVICE_TYPE, multi_select>

} CFG_Type_Key_Func_Map;


typedef struct  // <"组合按键">
{
    cfg_uint8   Key_Func;     // <"按键功能", CFG_TYPE_KEY_FUNC>
    cfg_uint8   Key_Value_1;  // <"键值 1",   CFG_TYPE_KEY_VALUE>
    cfg_uint8   Key_Value_2;  // <"键值 2",   CFG_TYPE_KEY_VALUE>
    cfg_uint32  Key_Event;    // <"按键消息", CFG_TYPE_KEY_EVENT>
    cfg_uint8   LR_Device;    // <"左右设备", CFG_TYPE_KEY_DEVICE_TYPE, multi_select>

} CFG_Type_Combo_Key_Map;


typedef struct  // <"LED 驱动">
{
    cfg_uint8  LED_No;        // <"LED 编号",  CFG_TYPE_LED_NO>
    cfg_uint8  GPIO_Pin;      // <"GPIO 管脚", CFG_TYPE_LED_GPIO_PIN>
    cfg_uint8  Active_Level;  // <"有效电平",  CFG_TYPE_GPIO_LEVEL>

} CFG_Type_LED_Drive;


typedef struct  // <"LED 显示模式">
{
    cfg_uint8   Display_Model;      // <"显示模式",            CFG_TYPE_LED_DISPLAY_MODEL>
    cfg_uint8   Display_LEDs;       // <"显示 LED",            CFG_TYPE_LED_NO, multi_select>
    cfg_uint8   Disable_LEDs;       // <"关闭 LED",            CFG_TYPE_LED_NO, multi_select>
    cfg_uint8   Use_PWM_Control;    // <"使用 PWM 控制模式",   CFG_TYPE_BOOL, /* 使用 PWM GPIO 才有效 */>
    cfg_uint16  Delay_Time_Ms;      // <"延迟亮灯时间 (毫秒)", 0 ~ 10000>
    cfg_uint16  ON_Time_Ms;         // <"亮灯时间 (毫秒)",     0 ~ 60000>
    cfg_uint16  OFF_Time_Ms;        // <"灭灯时间 (毫秒)",     0 ~ 60000>
    cfg_uint8   Flash_Count;        // <"亮灭闪烁次数",        0 ~ 200, /* 设置为 0 时无限闪烁 */>
    cfg_uint8   Loop_Count;         // <"闪烁循环次数",        0 ~ 200, /* 设置为 0 时无限循环 */>
    cfg_uint16  Loop_Wait_Time_Ms;  // <"循环等待时间 (毫秒)", 0 ~ 60000>
    cfg_uint16  Breath_Time_Ms;     // <"呼吸模式时间 (毫秒)", 0 ~ 2000, /* 使用 PWM 控制模式才有效 */>

} CFG_Type_LED_Display_Model;


typedef struct  // <"DMIC 管脚配置">
{
    cfg_uint16  DMIC01_CLK;  // <"DMIC01 CLK 管脚", CFG_TYPE_DMIC01_CLK_PIN>
    cfg_uint16  DMIC01_DAT;  // <"DMIC01 DAT 管脚", CFG_TYPE_DMIC01_DAT_PIN>

    cfg_uint16  DMIC23_CLK;  // <"DMIC23 CLK 管脚", CFG_TYPE_DMIC23_CLK_PIN>
    cfg_uint16  DMIC23_DAT;  // <"DMIC23 DAT 管脚", CFG_TYPE_DMIC23_DAT_PIN>
} CFG_Type_DMIC_Select_GPIO;


typedef struct  // <"I2S 管脚配置">
{
    cfg_uint16  I2S_MCLK;   // <"I2S MCLK 管脚",  CFG_TYPE_GPIO_PIN>
    cfg_uint16  I2S_LRCLK;  // <"I2S LRCLK 管脚", CFG_TYPE_GPIO_PIN>
    cfg_uint16  I2S_BCLK;   // <"I2S BCLK 管脚",  CFG_TYPE_GPIO_PIN>
    cfg_uint16  I2S_DOUT;   // <"I2S DOUT 管脚",  CFG_TYPE_GPIO_PIN>

} CFG_Type_I2S_Select_GPIO;


typedef struct  // ADC 通道INPUT管脚配置
{
    cfg_uint8  ADC_Input_Ch0;   // ADC 通道0 INPUT设置
    cfg_uint8  ADC_Input_Ch1;   // ADC 通道1 INPUT设置
    cfg_uint8  ADC_Input_Ch2;   // ADC 通道2 INPUT设置
    cfg_uint8  ADC_Input_Ch3;   // ADC 通道3 INPUT设置

} CFG_Type_ADC_Select_INPUT;


typedef struct  // <"GPIO 选择声道">
{
    cfg_uint8  GPIO_Pin;      // <"GPIO 管脚", CFG_TYPE_GPIO_PIN>
    cfg_uint8  Pull_Up_Down;  // <"上下拉",    CFG_TYPE_GPIO_PULL>
    cfg_uint8  Active_Level;  // <"有效电平",  CFG_TYPE_GPIO_LEVEL>

} CFG_Type_Channel_Select_GPIO;


typedef struct  // <"LRADC 选择声道">
{
    cfg_uint32  LRADC_Ctrl;     // <"LRADC 控制器",   CFG_TYPE_LRADC_CTRL>
    cfg_uint8   LRADC_Pull_Up;  // <"LRADC 上拉电阻", CFG_TYPE_LRADC_PULL_UP>
    cfg_uint8   ADC_Min;        // <"ADC 阈值下限",   0x00 ~ 0x7F, hex>
    cfg_uint8   ADC_Max;        // <"ADC 阈值上限",   0x00 ~ 0x7F, hex>

} CFG_Type_Channel_Select_LRADC;


typedef struct  // <"GPIO 检测 Linein">
{
    cfg_uint8  GPIO_Pin;      // <"GPIO 管脚", CFG_TYPE_GPIO_PIN>
    cfg_uint8  Pull_Up_Down;  // <"上下拉",    CFG_TYPE_GPIO_PULL>
    cfg_uint8  Active_Level;  // <"有效电平",  CFG_TYPE_GPIO_LEVEL>

} CFG_Type_Linein_Detect_GPIO;


typedef struct  // <"LRADC 检测 Linein">
{
    cfg_uint32  LRADC_Ctrl;     // <"LRADC 控制器",   CFG_TYPE_LRADC_CTRL>
    cfg_uint8   LRADC_Pull_Up;  // <"LRADC 上拉电阻", CFG_TYPE_LRADC_PULL_UP>
    cfg_uint8   ADC_Min;        // <"ADC 阈值下限",   0x00 ~ 0x7F, hex>
    cfg_uint8   ADC_Max;        // <"ADC 阈值上限",   0x00 ~ 0x7F, hex>

} CFG_Type_Linein_Detect_LRADC;


typedef struct  // <"提示音编号名称">
{
    cfg_uint8  Tone_ID;                           // <"编号", CFG_TYPE_TONE_ID>
    cfg_uint8  Tone_Name[CFG_MAX_TONE_NAME_LEN];  // <"文件名", string, replaceable=.act>

} CFG_Type_Tone_ID_Name;


typedef struct  // <"语音编号名称">
{
    cfg_uint8  Voice_ID;                            // <"编号", CFG_TYPE_VOICE_ID>
    cfg_uint8  Voice_Name[CFG_MAX_VOICE_NAME_LEN];  // <"文件名", string, replaceable=.act>

} CFG_Type_Voice_ID_Name;


typedef struct  // <"数字语音编号名称">
{
    cfg_uint8  Voice_ID;                            // <"编号", CFG_TYPE_NUMERIC_VOICE_ID>
    cfg_uint8  Voice_Name[CFG_MAX_VOICE_NAME_LEN];  // <"文件名", string, replaceable=.act>

} CFG_Type_Numeric_Voice_ID_Name;


typedef struct  // <"事件通知">
{
    cfg_uint8  Event_Type;    // <"事件类型",     CFG_TYPE_SYS_EVENT>
    cfg_uint8  LED_Display;   // <"LED 显示模式", CFG_TYPE_LED_DISPLAY_MODEL>
    cfg_uint8  LED_Override;  // <"LED 显示覆盖", CFG_TYPE_LED_OVERRIDE_MODE, /* 多状态下靠前的显示优先 */>
    cfg_uint8  Tone_Play;     // <"提示音",       CFG_TYPE_TONE_ID>
    cfg_uint8  Voice_Play;    // <"播报语音",     CFG_TYPE_VOICE_ID>
    cfg_uint8  Options;       // <"选项",         CFG_TYPE_EVENT_NOTIFY_OPTIONS, multi_select>

} CFG_Type_Event_Notify;


typedef struct  // <"温度补偿">
{
    cfg_uint8  Cap_Temp;  // <"温度 ℃", CFG_TYPE_CAP_TEMP>
    cfg_int8   Cap_Comp;  // <"补偿 pF", -10.0 ~ 10.0, float_x10>

} CFG_Type_Cap_Temp_Comp;




typedef struct  // <"MIC 增益">
{
    cfg_uint16  ADC0_Gain;    // <"ADC0 增益", CFG_TYPE_MIC_GAIN>
    cfg_uint16  ADC1_Gain;    // <"ADC1 增益", CFG_TYPE_MIC_GAIN>
    cfg_uint16  ADC2_Gain;    // <"ADC2 增益", CFG_TYPE_MIC_GAIN>
    cfg_uint16  ADC3_Gain;    // <"ADC3 增益", CFG_TYPE_MIC_GAIN>
} CFG_Type_MIC_Gain;


typedef struct  // <"外部 PA 控制">
{
    cfg_uint8  PA_Function;   // <"外部 PA 功能", CFG_TYPE_EXTERN_PA_FUNC>
    cfg_uint8  GPIO_Pin;      // <"GPIO 管脚",    CFG_TYPE_GPIO_PIN>
    cfg_uint8  Pull_Up_Down;  // <"上下拉",       CFG_TYPE_GPIO_PULL>
    cfg_uint8  Active_Level;  // <"有效电平",     CFG_TYPE_GPIO_LEVEL>

} CFG_Type_Extern_PA_Control;


typedef struct  // <"敲击按键支持">
{
    cfg_uint8   Tap_Ctrl_Select;           // <"敲击支持选择",   CFG_TYPE_TAP_CTRL_SELECT>
    cfg_uint8   SDA_Pin;                   // <"SDA 管脚",       CFG_TYPE_GPIO_PIN>
    cfg_uint8   SCL_Pin;                   // <"SCL 管脚",       CFG_TYPE_GPIO_PIN>
    cfg_uint8   I2C_Pull_Up;               // <"I2C 上拉",       CFG_TYPE_GPIO_PULL, /* 可选择上拉 10K */>
    cfg_uint8   I2C_Device_Address;        // <"I2C 设备地址",   hex>
    cfg_uint32  I2C_Bitrate;               // <"I2C 比特率",     20000 ~ 250000>
    cfg_uint8   INT1_Pin;                  // <"INT1 管脚",      CFG_TYPE_GPIO_PIN>
    cfg_uint8   INT1_Pull_Up_Down;         // <"INT1 上下拉",    CFG_TYPE_GPIO_PULL>
    cfg_uint8   INT1_Active_Level;         // <"INT1 有效电平",  CFG_TYPE_GPIO_LEVEL>
    cfg_uint8   First_Tap_Sensitivity;     // <"开始敲击灵敏度", 0 ~ 31, /* 配置为 13 左右, 值越小越灵敏 */>
    cfg_uint8   Continue_Tap_Sensitivity;  // <"连续敲击灵敏度", 0 ~ 31, /* 配置为 6 左右 */>
    cfg_uint8   Enable_Single_Tap;         // <"允许单击操作",   CFG_TYPE_BOOL>
    cfg_uint8   Tap_Key_Tone;              // <"敲击按键音",     CFG_TYPE_TONE_ID>
    cfg_uint8   Support_INT_Wake_Up;       // <"支持敲击唤醒",   CFG_TYPE_BOOL, /* INT1 管脚为 GPIO_0 才能支持唤醒 */>

} CFG_Type_Tap_Key_Control;



typedef struct  // <"SCAN 参数设置">
{
    cfg_uint8   Scan_Mode;              // <"模式", CFG_TYPE_BT_SCAN_MODE, readonly>
    cfg_uint16  Inquiry_Scan_Window;    // <"InquiryScan 窗口">
    cfg_uint16  Inquiry_Scan_Interval;  // <"InquiryScan 间隔">
    cfg_uint8   Inquiry_Scan_Type;      // <"InquiryScan 类型", 0 ~ 1>
    cfg_uint16  Page_Scan_Window;       // <"PageScan 窗口">
    cfg_uint16  Page_Scan_Interval;     // <"PageScan 间隔">
    cfg_uint8   Page_Scan_Type;         // <"PageScan 类型", 0 ~ 1>

} CFG_Type_BT_Scan_Params;



typedef struct  // <"自定义按键序列">
{
    cfg_uint16  Key_Sequence;  // <"按键序列", CFG_TYPE_CUSTOMED_KEY_SEQUENCE>

    cfg_uint32  Key_Event_1;   // <"消息 1", CFG_TYPE_KEY_EVENT>
    cfg_uint32  Key_Event_2;   // <"消息 2", CFG_TYPE_KEY_EVENT>

} CFG_Type_Customed_Key_Sequence;


typedef struct  // <"更多充电设置">
{
    cfg_uint8  Charger_Box_Standby_Current;  // <"充电盒待机电流 (mA)", 0 ~ 10>

} CFG_Type_Battery_Charge_Settings_Ex;


typedef struct  // <"DC5V_COM 通讯设置">
{
    cfg_uint8   Enable_DC5V_UART_Comm_Mode;  // <"启用 DC5V_COM 通讯模式", CFG_TYPE_BOOL>
    cfg_uint8   DC5V_UART_Switch_Voltage;    // <"DC5V_COM 切换电压",      CFG_TYPE_DC5V_UART_SWITCH_VOLT>
    cfg_uint8   Redirect_Console_Print;      // <"重定向控制台打印",       CFG_TYPE_BOOL>
    cfg_uint8   DC5V_UART_Parity_Select;     // <"DC5V_COM 奇偶校验位",    CFG_TYPE_UART_PARITY_BIT>
    cfg_uint32  DC5V_UART_Comm_Baudrate;     // <"DC5V_COM 通讯波特率 (bps)">

} CFG_Type_DC5V_UART_Comm_Settings;



typedef struct  // <"DC5V_IO 通讯设置">
{
    cfg_uint16  DC5V_IO_Threshold_MV;  // <"DC5V_IO 阈值电压 (毫伏)", /* 0 表示禁用该功能 */>

} CFG_Type_DC5V_IO_Comm_Settings;



typedef struct  // <"模拟增益设置">
{
    cfg_uint8   ANALOG_Gain_Poweron;  // <"开机默认模拟增益",      CFG_TYPE_ANALOG_GAIN_MAP, /* NA时为-3DB */>
    cfg_uint8   ANALOG_Gain_Voice;    // <"语音场景模拟增益",      CFG_TYPE_ANALOG_GAIN_MAP, /* NA时跟随开机模拟增益 */>
    cfg_uint8   ANALOG_Gain_BTSpeech; // <"蓝牙通话场景模拟增益",  CFG_TYPE_ANALOG_GAIN_MAP, /* NA时跟随开机模拟增益 */>
    cfg_uint8   ANALOG_GAIN_BTMusic;  // <"蓝牙播歌场景模拟增益",  CFG_TYPE_ANALOG_GAIN_MAP, /* NA时跟随开机模拟增益 */>

} CFG_Type_ANALOG_GAIN_Settings;


typedef struct  // <"自动退出控制器测试模式">
{
    cfg_uint16  Quit_Timer_Sec;        // <"定时退出 (秒)", /* 0 表示不自动退出 */>
    cfg_uint8   Power_Off_After_Quit;  // <"退出后关机", CFG_TYPE_BOOL>

} CFG_Type_Auto_Quit_BT_Ctrl_Test;




typedef struct  // <"NTC 温度调节充电电流">
{
    cfg_uint8   Enable_NTC;        // <"启用 NTC 温度调节充电电流", CFG_TYPE_BOOL>
    cfg_uint32  LRADC_Ctrl;        // <"LRADC 控制器",     CFG_TYPE_NTC_LRADC_CTRL>
    cfg_uint8   LRADC_Pull_Up;     // <"LRADC 上拉电阻",   CFG_TYPE_LRADC_PULL_UP, /* LRADC_CTRL_1 默认使用内部上拉, 其它只能外部上拉 */>
    cfg_uint8   LRADC_Value_Test;  // <"LRADC 采样值测试", CFG_TYPE_BOOL, /* 通过串口打印 LRADC 采样值 */>

} CFG_Type_NTC_Settings;


typedef struct  // <"NTC 温度范围">
{
    cfg_uint16  ADC_Min;                 // <"ADC 阈值下限", 0 ~ 1023>
    cfg_uint16  ADC_Max;                 // <"ADC 阈值上限", 0 ~ 1023>
    cfg_uint8   Adjust_Current_Percent;  // <"调节充电电流 (百分比)", 0 ~ 100>

} CFG_Type_NTC_Range;




