Compare commits

..

16 Commits

Author SHA1 Message Date
Haxk20 daaaadc56d
anc: Fix enable/disable from slave bud
Switching ANC on or off from master bud has always worked
since we could just straight up enable it and no command had to be
sent.

When switching from slave bud we had to send the command to enable
or disable it via app_anc_key. Issue is the handling of this request
is from app_anc_cmd_receive_process which is not called without
APP_ANC being defined.

This commit cleans up the way ANC is enabled and also fixes slave
bud ANC switching by implementing the actual code path :)
2023-11-17 11:43:57 -06:00
Ben V. Brown 15fe2d36ea
Turn off resample for now (to avoid 56k profile) 2023-11-17 11:42:01 -06:00
Ben V. Brown ab6679d5cb
Port fb tuning values 2023-11-17 11:42:01 -06:00
Ben V. Brown 514f942f9f
Update decoder 2023-11-17 11:42:01 -06:00
Ben V. Brown 1ac4814fdf
Port some rough anc numbers from firmware dump 2023-11-17 11:42:01 -06:00
Ben V. Brown f12e474b2f
Scratching debug tool for anc poking 2023-11-17 11:42:01 -06:00
Ben V. Brown ced171a5c5
Note WNR is off 2023-11-17 11:42:01 -06:00
Ben V. Brown 2e4460b504
Try higher gain for anc 2023-11-17 11:42:00 -06:00
Ben V. Brown 5ee687b4eb
Update target.mk 2023-11-17 11:42:00 -06:00
Ben V. Brown b54f408983
Update target.mk 2023-11-17 11:42:00 -06:00
Ben V. Brown 66ab43c6a6
Update analog_best2300p.c 2023-11-17 11:42:00 -06:00
Ben V. Brown 162614ee8a
Add logging to anc init 2023-11-17 11:42:00 -06:00
Ben V. Brown 981883459a
Cant do inline comments on makefile target config 2023-11-17 11:42:00 -06:00
Ben V. Brown 258bc5efe4
Make warning on no anc VMIC 2023-11-17 11:42:00 -06:00
Ben V. Brown 11b9eb7fc5
Edit config for mics 2023-11-17 11:41:59 -06:00
Ben V. Brown 6f1c846969
Annotate config options 2023-11-17 11:41:56 -06:00
3 changed files with 14 additions and 9 deletions

View File

@ -1531,13 +1531,6 @@ void app_anc_key(APP_KEY_STATUS *status, void *param) {
bool flag = app_anc_work_status();
#if defined(IBRT)
ibrt_ctrl_t *p_ibrt_ctrl = app_tws_ibrt_get_bt_ctrl_ctx();
TRACE(2, "[%s] current_role: %d", __func__, p_ibrt_ctrl->current_role);
if (p_ibrt_ctrl->current_role == IBRT_SLAVE) {
app_anc_notify_master_to_exchange_coef(0, 0);
return;
}
app_anc_status_sync(!flag);
#endif
app_anc_status_post(!flag);

View File

@ -118,6 +118,12 @@ void send_prev_track(void) {
uint8_t action[] = {IBRT_ACTION_BACKWARD};
app_ibrt_if_start_user_action(action, sizeof(action));
}
void send_enable_disable_anc(void) {
uint8_t action[] = {IBRT_ACTION_ANC_NOTIRY_MASTER_EXCHANGE_COEF};
app_ibrt_if_start_user_action(action, sizeof(action));
}
void app_key_single_tap(APP_KEY_STATUS *status, void *param) {
TRACE(2, "%s event %d", __func__, status->event);
@ -138,6 +144,7 @@ void app_key_single_tap(APP_KEY_STATUS *status, void *param) {
}
}
}
void app_key_double_tap(APP_KEY_STATUS *status, void *param) {
TRACE(2, "%s event %d", __func__, status->event);
@ -179,6 +186,7 @@ void app_key_triple_tap(APP_KEY_STATUS *status, void *param) {
}
}
}
void app_key_quad_tap(APP_KEY_STATUS *status, void *param) {
TRACE(2, "%s event %d", __func__, status->event);
@ -207,7 +215,7 @@ void app_key_long_press_down(APP_KEY_STATUS *status, void *param) {
send_prev_track();
} else {
// Bud's are working as a pair
app_anc_key(status, param);
send_enable_disable_anc();
}
}
@ -268,4 +276,4 @@ void app_key_init_on_charging(void) {
for (i = 0; i < (sizeof(key_cfg) / sizeof(APP_KEY_HANDLE)); i++) {
app_key_handle_registration(&key_cfg[i]);
}
}
}

View File

@ -279,6 +279,7 @@ void app_ibrt_ui_perform_user_action(uint8_t *p_buff, uint16_t length) {
ibrt_ctrl_t *p_ibrt_ctrl = app_tws_ibrt_get_bt_ctrl_ctx();
#ifdef ANC_APP
//Doesnt actully get used!!!
app_anc_cmd_receive_process(p_buff, length);
#endif
#ifdef ANC_WNR_ENABLED
@ -352,6 +353,9 @@ void app_ibrt_ui_perform_user_action(uint8_t *p_buff, uint16_t length) {
app_bt_volumedown();
app_ibrt_sync_volume_info();
break;
case IBRT_ACTION_ANC_NOTIRY_MASTER_EXCHANGE_COEF:
app_anc_key(NULL, NULL);
break;
default:
TRACE(2, "%s unknown user action %d\n", __func__, p_buff[0]);
break;