蓝牙开发杰理开发AC7006-BT360功能总结
MTAC7006-BT360功能总结
按键触发流程分析
以下展示的表格为默认按键配置
| SHORT |
LONG |
HOLD |
UP |
DOUBLE |
TRIPLE |
| KEY_MUSIC_PP |
KEY_POWEROFF |
KEY_POWEROFF_HOLD |
KEY_NULL |
KEY_CALL_LAST_NO |
KEY_LOW_LANTECY |
长按按键触发流程为:LONG > HOLD > …….. > HOLD > UP
一般前面的三项是不改的,有不同的功能直接在相应的CASE中修改
开关机时间的设定
1 2 3
|
if (delay_10ms_cnt > 200) {
|
如果是ADkey开机会发现不管delay_10ms_cnt配置多少,轻按一下开机键会就触发延迟开机,延迟时间为delay_10ms_cnt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
#if TCFG_ADKEY_ENABLE u8 adc_pwr_value = adc_get_value(adkey_data.ad_channel); if (adkey_data.enable) { printf("adc_pwr_value = %d\n",adc_pwr_value); if (adc_pwr_value < 10) { return 1; } }
#endif
|
1 2 3
|
#define POWER_OFF_CNT 8
|
需要配合ADkey的配置计算时间
1 2 3 4 5 6 7 8 9 10 11 12 13
|
struct key_driver_para adkey_scan_para = { .scan_time = 10, .last_key = NO_KEY, .filter_time = 2, .long_time = 75, .hold_time = (75 + 15), .click_delay_time = 20, .key_type = KEY_DRIVER_TYPE_AD, .get_value = ad_get_key_value, };
|
关闭系统打印
节省flash空间
1 2 3 4 5 6 7 8 9 10
|
#define LIB_DEBUG 0 #define CONFIG_DEBUG_LIB(x) (x & LIB_DEBUG)
#ifndef CONFIG_DEBUG_ENABLE
#endif
|
低电以及关机电压
1 2 3 4
|
#define LOW_POWER_OFF_VAL 330 #define LOW_POWER_WARN_VAL 340
|
部分灯效的实现
大部分灯效的控制都在ui_manage.c中,这里以“TWS连接后,副耳灭灯,主耳灯效为快闪”为例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
case STATUS_BT_TWS_CONN: log_info("[STATUS_BT_TWS_CONN]\n"); if(tws_api_get_local_channel()=='L'){ pwm_led_mode_set(PWM_LED0_LED1_FAST_FLASH); }else{ pwm_led_mode_set(PWM_LED_ALL_OFF); } break; case STATUS_BT_TWS_DISCONN: log_info("[STATUS_BT_TWS_DISCONN]\n"); pwm_led_mode_set(PWM_LED0_LED1_FAST_FLASH); break;
|
其他小功能配置
LED灯、主副MIC、双麦ENC、充电截止电压的配置基本在主配置文件中