mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-25 16:43:28 +00:00
hfp ag: add send to the name of cmds
This commit is contained in:
parent
05d93378f0
commit
485ac19e5f
@ -206,7 +206,7 @@ void hfp_ag_create_sdp_record(uint8_t * service, uint32_t service_record_handle,
|
||||
de_add_number(service, DE_UINT, DE_SIZE_16, sdp_features);
|
||||
}
|
||||
|
||||
static int hfp_ag_change_in_band_ring_tone_setting_cmd(uint16_t cid){
|
||||
static int hfp_ag_send_change_in_band_ring_tone_setting_cmd(uint16_t cid){
|
||||
char buffer[20];
|
||||
sprintf(buffer, "\r\n%s:%d\r\n", HFP_CHANGE_IN_BAND_RING_TONE_SETTING, use_in_band_tone());
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
@ -218,13 +218,13 @@ static int hfp_ag_exchange_supported_features_cmd(uint16_t cid){
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_ok(uint16_t cid){
|
||||
static int hfp_ag_send_ok(uint16_t cid){
|
||||
char buffer[10];
|
||||
sprintf(buffer, "\r\nOK\r\n");
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_ring(uint16_t cid){
|
||||
static int hfp_ag_send_ring(uint16_t cid){
|
||||
return send_str_over_rfcomm(cid, (char *) "\r\nRING\r\n");
|
||||
}
|
||||
|
||||
@ -252,13 +252,13 @@ static int hfp_ag_send_call_waiting_notification(uint16_t cid){
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_error(uint16_t cid){
|
||||
static int hfp_ag_send_error(uint16_t cid){
|
||||
char buffer[10];
|
||||
sprintf(buffer, "\r\nERROR\r\n");
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_report_extended_audio_gateway_error(uint16_t cid, uint8_t error){
|
||||
static int hfp_ag_send_report_extended_audio_gateway_error(uint16_t cid, uint8_t error){
|
||||
char buffer[20];
|
||||
sprintf(buffer, "\r\n%s=%d\r\n", HFP_EXTENDED_AUDIO_GATEWAY_ERROR, error);
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
@ -391,7 +391,7 @@ static int hfp_ag_call_services_join(char * buffer, int buffer_size){
|
||||
return offset;
|
||||
}
|
||||
|
||||
static int hfp_ag_cmd_via_generator(uint16_t cid, hfp_connection_t * hfp_connection,
|
||||
static int hfp_ag_send_cmd_via_generator(uint16_t cid, hfp_connection_t * hfp_connection,
|
||||
int start_segment, int num_segments,
|
||||
int (*get_segment_len)(hfp_connection_t * hfp_connection, int segment),
|
||||
void (*store_segment) (hfp_connection_t * hfp_connection, int segment, uint8_t * buffer)){
|
||||
@ -417,13 +417,13 @@ static int hfp_ag_cmd_via_generator(uint16_t cid, hfp_connection_t * hfp_connect
|
||||
}
|
||||
|
||||
// returns next segment to store
|
||||
static int hfp_ag_retrieve_indicators_cmd_via_generator(uint16_t cid, hfp_connection_t * hfp_connection, int start_segment){
|
||||
static int hfp_ag_send_retrieve_indicators_cmd_via_generator(uint16_t cid, hfp_connection_t * hfp_connection, int start_segment){
|
||||
int num_segments = hfp_ag_indicators_cmd_generator_num_segments(hfp_connection);
|
||||
return hfp_ag_cmd_via_generator(cid, hfp_connection, start_segment, num_segments,
|
||||
return hfp_ag_send_cmd_via_generator(cid, hfp_connection, start_segment, num_segments,
|
||||
hfp_ag_indicators_cmd_generator_get_segment_len, hgp_ag_indicators_cmd_generator_store_segment);
|
||||
}
|
||||
|
||||
static int hfp_ag_retrieve_indicators_status_cmd(uint16_t cid){
|
||||
static int hfp_ag_send_retrieve_indicators_status_cmd(uint16_t cid){
|
||||
char buffer[40];
|
||||
int offset = snprintf(buffer, sizeof(buffer), "\r\n%s:", HFP_INDICATOR);
|
||||
offset += hfp_ag_indicators_status_join(buffer+offset, sizeof(buffer)-offset);
|
||||
@ -435,15 +435,15 @@ static int hfp_ag_retrieve_indicators_status_cmd(uint16_t cid){
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_set_indicator_status_update_cmd(uint16_t cid, uint8_t activate){
|
||||
static int hfp_ag_send_set_indicator_status_update_cmd(uint16_t cid, uint8_t activate){
|
||||
UNUSED(activate);
|
||||
|
||||
// AT\r\n%s:3,0,0,%d\r\n
|
||||
return hfp_ag_ok(cid);
|
||||
return hfp_ag_send_ok(cid);
|
||||
}
|
||||
|
||||
|
||||
static int hfp_ag_retrieve_can_hold_call_cmd(uint16_t cid){
|
||||
static int hfp_ag_send_retrieve_can_hold_call_cmd(uint16_t cid){
|
||||
char buffer[40];
|
||||
int offset = snprintf(buffer, sizeof(buffer), "\r\n%s:", HFP_SUPPORT_CALL_HOLD_AND_MULTIPARTY_SERVICES);
|
||||
offset += hfp_ag_call_services_join(buffer+offset, sizeof(buffer)-offset);
|
||||
@ -456,11 +456,11 @@ static int hfp_ag_retrieve_can_hold_call_cmd(uint16_t cid){
|
||||
}
|
||||
|
||||
|
||||
static int hfp_ag_list_supported_generic_status_indicators_cmd(uint16_t cid){
|
||||
return hfp_ag_ok(cid);
|
||||
static int hfp_ag_send_list_supported_generic_status_indicators_cmd(uint16_t cid){
|
||||
return hfp_ag_send_ok(cid);
|
||||
}
|
||||
|
||||
static int hfp_ag_retrieve_supported_generic_status_indicators_cmd(uint16_t cid){
|
||||
static int hfp_ag_send_retrieve_supported_generic_status_indicators_cmd(uint16_t cid){
|
||||
char buffer[40];
|
||||
int offset = snprintf(buffer, sizeof(buffer), "\r\n%s:(", HFP_GENERIC_STATUS_INDICATOR);
|
||||
offset += hfp_hf_indicators_join(buffer+offset, sizeof(buffer)-offset);
|
||||
@ -472,7 +472,7 @@ static int hfp_ag_retrieve_supported_generic_status_indicators_cmd(uint16_t cid)
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_retrieve_initital_supported_generic_status_indicators_cmd(uint16_t cid){
|
||||
static int hfp_ag_send_retrieve_initital_supported_generic_status_indicators_cmd(uint16_t cid){
|
||||
char buffer[40];
|
||||
int offset = hfp_hf_indicators_initial_status_join(buffer, sizeof(buffer));
|
||||
|
||||
@ -482,13 +482,13 @@ static int hfp_ag_retrieve_initital_supported_generic_status_indicators_cmd(uint
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_transfer_ag_indicators_status_cmd(uint16_t cid, hfp_ag_indicator_t * indicator){
|
||||
static int hfp_ag_send_transfer_ag_indicators_status_cmd(uint16_t cid, hfp_ag_indicator_t * indicator){
|
||||
char buffer[20];
|
||||
sprintf(buffer, "\r\n%s:%d,%d\r\n", HFP_TRANSFER_AG_INDICATOR_STATUS, indicator->index, indicator->status);
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_report_network_operator_name_cmd(uint16_t cid, hfp_network_opearator_t op){
|
||||
static int hfp_ag_send_report_network_operator_name_cmd(uint16_t cid, hfp_network_opearator_t op){
|
||||
char buffer[40];
|
||||
if (strlen(op.name) == 0){
|
||||
sprintf(buffer, "\r\n%s:%d,,\r\n\r\nOK\r\n", HFP_QUERY_OPERATOR_SELECTION, op.mode);
|
||||
@ -499,31 +499,31 @@ static int hfp_ag_report_network_operator_name_cmd(uint16_t cid, hfp_network_ope
|
||||
}
|
||||
|
||||
|
||||
static int hfp_ag_cmd_suggest_codec(uint16_t cid, uint8_t codec){
|
||||
static int hfp_ag_send_suggest_codec_cmd(uint16_t cid, uint8_t codec){
|
||||
char buffer[30];
|
||||
sprintf(buffer, "\r\n%s:%d\r\n", HFP_CONFIRM_COMMON_CODEC, codec);
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_activate_voice_recognition_cmd(uint16_t cid, uint8_t activate_voice_recognition){
|
||||
static int hfp_ag_send_activate_voice_recognition_cmd(uint16_t cid, uint8_t activate_voice_recognition){
|
||||
char buffer[30];
|
||||
sprintf(buffer, "\r\n%s: %d\r\n", HFP_ACTIVATE_VOICE_RECOGNITION, activate_voice_recognition);
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_set_speaker_gain_cmd(uint16_t cid, uint8_t gain){
|
||||
static int hfp_ag_send_set_speaker_gain_cmd(uint16_t cid, uint8_t gain){
|
||||
char buffer[30];
|
||||
sprintf(buffer, "\r\n%s:%d\r\n", HFP_SET_SPEAKER_GAIN, gain);
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_set_microphone_gain_cmd(uint16_t cid, uint8_t gain){
|
||||
static int hfp_ag_send_set_microphone_gain_cmd(uint16_t cid, uint8_t gain){
|
||||
char buffer[30];
|
||||
sprintf(buffer, "\r\n%s:%d\r\n", HFP_SET_MICROPHONE_GAIN, gain);
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
}
|
||||
|
||||
static int hfp_ag_set_response_and_hold(uint16_t cid, int state){
|
||||
static int hfp_ag_send_set_response_and_hold(uint16_t cid, int state){
|
||||
char buffer[30];
|
||||
sprintf(buffer, "\r\n%s: %d\r\n", HFP_RESPONSE_AND_HOLD, state);
|
||||
return send_str_over_rfcomm(cid, buffer);
|
||||
@ -589,7 +589,7 @@ static int codecs_exchange_state_machine(hfp_connection_t * hfp_connection){
|
||||
case HFP_CMD_AVAILABLE_CODECS:
|
||||
if (hfp_connection->state < HFP_SERVICE_LEVEL_CONNECTION_ESTABLISHED){
|
||||
hfp_connection->codecs_state = HFP_CODECS_RECEIVED_LIST;
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -601,30 +601,30 @@ static int codecs_exchange_state_machine(hfp_connection_t * hfp_connection){
|
||||
default:
|
||||
break;
|
||||
}
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
|
||||
case HFP_CMD_TRIGGER_CODEC_CONNECTION_SETUP:
|
||||
hfp_connection->codecs_state = HFP_CODECS_RECEIVED_TRIGGER_CODEC_EXCHANGE;
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
|
||||
case HFP_CMD_AG_SEND_COMMON_CODEC:
|
||||
hfp_connection->codecs_state = HFP_CODECS_AG_SENT_COMMON_CODEC;
|
||||
hfp_connection->suggested_codec = hfp_ag_suggest_codec(hfp_connection);
|
||||
hfp_ag_cmd_suggest_codec(hfp_connection->rfcomm_cid, hfp_connection->suggested_codec);
|
||||
hfp_ag_send_suggest_codec_cmd(hfp_connection->rfcomm_cid, hfp_connection->suggested_codec);
|
||||
return 1;
|
||||
|
||||
case HFP_CMD_HF_CONFIRMED_CODEC:
|
||||
if (hfp_connection->codec_confirmed != hfp_connection->suggested_codec){
|
||||
hfp_connection->codecs_state = HFP_CODECS_ERROR;
|
||||
hfp_ag_error(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_error(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
}
|
||||
hfp_connection->negotiated_codec = hfp_connection->codec_confirmed;
|
||||
hfp_connection->codecs_state = HFP_CODECS_EXCHANGED;
|
||||
log_info("hfp: codec confirmed: %s", hfp_connection->negotiated_codec == HFP_CODEC_MSBC ? "mSBC" : "CVSD");
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
// now, pick link settings
|
||||
hfp_init_link_settings(hfp_connection);
|
||||
return 1;
|
||||
@ -689,7 +689,7 @@ static int hfp_ag_run_for_context_service_level_connection(hfp_connection_t * hf
|
||||
case HFP_CMD_RETRIEVE_AG_INDICATORS_STATUS:
|
||||
if (hfp_connection->state != HFP_W4_RETRIEVE_INDICATORS_STATUS) break;
|
||||
hfp_connection->state = HFP_W4_ENABLE_INDICATORS_STATUS_UPDATE;
|
||||
hfp_ag_retrieve_indicators_status_cmd(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_retrieve_indicators_status_cmd(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
|
||||
case HFP_CMD_ENABLE_INDICATOR_STATUS_UPDATE:
|
||||
@ -701,7 +701,7 @@ static int hfp_ag_run_for_context_service_level_connection(hfp_connection_t * hf
|
||||
} else {
|
||||
hfp_ag_slc_established(hfp_connection);
|
||||
}
|
||||
hfp_ag_set_indicator_status_update_cmd(hfp_connection->rfcomm_cid, 1);
|
||||
hfp_ag_send_set_indicator_status_update_cmd(hfp_connection->rfcomm_cid, 1);
|
||||
return 1;
|
||||
|
||||
case HFP_CMD_SUPPORT_CALL_HOLD_AND_MULTIPARTY_SERVICES:
|
||||
@ -709,7 +709,7 @@ static int hfp_ag_run_for_context_service_level_connection(hfp_connection_t * hf
|
||||
if (has_hf_indicators_feature(hfp_connection)){
|
||||
hfp_connection->state = HFP_W4_LIST_GENERIC_STATUS_INDICATORS;
|
||||
}
|
||||
hfp_ag_retrieve_can_hold_call_cmd(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_retrieve_can_hold_call_cmd(hfp_connection->rfcomm_cid);
|
||||
if (!has_hf_indicators_feature(hfp_connection)){
|
||||
hfp_ag_slc_established(hfp_connection);
|
||||
}
|
||||
@ -718,19 +718,19 @@ static int hfp_ag_run_for_context_service_level_connection(hfp_connection_t * hf
|
||||
case HFP_CMD_LIST_GENERIC_STATUS_INDICATORS:
|
||||
if (hfp_connection->state != HFP_W4_LIST_GENERIC_STATUS_INDICATORS) break;
|
||||
hfp_connection->state = HFP_W4_RETRIEVE_GENERIC_STATUS_INDICATORS;
|
||||
hfp_ag_list_supported_generic_status_indicators_cmd(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_list_supported_generic_status_indicators_cmd(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
|
||||
case HFP_CMD_RETRIEVE_GENERIC_STATUS_INDICATORS:
|
||||
if (hfp_connection->state != HFP_W4_RETRIEVE_GENERIC_STATUS_INDICATORS) break;
|
||||
hfp_connection->state = HFP_W4_RETRIEVE_INITITAL_STATE_GENERIC_STATUS_INDICATORS;
|
||||
hfp_ag_retrieve_supported_generic_status_indicators_cmd(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_retrieve_supported_generic_status_indicators_cmd(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
|
||||
case HFP_CMD_RETRIEVE_GENERIC_STATUS_INDICATORS_STATE:
|
||||
if (hfp_connection->state != HFP_W4_RETRIEVE_INITITAL_STATE_GENERIC_STATUS_INDICATORS) break;
|
||||
hfp_ag_slc_established(hfp_connection);
|
||||
hfp_ag_retrieve_initital_supported_generic_status_indicators_cmd(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_retrieve_initital_supported_generic_status_indicators_cmd(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
default:
|
||||
break;
|
||||
@ -738,7 +738,7 @@ static int hfp_ag_run_for_context_service_level_connection(hfp_connection_t * hf
|
||||
|
||||
switch (hfp_connection->state){
|
||||
case HFP_RETRIEVE_INDICATORS: {
|
||||
int next_segment = hfp_ag_retrieve_indicators_cmd_via_generator(hfp_connection->rfcomm_cid, hfp_connection, hfp_connection->send_ag_indicators_segment);
|
||||
int next_segment = hfp_ag_send_retrieve_indicators_cmd_via_generator(hfp_connection->rfcomm_cid, hfp_connection, hfp_connection->send_ag_indicators_segment);
|
||||
int num_segments = hfp_ag_indicators_cmd_generator_num_segments(hfp_connection);
|
||||
log_info("HFP_CMD_RETRIEVE_AG_INDICATORS next segment %u, num_segments %u", next_segment, num_segments);
|
||||
if (next_segment < num_segments){
|
||||
@ -767,42 +767,42 @@ static int hfp_ag_run_for_context_service_level_connection_queries(hfp_connectio
|
||||
switch(hfp_connection->command){
|
||||
case HFP_CMD_AG_ACTIVATE_VOICE_RECOGNITION:
|
||||
hfp_supported_features = store_bit(hfp_supported_features, HFP_AGSF_VOICE_RECOGNITION_FUNCTION, hfp_connection->ag_activate_voice_recognition);
|
||||
hfp_ag_activate_voice_recognition_cmd(hfp_connection->rfcomm_cid, hfp_connection->ag_activate_voice_recognition);
|
||||
hfp_ag_send_activate_voice_recognition_cmd(hfp_connection->rfcomm_cid, hfp_connection->ag_activate_voice_recognition);
|
||||
return 1;
|
||||
case HFP_CMD_HF_ACTIVATE_VOICE_RECOGNITION:
|
||||
if (get_bit(hfp_supported_features, HFP_AGSF_VOICE_RECOGNITION_FUNCTION)){
|
||||
hfp_supported_features = store_bit(hfp_supported_features, HFP_AGSF_VOICE_RECOGNITION_FUNCTION, hfp_connection->ag_activate_voice_recognition);
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_setup_audio_connection(hfp_connection);
|
||||
} else {
|
||||
hfp_ag_error(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_error(hfp_connection->rfcomm_cid);
|
||||
}
|
||||
return 1;
|
||||
case HFP_CMD_CHANGE_IN_BAND_RING_TONE_SETTING:
|
||||
hfp_ag_change_in_band_ring_tone_setting_cmd(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_change_in_band_ring_tone_setting_cmd(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
case HFP_CMD_QUERY_OPERATOR_SELECTION_NAME:
|
||||
hfp_ag_report_network_operator_name_cmd(hfp_connection->rfcomm_cid, hfp_connection->network_operator);
|
||||
hfp_ag_send_report_network_operator_name_cmd(hfp_connection->rfcomm_cid, hfp_connection->network_operator);
|
||||
return 1;
|
||||
case HFP_CMD_QUERY_OPERATOR_SELECTION_NAME_FORMAT:
|
||||
if (hfp_connection->network_operator.format != 0){
|
||||
hfp_ag_error(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_error(hfp_connection->rfcomm_cid);
|
||||
} else {
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
}
|
||||
return 1;
|
||||
case HFP_CMD_ENABLE_INDIVIDUAL_AG_INDICATOR_STATUS_UPDATE:
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
case HFP_CMD_ENABLE_EXTENDED_AUDIO_GATEWAY_ERROR:
|
||||
if (hfp_connection->extended_audio_gateway_error){
|
||||
hfp_connection->extended_audio_gateway_error = 0;
|
||||
hfp_ag_report_extended_audio_gateway_error(hfp_connection->rfcomm_cid, hfp_connection->extended_audio_gateway_error_value);
|
||||
hfp_ag_send_report_extended_audio_gateway_error(hfp_connection->rfcomm_cid, hfp_connection->extended_audio_gateway_error_value);
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case HFP_CMD_ENABLE_INDICATOR_STATUS_UPDATE:
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
return 1;
|
||||
default:
|
||||
break;
|
||||
@ -1485,7 +1485,7 @@ static void hfp_ag_call_sm(hfp_ag_call_event_t event, hfp_connection_t * hfp_con
|
||||
log_info("AG putting current call on hold for new outgoing calllog_info");
|
||||
hfp_ag_set_callheld_indicator();
|
||||
indicator_index = get_ag_indicator_index_for_name("callheld");
|
||||
hfp_ag_transfer_ag_indicators_status_cmd(hfp_connection->rfcomm_cid, &hfp_ag_indicators[indicator_index]);
|
||||
hfp_ag_send_transfer_ag_indicators_status_cmd(hfp_connection->rfcomm_cid, &hfp_ag_indicators[indicator_index]);
|
||||
}
|
||||
|
||||
// start audio if needed
|
||||
@ -1676,14 +1676,14 @@ static void hfp_run_for_context(hfp_connection_t *hfp_connection){
|
||||
hfp_connection->ok_pending = 0;
|
||||
hfp_connection->send_error = 0;
|
||||
hfp_connection->command = HFP_CMD_NONE;
|
||||
hfp_ag_error(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_error(hfp_connection->rfcomm_cid);
|
||||
return;
|
||||
}
|
||||
|
||||
if (hfp_connection->send_error){
|
||||
hfp_connection->send_error = 0;
|
||||
hfp_connection->command = HFP_CMD_NONE;
|
||||
hfp_ag_error(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_error(hfp_connection->rfcomm_cid);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1691,14 +1691,14 @@ static void hfp_run_for_context(hfp_connection_t *hfp_connection){
|
||||
if (hfp_connection->send_response_and_hold_status){
|
||||
int status = hfp_connection->send_response_and_hold_status - 1;
|
||||
hfp_connection->send_response_and_hold_status = 0;
|
||||
hfp_ag_set_response_and_hold(hfp_connection->rfcomm_cid, status);
|
||||
hfp_ag_send_set_response_and_hold(hfp_connection->rfcomm_cid, status);
|
||||
return;
|
||||
}
|
||||
|
||||
if (hfp_connection->ok_pending){
|
||||
hfp_connection->ok_pending = 0;
|
||||
hfp_connection->command = HFP_CMD_NONE;
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1712,7 +1712,7 @@ static void hfp_run_for_context(hfp_connection_t *hfp_connection){
|
||||
log_info("+CMER:3,0,0,0 - not sending update for '%s'", hfp_ag_indicators[i].name);
|
||||
break;
|
||||
}
|
||||
hfp_ag_transfer_ag_indicators_status_cmd(hfp_connection->rfcomm_cid, &hfp_ag_indicators[i]);
|
||||
hfp_ag_send_transfer_ag_indicators_status_cmd(hfp_connection->rfcomm_cid, &hfp_ag_indicators[i]);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1721,7 +1721,7 @@ static void hfp_run_for_context(hfp_connection_t *hfp_connection){
|
||||
if (hfp_connection->ag_ring){
|
||||
hfp_connection->ag_ring = 0;
|
||||
hfp_connection->command = HFP_CMD_NONE;
|
||||
hfp_ag_ring(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ring(hfp_connection->rfcomm_cid);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1747,28 +1747,29 @@ static void hfp_run_for_context(hfp_connection_t *hfp_connection){
|
||||
} else {
|
||||
hfp_connection->send_subscriber_number = 0;
|
||||
hfp_connection->next_subscriber_number_to_send = 0;
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
}
|
||||
hfp_connection->command = HFP_CMD_NONE;
|
||||
|
||||
}
|
||||
|
||||
if (hfp_connection->send_microphone_gain){
|
||||
hfp_connection->send_microphone_gain = 0;
|
||||
hfp_connection->command = HFP_CMD_NONE;
|
||||
hfp_ag_set_microphone_gain_cmd(hfp_connection->rfcomm_cid, hfp_connection->microphone_gain);
|
||||
hfp_ag_send_set_microphone_gain_cmd(hfp_connection->rfcomm_cid, hfp_connection->microphone_gain);
|
||||
return;
|
||||
}
|
||||
|
||||
if (hfp_connection->send_speaker_gain){
|
||||
hfp_connection->send_speaker_gain = 0;
|
||||
hfp_connection->command = HFP_CMD_NONE;
|
||||
hfp_ag_set_speaker_gain_cmd(hfp_connection->rfcomm_cid, hfp_connection->speaker_gain);
|
||||
hfp_ag_send_set_speaker_gain_cmd(hfp_connection->rfcomm_cid, hfp_connection->speaker_gain);
|
||||
return;
|
||||
}
|
||||
|
||||
if (hfp_connection->send_ag_status_indicators){
|
||||
hfp_connection->send_ag_status_indicators = 0;
|
||||
hfp_ag_retrieve_indicators_status_cmd(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_retrieve_indicators_status_cmd(hfp_connection->rfcomm_cid);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -1901,7 +1902,7 @@ static void hfp_handle_rfcomm_data(uint8_t packet_type, uint16_t channel, uint8_
|
||||
break;
|
||||
case HFP_CMD_GET_SUBSCRIBER_NUMBER_INFORMATION:
|
||||
if (subscriber_numbers_count == 0){
|
||||
hfp_ag_ok(hfp_connection->rfcomm_cid);
|
||||
hfp_ag_send_ok(hfp_connection->rfcomm_cid);
|
||||
break;
|
||||
}
|
||||
hfp_connection->next_subscriber_number_to_send = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user