From 22587df049551aeae7b0637ff385c6af259b2679 Mon Sep 17 00:00:00 2001 From: Milanka Ringwald Date: Fri, 14 Dec 2018 11:11:16 +0100 Subject: [PATCH] hfp_hf_demo: use API calls to access event values, remove ag indicatior status on initial retrieval --- example/hfp_hf_demo.c | 19 ++++++++++++++----- src/classic/hfp_hf.c | 1 - test/hfp/hfp_hf_client_test.c | 30 +++++++++++++++++++++++------- 3 files changed, 37 insertions(+), 13 deletions(-) diff --git a/example/hfp_hf_demo.c b/example/hfp_hf_demo.c index 6f84ecc04..35ea610ad 100644 --- a/example/hfp_hf_demo.c +++ b/example/hfp_hf_demo.c @@ -515,22 +515,31 @@ static void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t * even (const char*) hfp_subevent_ag_indicator_status_changed_get_indicator_name(event)); break; case HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED: - printf("NETWORK_OPERATOR_CHANGED, operator mode: %d, format: %d, name: %s\n", event[3], event[4], (char *) &event[5]); + printf("NETWORK_OPERATOR_CHANGED, operator mode: %d, format: %d, name: %s\n", + hfp_subevent_network_operator_changed_get_network_operator_mode(event), + hfp_subevent_network_operator_changed_get_network_operator_format(event), + (char *) hfp_subevent_network_operator_changed_get_network_operator_name(event)); break; case HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR: - printf("EXTENDED_AUDIO_GATEWAY_ERROR_REPORT, status : %d\n", event[3]); + printf("EXTENDED_AUDIO_GATEWAY_ERROR_REPORT, status : %d\n", + hfp_subevent_extended_audio_gateway_error_get_error(event)); break; case HFP_SUBEVENT_RING: printf("** Ring **\n"); break; case HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG: - printf("Phone number for voice tag: %s\n", (const char *) &event[3]); + printf("Phone number for voice tag: %s\n", + (const char *) hfp_subevent_number_for_voice_tag_get_number(event)); break; case HFP_SUBEVENT_SPEAKER_VOLUME: - printf("Speaker volume: %u\n", event[3]); + printf("Speaker volume: status %u, gain %u\n", + hfp_subevent_speaker_volume_get_status(event), + hfp_subevent_speaker_volume_get_gain(event)); break; case HFP_SUBEVENT_MICROPHONE_VOLUME: - printf("Microphone volume: %u\n", event[3]); + printf("Microphone volume: status %u, gain %u\n", + hfp_subevent_microphone_volume_get_status(event), + hfp_subevent_microphone_volume_get_gain(event)); break; case HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION: printf("Caller ID, number %s\n", hfp_subevent_calling_line_identification_notification_get_number(event)); diff --git a/src/classic/hfp_hf.c b/src/classic/hfp_hf.c index 71a82798d..215d9c36d 100644 --- a/src/classic/hfp_hf.c +++ b/src/classic/hfp_hf.c @@ -1090,7 +1090,6 @@ static void hfp_hf_handle_rfcomm_event(uint8_t packet_type, uint16_t channel, ui } break; case HFP_CMD_RETRIEVE_AG_INDICATORS_STATUS: - case HFP_CMD_RETRIEVE_AG_INDICATORS: for (i = 0; i < hfp_connection->ag_indicators_nr; i++){ hfp_emit_ag_indicator_event(hfp_hf_callback, hfp_connection->ag_indicators[i]); } diff --git a/test/hfp/hfp_hf_client_test.c b/test/hfp/hfp_hf_client_test.c index 3b7fe3d5a..e85911104 100644 --- a/test/hfp/hfp_hf_client_test.c +++ b/test/hfp/hfp_hf_client_test.c @@ -429,26 +429,42 @@ void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t * event, uint printf("HFP AG HFP_SUBEVENT_COMPLETE.\n"); break; case HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED: - printf("AG_INDICATOR_STATUS_CHANGED, AG indicator '%s' (index: %d) to: %d\n", (const char*) &event[5], event[3], event[4]); + printf("AG_INDICATOR_STATUS_CHANGED, AG indicator (index: %d) to: %d of range [%d, %d], name '%s'\n", + hfp_subevent_ag_indicator_status_changed_get_indicator_index(event), + hfp_subevent_ag_indicator_status_changed_get_indicator_status(event), + hfp_subevent_ag_indicator_status_changed_get_indicator_min_range(event), + hfp_subevent_ag_indicator_status_changed_get_indicator_max_range(event), + (const char*) hfp_subevent_ag_indicator_status_changed_get_indicator_name(event)); break; case HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED: - printf("NETWORK_OPERATOR_CHANGED, operator mode: %d, format: %d, name: %s\n", event[3], event[4], (char *) &event[5]); + printf("NETWORK_OPERATOR_CHANGED, operator mode: %d, format: %d, name: %s\n", + hfp_subevent_network_operator_changed_get_network_operator_mode(event), + hfp_subevent_network_operator_changed_get_network_operator_format(event), + (char *) hfp_subevent_network_operator_changed_get_network_operator_name(event)); break; case HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR: - if (event[4]) - printf("EXTENDED_AUDIO_GATEWAY_ERROR_REPORT, status : %d\n", event[3]); + printf("EXTENDED_AUDIO_GATEWAY_ERROR_REPORT, status : %d\n", + hfp_subevent_extended_audio_gateway_error_get_error(event)); break; case HFP_SUBEVENT_RING: printf("** Ring **\n"); break; case HFP_SUBEVENT_NUMBER_FOR_VOICE_TAG: - printf("Phone number for voice tag: %s\n", (const char *) &event[3]); + printf("Phone number for voice tag: %s\n", + (const char *) hfp_subevent_number_for_voice_tag_get_number(event)); break; case HFP_SUBEVENT_SPEAKER_VOLUME: - printf("Speaker volume: %u\n", event[3]); + printf("Speaker volume: status %u, gain %u\n", + hfp_subevent_speaker_volume_get_status(event), + hfp_subevent_speaker_volume_get_gain(event)); break; case HFP_SUBEVENT_MICROPHONE_VOLUME: - printf("Microphone volume: %u\n", event[3]); + printf("Microphone volume: status %u, gain %u\n", + hfp_subevent_microphone_volume_get_status(event), + hfp_subevent_microphone_volume_get_gain(event)); + break; + case HFP_SUBEVENT_CALLING_LINE_IDENTIFICATION_NOTIFICATION: + printf("Caller ID, number %s\n", hfp_subevent_calling_line_identification_notification_get_number(event)); break; default: printf("event not handled %u\n", event[2]);