mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-02-07 06:40:01 +00:00
hfp_ag: use ag_vra_send_command instead of command for ag initiated vra commands
This commit is contained in:
parent
08dc7cc656
commit
8f8818a4bf
@ -648,7 +648,8 @@ typedef struct hfp_connection {
|
||||
uint8_t ag_response_and_hold_action;
|
||||
uint8_t ag_dtmf_code;
|
||||
bool ag_send_no_carrier;
|
||||
|
||||
bool ag_vra_send_command;
|
||||
|
||||
int send_status_of_current_calls;
|
||||
int next_call_index;
|
||||
|
||||
@ -694,7 +695,7 @@ typedef struct hfp_connection {
|
||||
bool deactivate_voice_recognition;
|
||||
bool activate_voice_recognition;
|
||||
bool enhanced_voice_recognition_enabled;
|
||||
|
||||
|
||||
// ih HF, used by parser, in AG used for commands
|
||||
uint8_t ag_vra_status;
|
||||
hfp_voice_recognition_state_t ag_vra_state;
|
||||
|
@ -973,6 +973,12 @@ static int hfp_ag_voice_recognition_state_machine(hfp_connection_t * hfp_connect
|
||||
int done = 0;
|
||||
uint8_t status;
|
||||
|
||||
// VRA action initiated by AG
|
||||
if (hfp_connection->ag_vra_send_command){
|
||||
hfp_connection->ag_vra_send_command = false;
|
||||
return hfp_ag_vra_send_command(hfp_connection);
|
||||
}
|
||||
|
||||
switch (hfp_connection->command){
|
||||
case HFP_CMD_AG_ACTIVATE_VOICE_RECOGNITION:
|
||||
return hfp_ag_vra_send_command(hfp_connection);
|
||||
@ -2851,10 +2857,10 @@ uint8_t hfp_ag_activate_voice_recognition(hci_con_handle_t acl_handle){
|
||||
|
||||
hfp_connection->ag_activate_voice_recognition_value = 1;
|
||||
hfp_connection->vra_state_requested = HFP_VRA_W2_SEND_VOICE_RECOGNITION_ACTIVATED;
|
||||
hfp_connection->command = HFP_CMD_AG_ACTIVATE_VOICE_RECOGNITION;
|
||||
hfp_connection->enhanced_voice_recognition_enabled = enhanced_vra_supported;
|
||||
hfp_connection->ag_audio_connection_opened_before_vra = hfp_ag_is_audio_connection_active(hfp_connection);
|
||||
hfp_connection->ag_vra_state = HFP_VOICE_RECOGNITION_STATE_AG_READY;
|
||||
hfp_connection->ag_vra_send_command = true;
|
||||
hfp_ag_run_for_context(hfp_connection);
|
||||
return ERROR_CODE_SUCCESS;
|
||||
}
|
||||
@ -2878,8 +2884,8 @@ uint8_t hfp_ag_deactivate_voice_recognition(hci_con_handle_t acl_handle){
|
||||
|
||||
hfp_connection->ag_activate_voice_recognition_value = 0;
|
||||
hfp_connection->vra_state_requested = HFP_VRA_W2_SEND_VOICE_RECOGNITION_OFF;
|
||||
hfp_connection->command = HFP_CMD_AG_ACTIVATE_VOICE_RECOGNITION;
|
||||
hfp_connection->ag_vra_state = HFP_VOICE_RECOGNITION_STATE_AG_READY;
|
||||
hfp_connection->ag_vra_send_command = true;
|
||||
hfp_ag_run_for_context(hfp_connection);
|
||||
return ERROR_CODE_SUCCESS;
|
||||
}
|
||||
@ -2903,9 +2909,9 @@ static uint8_t hfp_ag_enhanced_voice_recognition_send_state(hci_con_handle_t acl
|
||||
return ERROR_CODE_COMMAND_DISALLOWED;
|
||||
}
|
||||
|
||||
hfp_connection->command = HFP_CMD_AG_ACTIVATE_VOICE_RECOGNITION;
|
||||
hfp_connection->ag_vra_state = state;
|
||||
hfp_connection->vra_state_requested = HFP_VRA_W2_SEND_ENHANCED_VOICE_RECOGNITION_STATUS;
|
||||
hfp_connection->ag_vra_send_command = true;
|
||||
hfp_ag_run_for_context(hfp_connection);
|
||||
return ERROR_CODE_SUCCESS;
|
||||
}
|
||||
@ -2955,11 +2961,11 @@ uint8_t hfp_ag_enhanced_voice_recognition_send_message(hci_con_handle_t acl_hand
|
||||
return ERROR_CODE_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE;
|
||||
}
|
||||
|
||||
hfp_connection->command = HFP_CMD_AG_ACTIVATE_VOICE_RECOGNITION;
|
||||
hfp_connection->vra_state_requested = HFP_VRA_W2_SEND_ENHANCED_VOICE_RECOGNITION_MSG;
|
||||
hfp_connection->ag_msg = msg;
|
||||
hfp_connection->ag_vra_state = state;
|
||||
hfp_ag_run_for_context(hfp_connection);
|
||||
hfp_connection->ag_vra_send_command = true;
|
||||
hfp_ag_run_for_context(hfp_connection);
|
||||
|
||||
return ERROR_CODE_SUCCESS;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user