From 1bbaca756a7094d05b6ba3f1c74c999f7ac71bd2 Mon Sep 17 00:00:00 2001 From: Milanka Ringwald Date: Wed, 23 Mar 2016 14:37:26 +0100 Subject: [PATCH] use HAVE_STDIO in HFP/HSP examples --- example/embedded/hfp_ag_demo.c | 30 +++++++++--------------------- example/embedded/hfp_hf_demo.c | 28 ++++++++-------------------- example/embedded/hsp_ag_demo.c | 15 +++++++++------ example/embedded/hsp_hs_demo.c | 16 +++++++++------- 4 files changed, 35 insertions(+), 54 deletions(-) diff --git a/example/embedded/hfp_ag_demo.c b/example/embedded/hfp_ag_demo.c index 10b09efb5..5ab7df5e4 100644 --- a/example/embedded/hfp_ag_demo.c +++ b/example/embedded/hfp_ag_demo.c @@ -76,10 +76,8 @@ const uint32_t hfp_service_buffer[150/4]; // implicit alignment to 4-byte memo const uint8_t rfcomm_channel_nr = 1; const char hfp_ag_service_name[] = "BTstack HFP AG Test"; -static bd_addr_t device_addr; -static bd_addr_t pts_addr = {0x00,0x15,0x83,0x5F,0x9D,0x46}; -//static bd_addr_t pts_addr = {0x00,0x1b,0xDC,0x07,0x32,0xEF}; -static bd_addr_t speaker_addr = {0x00, 0x21, 0x3C, 0xAC, 0xF7, 0x38}; +static bd_addr_t device_addr = {0x00,0x15,0x83,0x5F,0x9D,0x46}; + static uint8_t codecs[1] = {HFP_CODEC_CVSD}; static uint16_t handle = -1; static int memory_1_enabled = 1; @@ -279,9 +277,6 @@ static void show_usage(void){ printf("a - establish HFP connection to PTS module\n"); // printf("A - release HFP connection to PTS module\n"); - printf("z - establish HFP connection to speaker\n"); - // printf("Z - release HFP connection to speaker\n"); - printf("b - establish AUDIO connection\n"); printf("B - release AUDIO connection\n"); @@ -344,11 +339,11 @@ static void show_usage(void){ printf("---\n"); } +#ifdef HAVE_STDIO static int stdin_process(struct data_source *ds){ read(ds->fd, &cmd, 1); switch (cmd){ case 'a': - memcpy(device_addr, pts_addr, 6); log_info("USER:\'%c\'", cmd); 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); @@ -358,12 +353,6 @@ static int stdin_process(struct data_source *ds){ printf("Release HFP service level connection.\n"); hfp_ag_release_service_level_connection(device_addr); break; - case 'z': - memcpy(device_addr, speaker_addr, 6); - log_info("USER:\'%c\'", cmd); - printf("Establish HFP service level connection to %s...\n", bd_addr_to_str(device_addr)); - hfp_ag_establish_service_level_connection(device_addr); - break; case 'Z': log_info("USER:\'%c\'", cmd); printf("Release HFP service level connection to %s...\n", bd_addr_to_str(device_addr)); @@ -571,7 +560,7 @@ static int stdin_process(struct data_source *ds){ return 0; } - +#endif static void packet_handler(uint8_t * event, uint16_t event_size){ @@ -665,6 +654,8 @@ static hfp_phone_number_t subscriber_number = { int btstack_main(int argc, const char * argv[]); int btstack_main(int argc, const char * argv[]){ + // HFP HS address is hardcoded, please change it + // init L2CAP l2cap_init(); rfcomm_init(); @@ -686,13 +677,10 @@ int btstack_main(int argc, const char * argv[]){ sdp_register_service_internal(NULL, (uint8_t *)hfp_service_buffer); - - // pre-select pts - memcpy(device_addr, pts_addr, 6); - +#ifdef HAVE_STDIO + btstack_stdin_setup(stdin_process); +#endif // turn on! hci_power_control(HCI_POWER_ON); - - btstack_stdin_setup(stdin_process); return 0; } diff --git a/example/embedded/hfp_hf_demo.c b/example/embedded/hfp_hf_demo.c index 2dbe1dab8..332536390 100644 --- a/example/embedded/hfp_hf_demo.c +++ b/example/embedded/hfp_hf_demo.c @@ -78,11 +78,7 @@ const uint32_t hfp_service_buffer[150/4]; // implicit alignment to 4-byte memo const uint8_t rfcomm_channel_nr = 1; const char hfp_hf_service_name[] = "BTstack HFP HF Test"; -static bd_addr_t pts_addr = {0x00,0x15,0x83,0x5F,0x9D,0x46}; -//static bd_addr_t pts_addr = {0x00,0x1b,0xDC,0x07,0x32,0xEF}; -static bd_addr_t phone_addr = {0xD8,0xBb,0x2C,0xDf,0xF1,0x08}; - -static bd_addr_t device_addr; +static bd_addr_t device_addr = {0xD8,0xBb,0x2C,0xDf,0xF1,0x08}; static uint16_t handle = -1; static uint8_t codecs[] = {HFP_CODEC_CVSD, HFP_CODEC_MSBC}; static uint16_t indicators[1] = {0x01}; @@ -97,8 +93,6 @@ static void show_usage(void){ printf("\n--- Bluetooth HFP Hands-Free (HF) unit Test Console ---\n"); printf("---\n"); - printf("z - use iPhone as Audiogateway\n"); - printf("a - establish SLC connection to device\n"); printf("A - release SLC connection to device\n"); @@ -178,6 +172,7 @@ static void show_usage(void){ printf("---\n"); } +#ifdef HAVE_STDIO static int stdin_process(struct data_source *ds){ read(ds->fd, &cmd, 1); @@ -420,11 +415,6 @@ static int stdin_process(struct data_source *ds){ printf("Private consulation with call 2\n"); hfp_hf_private_consultation_with_call(device_addr, 2); break; - case 'z': - memcpy(device_addr, phone_addr, 6); - log_info("USER:\'%c\'", cmd); - printf("Use iPhone %s as Audiogateway.\n", bd_addr_to_str(device_addr)); - break; case '[': log_info("USER:\'%c\'", cmd); printf("Query Response and Hold status (RHH ?)\n"); @@ -463,7 +453,7 @@ static int stdin_process(struct data_source *ds){ return 0; } - +#endif static void packet_handler(uint8_t * event, uint16_t event_size){ if (event[0] == RFCOMM_EVENT_OPEN_CHANNEL_COMPLETE){ @@ -527,6 +517,8 @@ static void packet_handler(uint8_t * event, uint16_t event_size){ int btstack_main(int argc, const char * argv[]); int btstack_main(int argc, const char * argv[]){ + // HFP AG address is hardcoded, please change it + // init L2CAP l2cap_init(); rfcomm_init(); @@ -545,14 +537,10 @@ int btstack_main(int argc, const char * argv[]){ hfp_hf_create_sdp_record((uint8_t *)hfp_service_buffer, rfcomm_channel_nr, hfp_hf_service_name, 0); sdp_register_service_internal(NULL, (uint8_t *)hfp_service_buffer); - // pre-select pts - memcpy(device_addr, pts_addr, 6); - +#ifdef HAVE_STDIO + btstack_stdin_setup(stdin_process); +#endif // turn on! hci_power_control(HCI_POWER_ON); - - btstack_stdin_setup(stdin_process); - // printf("Establishing HFP connection to %s...\n", bd_addr_to_str(phone_addr)); - // hfp_hf_connect(phone_addr); return 0; } diff --git a/example/embedded/hsp_ag_demo.c b/example/embedded/hsp_ag_demo.c index f8210e0ef..5621e31fb 100644 --- a/example/embedded/hsp_ag_demo.c +++ b/example/embedded/hsp_ag_demo.c @@ -80,8 +80,8 @@ static const char hsp_ag_service_name[] = "Audio Gateway Test"; static uint16_t sco_handle = 0; static char hs_cmd_buffer[100]; -// static bd_addr_t current_addr = {0x04,0x0C,0xCE,0xE4,0x85,0xD3}; -static bd_addr_t current_addr = {0x00,0x1b,0xDC,0x07,0x32,0xEF}; + +static bd_addr_t device_addr = {0x00,0x1b,0xDC,0x07,0x32,0xEF}; static int phase = 0; @@ -126,7 +126,7 @@ static void show_usage(void){ printf("\n--- Bluetooth HSP Audio Gateway Test Console %s ---\n", bd_addr_to_str(iut_address)); printf("---\n"); - printf("c - Connect to %s\n", bd_addr_to_str(current_addr)); + printf("c - Connect to %s\n", bd_addr_to_str(device_addr)); printf("C - Disconnect\n"); printf("a - establish audio connection\n"); printf("A - release audio connection\n"); @@ -142,15 +142,15 @@ static void show_usage(void){ printf("---\n"); } - +#ifdef HAVE_STDIO static int stdin_process(struct data_source *ds){ char buffer; read(ds->fd, &buffer, 1); switch (buffer){ case 'c': - printf("Connect to %s\n", bd_addr_to_str(current_addr)); - hsp_ag_connect(current_addr); + printf("Connect to %s\n", bd_addr_to_str(device_addr)); + hsp_ag_connect(device_addr); break; case 'C': printf("Disconnect.\n"); @@ -199,6 +199,7 @@ static int stdin_process(struct data_source *ds){ } return 0; } +#endif static void try_send_sco(void){ return; @@ -350,7 +351,9 @@ int btstack_main(int argc, const char * argv[]){ hsp_ag_register_packet_handler(packet_handler); +#ifdef HAVE_STDIO btstack_stdin_setup(stdin_process); +#endif gap_set_local_name("BTstack HSP AG"); hci_discoverable_control(1); diff --git a/example/embedded/hsp_hs_demo.c b/example/embedded/hsp_hs_demo.c index 5e16be9bf..af714a5f7 100644 --- a/example/embedded/hsp_hs_demo.c +++ b/example/embedded/hsp_hs_demo.c @@ -80,8 +80,7 @@ static const char hsp_hs_service_name[] = "Headset Test"; static uint16_t sco_handle = 0; static char hs_cmd_buffer[100]; -// static bd_addr_t current_addr = {0x04,0x0C,0xCE,0xE4,0x85,0xD3}; -static bd_addr_t current_addr = {0x00,0x1b,0xDC,0x07,0x32,0xEF}; +static bd_addr_t device_addr = {0x00,0x1b,0xDC,0x07,0x32,0xEF}; static int phase = 0; @@ -117,6 +116,7 @@ static const uint8_t sine[] = { * */ + static void show_usage(void){ uint8_t iut_address_type; bd_addr_t iut_address; @@ -124,7 +124,7 @@ static void show_usage(void){ printf("\n--- Bluetooth HSP Headset Test Console %s ---\n", bd_addr_to_str(iut_address)); printf("---\n"); - printf("c - Connect to %s\n", bd_addr_to_str(current_addr)); + printf("c - Connect to %s\n", bd_addr_to_str(device_addr)); printf("C - Disconnect\n"); printf("a - establish audio connection\n"); printf("A - release audio connection\n"); @@ -140,15 +140,15 @@ static void show_usage(void){ printf("---\n"); } - +#ifdef HAVE_STDIO static int stdin_process(struct data_source *ds){ char buffer; read(ds->fd, &buffer, 1); switch (buffer){ case 'c': - printf("Connect to %s\n", bd_addr_to_str(current_addr)); - hsp_hs_connect(current_addr); + printf("Connect to %s\n", bd_addr_to_str(device_addr)); + hsp_hs_connect(device_addr); break; case 'C': printf("Disconnect.\n"); @@ -197,6 +197,7 @@ static int stdin_process(struct data_source *ds){ } return 0; } +#endif static void try_send_sco(void){ if (!sco_handle) return; @@ -239,7 +240,6 @@ static void packet_handler(uint8_t * event, uint16_t event_size){ switch (event[0]) { case BTSTACK_EVENT_STATE: if (event[2] != HCI_STATE_WORKING) break; - printf("HCI_STATE_WORKING\n"); show_usage(); break; case HCI_EVENT_NUMBER_OF_COMPLETED_PACKETS: @@ -348,7 +348,9 @@ int btstack_main(int argc, const char * argv[]){ hsp_hs_init(rfcomm_channel_nr); hsp_hs_register_packet_handler(packet_handler); +#ifdef HAVE_STDIO btstack_stdin_setup(stdin_process); +#endif gap_set_local_name("BTstack HSP HS"); hci_discoverable_control(1);