hfp test: write user commands to the log file

This commit is contained in:
Milanka Ringwald 2015-12-04 16:49:21 +01:00
parent 3723a70091
commit c926bcaeb6
3 changed files with 102 additions and 42 deletions

View File

@ -74,6 +74,13 @@ with open (infile, 'rb') as fin:
print separator+spaces+"\""+cmd+"\"", print separator+spaces+"\""+cmd+"\"",
separator = ",\n" separator = ",\n"
else:
parts = re.match('USER:\'(.*)\'.*',packet)
if parts:
cmd = 'USER:'+parts.groups()[0]
print separator+spaces+"\""+cmd+"\"",
separator = ",\n"
except TypeError: except TypeError:
print "\n};\n" print "\n};\n"

View File

@ -354,38 +354,38 @@ static int stdin_process(struct data_source *ds){
switch (cmd){ switch (cmd){
case 'a': case 'a':
memcpy(device_addr, pts_addr, 6); memcpy(device_addr, pts_addr, 6);
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Establish HFP service level connection to PTS module %s...\n", bd_addr_to_str(device_addr)); printf("Establish HFP service level connection to PTS module %s...\n", bd_addr_to_str(device_addr));
hfp_ag_establish_service_level_connection(device_addr); hfp_ag_establish_service_level_connection(device_addr);
break; break;
case 'A': case 'A':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Release HFP service level connection.\n"); printf("Release HFP service level connection.\n");
hfp_ag_release_service_level_connection(device_addr); hfp_ag_release_service_level_connection(device_addr);
break; break;
case 'z': case 'z':
memcpy(device_addr, speaker_addr, 6); memcpy(device_addr, speaker_addr, 6);
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Establish HFP service level connection to %s...\n", bd_addr_to_str(device_addr)); printf("Establish HFP service level connection to %s...\n", bd_addr_to_str(device_addr));
hfp_ag_establish_service_level_connection(device_addr); hfp_ag_establish_service_level_connection(device_addr);
break; break;
case 'Z': case 'Z':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Release HFP service level connection to %s...\n", bd_addr_to_str(device_addr)); printf("Release HFP service level connection to %s...\n", bd_addr_to_str(device_addr));
hfp_ag_release_service_level_connection(device_addr); hfp_ag_release_service_level_connection(device_addr);
break; break;
case 'b': case 'b':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Establish Audio connection %s...\n", bd_addr_to_str(device_addr)); printf("Establish Audio connection %s...\n", bd_addr_to_str(device_addr));
hfp_ag_establish_audio_connection(device_addr); hfp_ag_establish_audio_connection(device_addr);
break; break;
case 'B': case 'B':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Release Audio connection.\n"); printf("Release Audio connection.\n");
hfp_ag_release_audio_connection(device_addr); hfp_ag_release_audio_connection(device_addr);
break; break;
case 'c': case 'c':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Simulate incoming call from 1234567\n"); printf("Simulate incoming call from 1234567\n");
current_call_exists_a = 1; current_call_exists_a = 1;
current_call_status_a = HFP_ENHANCED_CALL_STATUS_INCOMING; current_call_status_a = HFP_ENHANCED_CALL_STATUS_INCOMING;
@ -394,7 +394,7 @@ static int stdin_process(struct data_source *ds){
hfp_ag_incoming_call(); hfp_ag_incoming_call();
break; break;
case 'm': case 'm':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Simulate incoming call from 7654321\n"); printf("Simulate incoming call from 7654321\n");
current_call_exists_b = 1; current_call_exists_b = 1;
current_call_status_b = HFP_ENHANCED_CALL_STATUS_INCOMING; current_call_status_b = HFP_ENHANCED_CALL_STATUS_INCOMING;
@ -403,17 +403,17 @@ static int stdin_process(struct data_source *ds){
hfp_ag_incoming_call(); hfp_ag_incoming_call();
break; break;
case 'C': case 'C':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Simulate terminate call\n"); printf("Simulate terminate call\n");
hfp_ag_call_dropped(); hfp_ag_call_dropped();
break; break;
case 'd': case 'd':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Report AG failure\n"); printf("Report AG failure\n");
hfp_ag_report_extended_audio_gateway_error_result_code(device_addr, HFP_CME_ERROR_AG_FAILURE); hfp_ag_report_extended_audio_gateway_error_result_code(device_addr, HFP_CME_ERROR_AG_FAILURE);
break; break;
case 'e': case 'e':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Answer call on AG\n"); printf("Answer call on AG\n");
if (current_call_status_a == HFP_ENHANCED_CALL_STATUS_INCOMING){ if (current_call_status_a == HFP_ENHANCED_CALL_STATUS_INCOMING){
current_call_status_a = HFP_ENHANCED_CALL_STATUS_ACTIVE; current_call_status_a = HFP_ENHANCED_CALL_STATUS_ACTIVE;
@ -424,142 +424,142 @@ static int stdin_process(struct data_source *ds){
hfp_ag_answer_incoming_call(); hfp_ag_answer_incoming_call();
break; break;
case 'E': case 'E':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Reject call on AG\n"); printf("Reject call on AG\n");
hfp_ag_terminate_call(); hfp_ag_terminate_call();
break; break;
case 'f': case 'f':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Disable cellular network\n"); printf("Disable cellular network\n");
hfp_ag_set_registration_status(0); hfp_ag_set_registration_status(0);
break; break;
case 'F': case 'F':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Enable cellular network\n"); printf("Enable cellular network\n");
hfp_ag_set_registration_status(1); hfp_ag_set_registration_status(1);
break; break;
case 'g': case 'g':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set signal strength to 0\n"); printf("Set signal strength to 0\n");
hfp_ag_set_signal_strength(0); hfp_ag_set_signal_strength(0);
break; break;
case 'G': case 'G':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set signal strength to 5\n"); printf("Set signal strength to 5\n");
hfp_ag_set_signal_strength(5); hfp_ag_set_signal_strength(5);
break; break;
case 'h': case 'h':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Disable roaming\n"); printf("Disable roaming\n");
hfp_ag_set_roaming_status(0); hfp_ag_set_roaming_status(0);
break; break;
case 'H': case 'H':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Enable roaming\n"); printf("Enable roaming\n");
hfp_ag_set_roaming_status(1); hfp_ag_set_roaming_status(1);
break; break;
case 'i': case 'i':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set battery level to 3\n"); printf("Set battery level to 3\n");
hfp_ag_set_battery_level(3); hfp_ag_set_battery_level(3);
break; break;
case 'I': case 'I':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set battery level to 5\n"); printf("Set battery level to 5\n");
hfp_ag_set_battery_level(5); hfp_ag_set_battery_level(5);
break; break;
case 'j': case 'j':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Answering call on remote side\n"); printf("Answering call on remote side\n");
hfp_ag_outgoing_call_established(); hfp_ag_outgoing_call_established();
break; break;
case 'r': case 'r':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Disable in-band ring tone\n"); printf("Disable in-band ring tone\n");
hfp_ag_set_use_in_band_ring_tone(0); hfp_ag_set_use_in_band_ring_tone(0);
break; break;
case 'k': case 'k':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Memory 1 cleared\n"); printf("Memory 1 cleared\n");
memory_1_enabled = 0; memory_1_enabled = 0;
break; break;
case 'K': case 'K':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Memory 1 set\n"); printf("Memory 1 set\n");
memory_1_enabled = 1; memory_1_enabled = 1;
break; break;
case 'l': case 'l':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Last dialed number cleared\n"); printf("Last dialed number cleared\n");
last_number_exists = 0; last_number_exists = 0;
break; break;
case 'L': case 'L':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Last dialed number set\n"); printf("Last dialed number set\n");
last_number_exists = 1; last_number_exists = 1;
break; break;
case 'n': case 'n':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Disable Voice Recognition\n"); printf("Disable Voice Recognition\n");
hfp_ag_activate_voice_recognition(device_addr, 0); hfp_ag_activate_voice_recognition(device_addr, 0);
break; break;
case 'N': case 'N':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Enable Voice Recognition\n"); printf("Enable Voice Recognition\n");
hfp_ag_activate_voice_recognition(device_addr, 1); hfp_ag_activate_voice_recognition(device_addr, 1);
break; break;
case 'o': case 'o':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 0 (minimum)\n"); printf("Set speaker gain to 0 (minimum)\n");
hfp_ag_set_speaker_gain(device_addr, 0); hfp_ag_set_speaker_gain(device_addr, 0);
break; break;
case 'O': case 'O':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 9 (default)\n"); printf("Set speaker gain to 9 (default)\n");
hfp_ag_set_speaker_gain(device_addr, 9); hfp_ag_set_speaker_gain(device_addr, 9);
break; break;
case 'p': case 'p':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 12 (higher)\n"); printf("Set speaker gain to 12 (higher)\n");
hfp_ag_set_speaker_gain(device_addr, 12); hfp_ag_set_speaker_gain(device_addr, 12);
break; break;
case 'P': case 'P':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 15 (maximum)\n"); printf("Set speaker gain to 15 (maximum)\n");
hfp_ag_set_speaker_gain(device_addr, 15); hfp_ag_set_speaker_gain(device_addr, 15);
break; break;
case 'q': case 'q':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 0\n"); printf("Set microphone gain to 0\n");
hfp_ag_set_microphone_gain(device_addr, 0); hfp_ag_set_microphone_gain(device_addr, 0);
break; break;
case 'Q': case 'Q':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 9\n"); printf("Set microphone gain to 9\n");
hfp_ag_set_microphone_gain(device_addr, 9); hfp_ag_set_microphone_gain(device_addr, 9);
break; break;
case 's': case 's':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 12\n"); printf("Set microphone gain to 12\n");
hfp_ag_set_microphone_gain(device_addr, 12); hfp_ag_set_microphone_gain(device_addr, 12);
break; break;
case 'S': case 'S':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 15\n"); printf("Set microphone gain to 15\n");
hfp_ag_set_microphone_gain(device_addr, 15); hfp_ag_set_microphone_gain(device_addr, 15);
break; break;
case 'R': case 'R':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Enable in-band ring tone\n"); printf("Enable in-band ring tone\n");
hfp_ag_set_use_in_band_ring_tone(1); hfp_ag_set_use_in_band_ring_tone(1);
break; break;
case 't': case 't':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Terminate HCI connection.\n"); printf("Terminate HCI connection.\n");
gap_disconnect(handle); gap_disconnect(handle);
break; break;
case 'u': case 'u':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("Join held call\n"); printf("Join held call\n");
current_call_mpty = HFP_ENHANCED_CALL_MPTY_CONFERENCE_CALL; current_call_mpty = HFP_ENHANCED_CALL_MPTY_CONFERENCE_CALL;
hfp_ag_join_held_call(); hfp_ag_join_held_call();
@ -568,17 +568,17 @@ static int stdin_process(struct data_source *ds){
start_scan(); start_scan();
break; break;
case 'w': case 'w':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("AG: Put incoming call on hold (Response and Hold)\n"); printf("AG: Put incoming call on hold (Response and Hold)\n");
hfp_ag_hold_incoming_call(); hfp_ag_hold_incoming_call();
break; break;
case 'x': case 'x':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("AG: Accept held incoming call (Response and Hold)\n"); printf("AG: Accept held incoming call (Response and Hold)\n");
hfp_ag_accept_held_incoming_call(); hfp_ag_accept_held_incoming_call();
break; break;
case 'X': case 'X':
printf("USER:%c ", cmd); log_info("USER:\'%c\'", cmd);
printf("AG: Reject held incoming call (Response and Hold)\n"); printf("AG: Reject held incoming call (Response and Hold)\n");
hfp_ag_reject_held_incoming_call(); hfp_ag_reject_held_incoming_call();
break; break;

View File

@ -187,213 +187,266 @@ static int stdin_process(struct data_source *ds){
case '-': case '-':
case '+': case '+':
case '*': case '*':
log_info("USER:\'%c\'", cmd);
printf("DTMF Code: %c\n", cmd); printf("DTMF Code: %c\n", cmd);
hfp_hf_send_dtmf_code(device_addr, cmd); hfp_hf_send_dtmf_code(device_addr, cmd);
break; break;
case 'a': case 'a':
log_info("USER:\'%c\'", cmd);
printf("Establish Service level connection to device with Bluetooth address %s...\n", bd_addr_to_str(device_addr)); printf("Establish Service level connection to device with Bluetooth address %s...\n", bd_addr_to_str(device_addr));
hfp_hf_establish_service_level_connection(device_addr); hfp_hf_establish_service_level_connection(device_addr);
break; break;
case 'A': case 'A':
log_info("USER:\'%c\'", cmd);
printf("Release Service level connection.\n"); printf("Release Service level connection.\n");
hfp_hf_release_service_level_connection(device_addr); hfp_hf_release_service_level_connection(device_addr);
break; break;
case 'b': case 'b':
log_info("USER:\'%c\'", cmd);
printf("Establish Audio connection to device with Bluetooth address %s...\n", bd_addr_to_str(device_addr)); printf("Establish Audio connection to device with Bluetooth address %s...\n", bd_addr_to_str(device_addr));
hfp_hf_establish_audio_connection(device_addr); hfp_hf_establish_audio_connection(device_addr);
break; break;
case 'B': case 'B':
log_info("USER:\'%c\'", cmd);
printf("Release Audio service level connection.\n"); printf("Release Audio service level connection.\n");
hfp_hf_release_audio_connection(device_addr); hfp_hf_release_audio_connection(device_addr);
break; break;
case 'C': case 'C':
log_info("USER:\'%c\'", cmd);
printf("Enable registration status update for all AG indicators.\n"); printf("Enable registration status update for all AG indicators.\n");
hfp_hf_enable_status_update_for_all_ag_indicators(device_addr); hfp_hf_enable_status_update_for_all_ag_indicators(device_addr);
case 'c': case 'c':
log_info("USER:\'%c\'", cmd);
printf("Disable registration status update for all AG indicators.\n"); printf("Disable registration status update for all AG indicators.\n");
hfp_hf_disable_status_update_for_all_ag_indicators(device_addr); hfp_hf_disable_status_update_for_all_ag_indicators(device_addr);
break; break;
case 'D': case 'D':
log_info("USER:\'%c\'", cmd);
printf("Set HFP AG registration status update for individual indicators (0111111).\n"); printf("Set HFP AG registration status update for individual indicators (0111111).\n");
hfp_hf_set_status_update_for_individual_ag_indicators(device_addr, 63); hfp_hf_set_status_update_for_individual_ag_indicators(device_addr, 63);
break; break;
case 'd': case 'd':
log_info("USER:\'%c\'", cmd);
printf("Query network operator.\n"); printf("Query network operator.\n");
hfp_hf_query_operator_selection(device_addr); hfp_hf_query_operator_selection(device_addr);
break; break;
case 'E': case 'E':
log_info("USER:\'%c\'", cmd);
printf("Enable reporting of the extended AG error result code.\n"); printf("Enable reporting of the extended AG error result code.\n");
hfp_hf_enable_report_extended_audio_gateway_error_result_code(device_addr); hfp_hf_enable_report_extended_audio_gateway_error_result_code(device_addr);
break; break;
case 'e': case 'e':
log_info("USER:\'%c\'", cmd);
printf("Disable reporting of the extended AG error result code.\n"); printf("Disable reporting of the extended AG error result code.\n");
hfp_hf_disable_report_extended_audio_gateway_error_result_code(device_addr); hfp_hf_disable_report_extended_audio_gateway_error_result_code(device_addr);
break; break;
case 'f': case 'f':
log_info("USER:\'%c\'", cmd);
printf("Answer incoming call.\n"); printf("Answer incoming call.\n");
hfp_hf_answer_incoming_call(device_addr); hfp_hf_answer_incoming_call(device_addr);
break; break;
case 'F': case 'F':
log_info("USER:\'%c\'", cmd);
printf("Hangup call.\n"); printf("Hangup call.\n");
hfp_hf_terminate_call(device_addr); hfp_hf_terminate_call(device_addr);
break; break;
case 'G': case 'G':
log_info("USER:\'%c\'", cmd);
printf("Reject call.\n"); printf("Reject call.\n");
hfp_hf_reject_call(device_addr); hfp_hf_reject_call(device_addr);
break; break;
case 'g': case 'g':
log_info("USER:\'%c\'", cmd);
printf("Query operator.\n"); printf("Query operator.\n");
hfp_hf_query_operator_selection(device_addr); hfp_hf_query_operator_selection(device_addr);
break; break;
case 't': case 't':
log_info("USER:\'%c\'", cmd);
printf("Terminate HCI connection.\n"); printf("Terminate HCI connection.\n");
gap_disconnect(handle); gap_disconnect(handle);
break; break;
case 'i': case 'i':
log_info("USER:\'%c\'", cmd);
printf("Dial 1234567\n"); printf("Dial 1234567\n");
hfp_hf_dial_number(device_addr, "1234567"); hfp_hf_dial_number(device_addr, "1234567");
break; break;
case 'I': case 'I':
log_info("USER:\'%c\'", cmd);
printf("Dial 7654321\n"); printf("Dial 7654321\n");
hfp_hf_dial_number(device_addr, "7654321"); hfp_hf_dial_number(device_addr, "7654321");
break; break;
case 'j': case 'j':
log_info("USER:\'%c\'", cmd);
printf("Dial #1\n"); printf("Dial #1\n");
hfp_hf_dial_memory(device_addr,"1"); hfp_hf_dial_memory(device_addr,"1");
break; break;
case 'J': case 'J':
log_info("USER:\'%c\'", cmd);
printf("Dial #99\n"); printf("Dial #99\n");
hfp_hf_dial_memory(device_addr,"99"); hfp_hf_dial_memory(device_addr,"99");
break; break;
case 'k': case 'k':
log_info("USER:\'%c\'", cmd);
printf("Deactivate call waiting notification\n"); printf("Deactivate call waiting notification\n");
hfp_hf_deactivate_call_waiting_notification(device_addr); hfp_hf_deactivate_call_waiting_notification(device_addr);
break; break;
case 'K': case 'K':
log_info("USER:\'%c\'", cmd);
printf("Activate call waiting notification\n"); printf("Activate call waiting notification\n");
hfp_hf_activate_call_waiting_notification(device_addr); hfp_hf_activate_call_waiting_notification(device_addr);
break; break;
case 'l': case 'l':
log_info("USER:\'%c\'", cmd);
printf("Deactivate calling line notification\n"); printf("Deactivate calling line notification\n");
hfp_hf_deactivate_calling_line_notification(device_addr); hfp_hf_deactivate_calling_line_notification(device_addr);
break; break;
case 'L': case 'L':
log_info("USER:\'%c\'", cmd);
printf("Activate calling line notification\n"); printf("Activate calling line notification\n");
hfp_hf_activate_calling_line_notification(device_addr); hfp_hf_activate_calling_line_notification(device_addr);
break; break;
case 'm': case 'm':
log_info("USER:\'%c\'", cmd);
printf("Deactivate echo canceling and noise reduction\n"); printf("Deactivate echo canceling and noise reduction\n");
hfp_hf_deactivate_echo_canceling_and_noise_reduction(device_addr); hfp_hf_deactivate_echo_canceling_and_noise_reduction(device_addr);
break; break;
case 'M': case 'M':
log_info("USER:\'%c\'", cmd);
printf("Activate echo canceling and noise reduction\n"); printf("Activate echo canceling and noise reduction\n");
hfp_hf_activate_echo_canceling_and_noise_reduction(device_addr); hfp_hf_activate_echo_canceling_and_noise_reduction(device_addr);
break; break;
case 'n': case 'n':
log_info("USER:\'%c\'", cmd);
printf("Deactivate voice recognition\n"); printf("Deactivate voice recognition\n");
hfp_hf_deactivate_voice_recognition_notification(device_addr); hfp_hf_deactivate_voice_recognition_notification(device_addr);
break; break;
case 'N': case 'N':
log_info("USER:\'%c\'", cmd);
printf("Activate voice recognition\n"); printf("Activate voice recognition\n");
hfp_hf_activate_voice_recognition_notification(device_addr); hfp_hf_activate_voice_recognition_notification(device_addr);
break; break;
case 'o': case 'o':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 0 (minimum)\n"); printf("Set speaker gain to 0 (minimum)\n");
hfp_hf_set_speaker_gain(device_addr, 0); hfp_hf_set_speaker_gain(device_addr, 0);
break; break;
case 'O': case 'O':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 9 (default)\n"); printf("Set speaker gain to 9 (default)\n");
hfp_hf_set_speaker_gain(device_addr, 9); hfp_hf_set_speaker_gain(device_addr, 9);
break; break;
case 'p': case 'p':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 12 (higher)\n"); printf("Set speaker gain to 12 (higher)\n");
hfp_hf_set_speaker_gain(device_addr, 12); hfp_hf_set_speaker_gain(device_addr, 12);
break; break;
case 'P': case 'P':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 15 (maximum)\n"); printf("Set speaker gain to 15 (maximum)\n");
hfp_hf_set_speaker_gain(device_addr, 15); hfp_hf_set_speaker_gain(device_addr, 15);
break; break;
case 'q': case 'q':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 0\n"); printf("Set microphone gain to 0\n");
hfp_hf_set_microphone_gain(device_addr, 0); hfp_hf_set_microphone_gain(device_addr, 0);
break; break;
case 'Q': case 'Q':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 9\n"); printf("Set microphone gain to 9\n");
hfp_hf_set_microphone_gain(device_addr, 9); hfp_hf_set_microphone_gain(device_addr, 9);
break; break;
case 's': case 's':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 12\n"); printf("Set microphone gain to 12\n");
hfp_hf_set_microphone_gain(device_addr, 12); hfp_hf_set_microphone_gain(device_addr, 12);
break; break;
case 'S': case 'S':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 15\n"); printf("Set microphone gain to 15\n");
hfp_hf_set_microphone_gain(device_addr, 15); hfp_hf_set_microphone_gain(device_addr, 15);
break; break;
case 'u': case 'u':
log_info("USER:\'%c\'", cmd);
printf("Send 'user busy' (Three-Way Call 0)\n"); printf("Send 'user busy' (Three-Way Call 0)\n");
hfp_hf_user_busy(device_addr); hfp_hf_user_busy(device_addr);
break; break;
case 'U': case 'U':
log_info("USER:\'%c\'", cmd);
printf("End active call and accept waiting/held call (Three-Way Call 1)\n"); printf("End active call and accept waiting/held call (Three-Way Call 1)\n");
hfp_hf_end_active_and_accept_other(device_addr); hfp_hf_end_active_and_accept_other(device_addr);
break; break;
case 'v': case 'v':
log_info("USER:\'%c\'", cmd);
printf("Swap active call and hold/waiting call (Three-Way Call 2)\n"); printf("Swap active call and hold/waiting call (Three-Way Call 2)\n");
hfp_hf_swap_calls(device_addr); hfp_hf_swap_calls(device_addr);
break; break;
case 'V': case 'V':
log_info("USER:\'%c\'", cmd);
printf("Join hold call (Three-Way Call 3)\n"); printf("Join hold call (Three-Way Call 3)\n");
hfp_hf_join_held_call(device_addr); hfp_hf_join_held_call(device_addr);
break; break;
case 'w': case 'w':
log_info("USER:\'%c\'", cmd);
printf("Connect calls (Three-Way Call 4)\n"); printf("Connect calls (Three-Way Call 4)\n");
hfp_hf_connect_calls(device_addr); hfp_hf_connect_calls(device_addr);
break; break;
case 'W': case 'W':
log_info("USER:\'%c\'", cmd);
printf("Redial\n"); printf("Redial\n");
hfp_hf_redial_last_number(device_addr); hfp_hf_redial_last_number(device_addr);
break; break;
case 'x': case 'x':
log_info("USER:\'%c\'", cmd);
printf("Request phone number for voice tag\n"); printf("Request phone number for voice tag\n");
hfp_hf_request_phone_number_for_voice_tag(device_addr); hfp_hf_request_phone_number_for_voice_tag(device_addr);
break; break;
case 'X': case 'X':
log_info("USER:\'%c\'", cmd);
printf("Query current call status\n"); printf("Query current call status\n");
hfp_hf_query_current_call_status(device_addr); hfp_hf_query_current_call_status(device_addr);
break; break;
case 'y': case 'y':
log_info("USER:\'%c\'", cmd);
printf("Release call with index 2\n"); printf("Release call with index 2\n");
hfp_hf_release_call_with_index(device_addr, 2); hfp_hf_release_call_with_index(device_addr, 2);
break; break;
case 'Y': case 'Y':
log_info("USER:\'%c\'", cmd);
printf("Private consulation with call 2\n"); printf("Private consulation with call 2\n");
hfp_hf_private_consultation_with_call(device_addr, 2); hfp_hf_private_consultation_with_call(device_addr, 2);
break; break;
case 'z': case 'z':
memcpy(device_addr, phone_addr, 6); memcpy(device_addr, phone_addr, 6);
log_info("USER:\'%c\'", cmd);
printf("Use iPhone %s as Audiogateway.\n", bd_addr_to_str(device_addr)); printf("Use iPhone %s as Audiogateway.\n", bd_addr_to_str(device_addr));
break; break;
case '[': case '[':
log_info("USER:\'%c\'", cmd);
printf("Query Response and Hold status (RHH ?)\n"); printf("Query Response and Hold status (RHH ?)\n");
hfp_hf_rrh_query_status(device_addr); hfp_hf_rrh_query_status(device_addr);
break; break;
case ']': case ']':
log_info("USER:\'%c\'", cmd);
printf("Place call in a response and held state (RHH 0)\n"); printf("Place call in a response and held state (RHH 0)\n");
hfp_hf_rrh_hold_call(device_addr); hfp_hf_rrh_hold_call(device_addr);
break; break;
case '{': case '{':
log_info("USER:\'%c\'", cmd);
printf("Accept held call (RHH 1)\n"); printf("Accept held call (RHH 1)\n");
hfp_hf_rrh_accept_held_call(device_addr); hfp_hf_rrh_accept_held_call(device_addr);
break; break;
case '}': case '}':
log_info("USER:\'%c\'", cmd);
printf("Reject held call (RHH 2)\n"); printf("Reject held call (RHH 2)\n");
hfp_hf_rrh_reject_held_call(device_addr); hfp_hf_rrh_reject_held_call(device_addr);
break; break;
case '?': case '?':
log_info("USER:\'%c\'", cmd);
printf("Query Subscriber Number\n"); printf("Query Subscriber Number\n");
hfp_hf_query_subscriber_number(device_addr); hfp_hf_query_subscriber_number(device_addr);
break; break;
case '!': case '!':
log_info("USER:\'%c\'", cmd);
printf("Update HF indicator with assigned number 1 (HFI)\n"); printf("Update HF indicator with assigned number 1 (HFI)\n");
hfp_hf_set_hf_indicator(device_addr, 1, 1); hfp_hf_set_hf_indicator(device_addr, 1, 1);
break; break;