void setup(void){ /// GET STARTED with BTstack /// btstack_memory_init(); run_loop_init(RUN_LOOP_POSIX); // use logger: format HCI_DUMP_PACKETLOGGER, HCI_DUMP_BLUEZ or HCI_DUMP_STDOUT hci_dump_open("/tmp/gatt_browser.pklg", HCI_DUMP_PACKETLOGGER); // init HCI remote_device_db_t * remote_db = (remote_device_db_t *) &remote_device_db_memory; bt_control_t * control = NULL; #ifndef HAVE_UART_CC2564 hci_transport_t * transport = hci_transport_usb_instance(); #else hci_transport_t * transport = hci_transport_h4_instance(); control = bt_control_cc256x_instance(); // config.device_name = "/dev/tty.usbserial-A600eIDu"; // 5438 config.device_name = "/dev/tty.usbserial-A800cGd0"; // 5529 config.baudrate_init = 115200; config.baudrate_main = 0; config.flowcontrol = 1; #endif hci_init(transport, &config, control, remote_db); l2cap_init(); l2cap_register_packet_handler(&handle_hci_event); gatt_client_init(); gatt_client_register_packet_handler(&handle_gatt_client_event); sm_init(); sm_set_io_capabilities(IO_CAPABILITY_NO_INPUT_NO_OUTPUT); }
int btstack_main(int argc, const char * argv[]){ int arg = 1; cmdline_addr_found = 0; while (arg < argc) { if(!strcmp(argv[arg], "-a") || !strcmp(argv[arg], "--address")){ arg++; cmdline_addr_found = sscan_bd_addr((uint8_t *)argv[arg], cmdline_addr); arg++; continue; } usage(argv[0]); return 0; } l2cap_init(); l2cap_register_packet_handler(&handle_hci_event); gatt_client_init(); gc_id = gatt_client_register_packet_handler(&handle_gatt_client_event); sm_init(); sm_set_io_capabilities(IO_CAPABILITY_NO_INPUT_NO_OUTPUT); // turn on! hci_power_control(HCI_POWER_ON); // go! run_loop_execute(); // happy compiler! return 0; }
void ble_client_register_gatt_client_event_packet_handler(void (*le_callback)(le_event_t* event)){ gatt_client_register_packet_handler(le_callback); }
void ancs_client_init(void) { gc_id = gatt_client_register_packet_handler(&handle_gatt_client_event); }