mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-25 16:43:28 +00:00
use HAVE_STDIO in HFP/HSP examples
This commit is contained in:
parent
5e4b451e64
commit
1bbaca756a
example/embedded
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user