static void bta_hf_client_send_at(tBTA_HF_CLIENT_AT_CMD cmd, char *buf, UINT16 buf_len) { if ((bta_hf_client_cb.scb.at_cb.current_cmd == BTA_HF_CLIENT_AT_NONE || bta_hf_client_cb.scb.svc_conn == FALSE) && bta_hf_client_cb.scb.at_cb.hold_timer_on == FALSE) { UINT16 len; #ifdef BTA_HF_CLIENT_AT_DUMP APPL_TRACE_DEBUG("%s %.*s", __FUNCTION__, buf_len - 1, buf); #endif bta_hf_client_cb.scb.at_cb.current_cmd = cmd; /* Generate fake responses for these because they won't reliably work */ if (!service_availability && (cmd == BTA_HF_CLIENT_AT_CNUM || cmd == BTA_HF_CLIENT_AT_COPS)) { APPL_TRACE_WARNING("%s: No service, skipping %d command", __FUNCTION__, cmd); bta_hf_client_handle_ok(); return; } PORT_WriteData(bta_hf_client_cb.scb.conn_handle, buf, buf_len, &len); bta_hf_client_start_at_resp_timer(); return; } bta_hf_client_queue_at(cmd, buf, buf_len); }
static void bta_hf_client_send_at(tBTA_HF_CLIENT_AT_CMD cmd, char *buf, UINT16 buf_len) { if ((bta_hf_client_cb.scb.at_cb.current_cmd == BTA_HF_CLIENT_AT_NONE || bta_hf_client_cb.scb.svc_conn == FALSE) && bta_hf_client_cb.scb.at_cb.hold_timer_on == FALSE) { UINT16 len; #ifdef BTA_HF_CLIENT_AT_DUMP APPL_TRACE_DEBUG3("%s %.*s", __FUNCTION__, buf_len - 1, buf); #endif bta_hf_client_cb.scb.at_cb.current_cmd = cmd; PORT_WriteData(bta_hf_client_cb.scb.conn_handle, buf, buf_len, &len); bta_hf_client_start_at_resp_timer(); return; } bta_hf_client_queue_at(cmd, buf, buf_len); }