int btstack_main(int argc, const char * argv[]){ // init L2CAP l2cap_init(); rfcomm_init(); hfp_ag_init(rfcomm_channel_nr, 438, codecs, sizeof(codecs), ag_indicators, ag_indicators_nr, hf_indicators, hf_indicators_nr, call_hold_services, call_hold_services_nr); hfp_register_packet_handler(packet_handler); sdp_init(); // init SDP, create record for SPP and register with SDP memset((uint8_t *)hfp_service_buffer, 0, sizeof(hfp_service_buffer)); hfp_ag_create_service((uint8_t *)hfp_service_buffer, rfcomm_channel_nr, hfp_ag_service_name, 0, 0); sdp_register_service_internal(NULL, (uint8_t *)hfp_service_buffer); // turn on! hci_power_control(HCI_POWER_ON); btstack_stdin_setup(stdin_process); printf("Establishing HFP connection to %s...\n", bd_addr_to_str(speaker)); hfp_ag_connect(speaker); return 0; }
int btstack_main(int argc, const char * argv[]){ // init L2CAP l2cap_init(); rfcomm_init(); hfp_ag_init(rfcomm_channel_nr); hfp_ag_init_supported_features(0x3ef | (1<<HFP_AGSF_HF_INDICATORS) | (1<<HFP_AGSF_ESCO_S4)); hfp_ag_init_codecs(sizeof(codecs), codecs); hfp_ag_init_ag_indicators(ag_indicators_nr, ag_indicators); hfp_ag_init_hf_indicators(hf_indicators_nr, hf_indicators); hfp_ag_init_call_hold_services(call_hold_services_nr, call_hold_services); hfp_ag_set_subcriber_number_information(&subscriber_number, 1); hfp_ag_register_packet_handler(packet_handler); sdp_init(); // init SDP, create record for SPP and register with SDP memset((uint8_t *)hfp_service_buffer, 0, sizeof(hfp_service_buffer)); hfp_ag_create_sdp_record((uint8_t *)hfp_service_buffer, rfcomm_channel_nr, hfp_ag_service_name, 0, 0); sdp_register_service_internal(NULL, (uint8_t *)hfp_service_buffer); // pre-select pts memcpy(device_addr, pts_addr, 6); // turn on! hci_power_control(HCI_POWER_ON); btstack_stdin_setup(stdin_process); return 0; }