Button Application Functions

[English]

APP_BUTTON API Brief

Application

Brief

app_button_register_task_cb_handler()

application for button task callback register in app_msg_hdl_dlst_hdr queue

app_button_init()

application for button initialize

APP_BUTTON API Reference

Header File

Functions

void app_button_register_task_cb_handler(void)

application for button task callback register in app_msg_hdl_dlst_hdr queue APP_TASK will poll this queue and process button message

返回:

N/A

void app_button_init(void)

application for button initialize include load application environment variable into button parameter gpio pin initialize

返回:

N/A

Unions

union _button_setting_u
#include <app_button.h>

button setting union variable

Public Members

struct _button_setting_u::_button_setting_bitfields_t f
uint64_t setting
struct _button_setting_bitfields_t

Public Members

uint64_t gpio_pin

[0 :39] gpio pin in the GPIO/ADC/TOUCH mode

uint64_t adc_key_cnt

[40:43] adc key count

uint64_t reserved

[44:44] NA

uint64_t adc_chan

[45:48] adc channel

uint64_t button_mode

[49:51] button mode: GPIO/ ADC/ TOUCH

uint64_t comb_button

[52:53] Combination button

uint64_t button_type

[54:56] button type:a2dp/hfp/twc/all

uint64_t button_action

[57:63] button action

Structures

struct _app_button_para_s

Public Members

uint16_t press

short pressed time length unit is millisecond

uint16_t repeat

repeat time unit is millisecond

uint16_t longp

long pressed time length unit is millisecond

uint16_t vlongp

very long pressed time length unit is millisecond

uint16_t doublep

double click time length unit is millisecond

Macros

BUTTON_CLICK

                          button setting bits mapping **************************************************************
+——————————————————————-&#8212; ————————————————&#8212;+ | 63 ~ 57 | 56 ~ 54 | 53 52 | 51 ~ 49 | 48 ~ 45 | 44 | 43 ~ 40 | 39 ~ 0 | |———&#8212;+————-&#8212;+——&#8212;+———–&#8212;+——–&#8212;+-&#8212;+———-&#8212;+——————————–&#8212;| | btn action | btn type | Combo | Btn Mode | if(ADC) | Na | if(ADC) | if(GPIO) if(Touch) if(ADC) | | clk… |a2dp/hfp/twc/all| Button |gpio/adc/touch| ADC-CH | | adc key num | gpio-pin Touch pin ADC pin | +———————————————————————————————————————-&#8212;+ button atcion : bit 63:57 (7bit)

BUTTON_DOUBLE_CLICK
BUTTON_LONG_PRESS_NO_UP
BUTTON_WAIT_DOUBLE_CLICK
BUTTON_CONTINUE
BUTTON_LONG_LONG_PRESS
BUTTON_LONG_PRESS
BUTTON_ACTION_MASK
BUTTON_TYPE_A2DP

button type: bit56:54, in which context

BUTTON_TYPE_HFP
BUTTON_TYPE_TWC
BUTTON_TYPE_ALL
BUTTON_TYPE_MASK
BUTTON_MUL_CLICK_MASK

Combination buttons: bit53 ~ bit52

BUTTON_MUL_CLICK_FLAG
BUTTON_THREE_CLICK_FLAG
BUTTON_FOUR_CLICK_FLAG
BUTTON_FIVE_CLICK_FLAG
BUTTON_SIX_CLICK_FLAG
BUTTON_SEVEN_CLICK_FLAG
BUTTON_EIGHT_CLICK_FLAG
BUTTON_MODE_KEY_TYPE_MASK

input key type: bit51:49 = x X:0 for gpio button X:1 for adc button X:4 for touch button

BUTTON_MODE_KEY_TOUCH_MASK
BUTTON_MODE_KEY_ADC_MASK
BUTTON_MAP_EXCLUDE_MASK
BUTTON_MAP_MASK

Type Definitions

typedef union _button_setting_u button_setting_u

button setting union variable

typedef struct _app_button_para_s app_button_para_t

Enumerations

enum [anonymous]

button action

Values:

enumerator BUTTON_BT_NONE
enumerator BUTTON_BT_PLAY_PAUSE
enumerator BUTTON_BT_NEXT
enumerator BUTTON_BT_PREV
enumerator BUTTON_BT_REWIND
enumerator BUTTON_BT_FORWARD
enumerator BUTTON_BT_VOL_P
enumerator BUTTON_BT_VOL_M
enumerator BUTTON_BT_VOL_MUTE
enumerator BUTTON_BT_PAIRING
enumerator BUTTON_BT_POWERDOWN
enumerator BUTTON_BT_HFP_ACK
enumerator BUTTON_BT_HFP_NACK
enumerator BUTTON_BT_HFP_DIAL
enumerator BUTTON_BT_MIC_P
enumerator BUTTON_BT_MIC_M
enumerator BUTTON_BT_MIC_MUTE
enumerator BUTTON_BT_VOICE_DIAL_INIT
enumerator BUTTON_BT_TRANSFER_TOGGLE
enumerator BUTTON_BT_CONN_DISCONN
enumerator BUTTON_BT_RESERVED4
enumerator BUTTON_BT_RESTORE_FACTORY
enumerator BUTTON_BT_TEST_MODE
enumerator BUTTON_BT_HINT_LANG_CHANGE
enumerator BUTTON_BT_ANC_SWITCH
enumerator BUTTON_BT_RECONNECT

25

enumerator BUTTON_BT_AURACAST_SRC_START

26

enumerator BUTTON_BT_AURACAST_SRC_END

27

enumerator BUTTON_BT_2PHONES_SWTCH

28

enumerator BUTTON_BT_GAME_MODE

29

enumerator BUTTON_BT_RESERVED1

30

enumerator BUTTON_BT_RESERVED2

31

enumerator BUTTON_BT_RESERVED3

32

enumerator BUTTON_BT_END