ANC Application Functions

[English]

APP_ANC API Brief

Application

Brief

app_anc_get_version()

get anc version

anc_anc_get_verstr()

get anc version string

app_anc_deinit()

turn off anc operate

app_anc_init()

turn on anc operate and initialize

app_anc_cmd_handler()

handle anc command

app_anc_is_open()

Enquiry anc is Enable or not

app_anc_reopen()

re-open anc function

app_anc_reset_audio()

reset g_audio_env

app_anc_fade_in()

setting fade in of p_path_ctrl variables

app_anc_fade_out()

setting fade out of p_path_ctrl variables

app_audio_anc_ctrl_noise_cancel()

turn on anc function

app_audio_anc_ctrl_off()

turn off anc function

app_anc_path_fade_in()

setting multi-path to fade in

app_anc_cache_reset()

reset ec cache ram and reset anc digital gain

app_anc_get_current_gain()

get digital gain from specify voice path

app_anc_button_ctrl()

anc button control

app_anc_reset_coef_by_path()

app_anc_reset_coef_by_path

app_anc_rx_ctrl_handle()

handle TWS_ANC_CTRL private command

APP_ANC API Reference

Header File

Functions

uint32_t app_anc_get_version(void)

get anc version

返回:

anc version

uint8_t *anc_anc_get_verstr(void)

get anc version string

返回:

anc version string

int32_t app_anc_deinit(void)

turn off anc operate

返回:

status

int32_t app_anc_init(uint8_t anc_mode)

turn on anc operate and initialize

返回:

status

int app_anc_cmd_handler(void *pd, uint8_t *p_out_buffer, uint16_t *p_out_length)

handle anc command

参数:
  • *pd[in] anc command(etc ANC_CMD_RESET_TO_DB…)

  • *p_out_buffer[out] process result to get

  • *p_out_length[out] process result length to get

返回:

status

bool app_anc_is_open(void)

Enquiry anc is Enable or not.

返回值:
  • true – is open

  • false – not open

返回:

status

void app_anc_reopen(uint8_t type)

re-open anc function

参数:

type[in] Controls to be turned on or off dac(etc ANC_REOPEN_ON_START,ANC_REOPEN_ON_STOP)

返回:

N/A

void app_anc_reset_audio(void)

reset g_audio_env

返回:

N/A

void app_anc_fade_in(uint8_t path)

setting fade in of p_path_ctrl variables

参数:

path[in] ANC path(etc:ANC_PATH_FF_L,ANC_PATH_TS_L…)

返回:

N/A

void app_anc_fade_out(uint8_t path)

setting fade out of p_path_ctrl variables

参数:

path[in] ANC path(etc:ANC_PATH_FF_L,ANC_PATH_TS_L…)

返回:

N/A

void app_audio_anc_ctrl_noise_cancel(void)

turn on anc function

返回:

N/A

void app_audio_anc_ctrl_off(void)

turn off anc function

返回:

N/A

void app_anc_path_fade_in(uint32_t paths)

setting multi-path to fade in

参数:

paths[in] voice paths AUDIO_ANC_PATH

返回:

N/A

void app_anc_cache_reset(void)

reset ec cache ram and reset anc digital gain

返回:

N/A

uint32_t app_anc_get_current_gain(uint8_t path)

get digital gain from specify voice path

参数:

path[in] voice path (etc: ANC_PATH_FF_L,ANC_PATH_TS_L,ANC_PATH_FB_L…)

返回:

N/A

void app_anc_button_ctrl(void)

anc button control

Param :

void app_anc_reset_coef_by_path(uint32_t path)

app_anc_reset_coef_by_path

Param :

void app_anc_rx_ctrl_handle(const uint8_t *p_data, uint16_t length)

handle TWS_ANC_CTRL private command

参数:
  • p_data[in] command packet payload

  • length[in] payload length

返回:

N/A

void app_anc_sub_fsm(anc_subtype_t sub_type_cb)

Unions

union variant32_t

Public Members

int8_t i8[4]
uint8_t u8[4]
int16_t i16[2]
uint16_t u16[2]
int32_t i32
uint32_t u32
float f32

Structures

struct biquad_filter_coef_t
struct anc_para_t
struct anc_spp_cmd_t
struct anc_spp_filter_cmd_t
struct audio_anc_ctrl_t

Macros

ADC_ANA_STABLE_TIME_MS
FADE_INOUT_TO_US
NUM_0x9e8b3713
NUM_DEADBEAF
ANC_DEF_FS
ANC_LSHIFTER_DEF_BITS
ANC_OFF
ANC_NOISE_CANCEL
ANC_TRANSPANT
ANC_SUBTYPE_IDLE
ANC_SUBTYPE_W4_NOISE_CANCEL_HINT_DONE
ANC_SUBTYPE_W4_NOISE_CANCEL_DONE
ANC_SUBTYPE_W4_TRANSPRANT_ANCOFF_DONE
ANC_SUBTYPE_W4_TRANSPRANT_HINT_DONE
ANC_SUBTYPE_W4_TRANSPRANT_DONE
ANC_SUBTYPE_W4_ANC_OFF_DONE
ANC_SUBTYPE_W4_ANC_OFF_HINT_DONE
CHECK_PATH_10X(path)
CHECK_PATH_8X(path)
SPP_CMD_SYNCWORD
SPP_RSP_SYNCWORD
SPP_TEST_CMD_LEN
SPP_RSP_FORMAT_1
SPP_RSP_FORMAT_2
SPP_FILTER_CMD_LEN

Type Definitions

typedef uint8_t anc_type_t
typedef uint8_t anc_subtype_t

Enumerations

enum [anonymous]

Values:

enumerator ANC_CMD_ENTER_TESTMODE
enumerator ANC_CMD_MASTER_IS_LEFT
enumerator ANC_CMD_ANC_OFF
enumerator ANC_CMD_ANC_ON
enumerator ANC_CMD_SET_GAIN
enumerator ANC_CMD_WRITE_GAIN
enumerator ANC_CMD_READ_GAIN
enumerator ANC_CMD_ANC_WHITE_NOISE_OUT
enumerator ANC_CMD_ANC_PULSE_OUT
enumerator ANC_CMD_FILTER_UPDATE
enumerator ANC_CMD_FILTER_WRITE
enumerator ANC_CMD_TRANSPARENCY
enumerator ANC_CMD_MASTER_PLUS
enumerator ANC_CMD_MASTER_MINUS
enumerator ANC_CMD_SLAVE_PLUS
enumerator ANC_CMD_SLAVE_MINUS
enumerator ANC_CMD_MASTER_SAVE
enumerator ANC_CMD_SLAVE_SAVE
enumerator ANC_CMD_SLAVE_SET_GAIN
enumerator ANC_CMD_MASTER_SET_GAIN
enumerator ANC_CMD_RESET_TO_DB
enumerator ANC_CMD_CTRL_LIMITER
enumerator ANC_CMD_STATUS_SWITCH
enumerator ANC_CMD_PATH_CFG_READ
enumerator ANC_CMD_CTRL_I2S
enumerator ANC_CMD_CTRL_ANA_GAIN_SET
enumerator ANC_CMD_MATCH_GAIN_UPD
enumerator ANC_CMD_GAIN_UPD
enumerator ANC_CMD_FLT_COEF_UPD
enumerator ANC_CMD_CTRL_BYPASS
enumerator ANC_CMD_CTRL_CLEAR
enumerator ANC_CMD_RESET_TO_NONE
enumerator ANC_CMD_DBGAIN_INVERSE
enumerator ANC_CMD_ANC_ON_OFF
enumerator ANC_CMD_FILTER_BYPASS_ON_OFF
enumerator ANC_CMD_DBGAIN_UPDATE
enumerator ANC_CMD_DBGAIN_WRITE
enumerator ANC_CMD_DBGAIN_READ
enumerator ANC_CMD_STATUS_SYNC
enumerator ANC_CMD_FILTER_REVERSE
enumerator ANC_CMD_ENHANCED_TS_EN
enumerator ANC_CMD_ANC_MODE
enumerator ANC_CMD_PATH_CTRL
enumerator ANC_CMD_STORE_ALL_MATCH_PARAM
enumerator ANC_CMD_STORE_ALL_DESIGN_PARAM
enumerator ANC_CMD_LIMITER_THRES
enum [anonymous]

Values:

enumerator ANC_HFP_CMD_ANC_OFF
enumerator ANC_HFP_CMD_ANC_ON
enumerator ANC_HFP_CMD_SET_GAIN
enumerator ANC_HFP_CMD_WRITE_GAIN
enumerator ANC_HFP_CMD_READ_GAIN
enumerator ANC_HFP_RSP
enumerator ANC_HFP_CMD_TRANSPARENCY
enumerator ANC_HFP_CMD_PLUS
enumerator ANC_HFP_CMD_MINUS
enumerator ANC_HFP_CMD_SAVE
enumerator ANC_HFP_CMD_SET_GAIN_TEST
enumerator ANC_HFP_CMD_ANC_WHITE_NOISE_OUT
enumerator ANC_HFP_CMD_ANC_PULSE_OUT
enumerator ANC_HFP_CMD_FILTER_WRITE
enumerator ANC_HFP_CMD_FILTER_UPDATE
enum eq_filter_e

Values:

enumerator EQ_FILTER_TYPE_UNKNOW
enumerator EQ_FILTER_TYPE_PEAKING
enumerator EQ_FILTER_TYPE_LOW_SHELF
enumerator EQ_FILTER_TYPE_HIGH_SHELF
enumerator EQ_FILTER_TYPE_LOW_PASS
enumerator EQ_FILTER_TYPE_HIGH_PASS
enumerator EQ_FILTER_TYPE_BAND_PASS
enumerator EQ_FILTER_TYPE_NOTCH
enumerator EQ_FILTER_TYPE_ALL_PASS
enum [anonymous]

Values:

enumerator ANC_PATH_FF_L
enumerator ANC_PATH_TS_L
enumerator ANC_PATH_FB_L
enumerator ANC_PATH_EC_L
enumerator ANC_PATH_TF_L
enumerator ANC_PATH_TE_L
enumerator ANC_PATH_FF_R
enumerator ANC_PATH_TS_R
enumerator ANC_PATH_FB_R
enumerator ANC_PATH_EC_R
enumerator ANC_PATH_TF_R
enumerator ANC_PATH_TE_R
enumerator ANC_PATH_COUNT
enum [anonymous]

Values:

enumerator ANC_REOPEN_ON_START
enumerator ANC_REOPEN_ON_STOP