int main(void) { puts("NimBLE GATT Server Example"); int rc = 0; /* verify and add our custom services */ rc = ble_gatts_count_cfg(gatt_svr_svcs); assert(rc == 0); rc = ble_gatts_add_svcs(gatt_svr_svcs); assert(rc == 0); /* set the device name */ ble_svc_gap_device_name_set(device_name); /* reload the GATT server to link our added services */ ble_gatts_start(); /* configure and set the advertising data */ uint8_t buf[BLE_HS_ADV_MAX_SZ]; bluetil_ad_t ad; bluetil_ad_init_with_flags(&ad, buf, sizeof(buf), BLUETIL_AD_FLAGS_DEFAULT); bluetil_ad_add_name(&ad, device_name); ble_gap_adv_set_data(ad.buf, ad.pos); /* start to advertise this node */ start_advertise(); return 0; }
void ble_svc_gap_init(void) { int rc; rc = ble_gatts_count_cfg(ble_svc_gap_defs); SYSINIT_PANIC_ASSERT(rc == 0); rc = ble_gatts_add_svcs(ble_svc_gap_defs); SYSINIT_PANIC_ASSERT(rc == 0); }
void ble_svc_gap_init(void) { int rc; /* Ensure this function only gets called by sysinit. */ SYSINIT_ASSERT_ACTIVE(); rc = ble_gatts_count_cfg(ble_svc_gap_defs); SYSINIT_PANIC_ASSERT(rc == 0); rc = ble_gatts_add_svcs(ble_svc_gap_defs); SYSINIT_PANIC_ASSERT(rc == 0); }
int gatt_svr_init(void) { int rc; rc = ble_gatts_count_cfg(gatt_svr_svcs); if (rc != 0) { return rc; } rc = ble_gatts_add_svcs(gatt_svr_svcs); if (rc != 0) { return rc; } return 0; }
/** * Nmgr ble GATT server initialization * * @param eventq * @return 0 on success; non-zero on failure */ int nmgr_ble_gatt_svr_init(void) { int rc; rc = ble_gatts_count_cfg(gatt_svr_svcs); if (rc != 0) { goto err; } rc = ble_gatts_add_svcs(gatt_svr_svcs); if (rc != 0) { return rc; } os_mqueue_init(&nmgr_ble_mq, &nmgr_ble_event_data_in, NULL); rc = nmgr_transport_init(&ble_nt, nmgr_ble_out, nmgr_ble_get_mtu); err: return rc; }