Hi @ll,
I'm using Mesh SDK 2.0.0 with SD 6.0.0.
The example everything is based on is the dfu-example (including parts of the beaconing example)
I'm now trying to add a connectable advertiser to communicate using GATT (not within the mesh, so no GATT-Proxy).
I finally managed to include all parts that are necessary for the connectable advertiser and it's also starting but I can not find it during scanning using nRF Connect for Mobile.
The advertising parts I took from SDK15.0.0 example ble_app_uart, here is the relevant part of the main function:
int main(void) { initialize(); gap_params_init(); gatt_init(); advertising_init(); conn_params_init(); advertising_start(); execution_start(start); for (;;) { (void)sd_app_evt_wait(); } }
The strange par tis that starting the advertiser is only working in SLOW-mode, not in FAST-mode.
err_code = ble_advertising_start(&m_advertising, BLE_ADV_MODE_SLOW); <-- is "working" as it returns error_code 0
err_code = ble_advertising_start(&m_advertising, BLE_ADV_MODE_FAST); <-- returns the error NRF_ERROR_NOT_FOUND
advertising_init also succeeds with the following code:
static void advertising_init(void) { uint32_t err_code; ble_advertising_init_t init; memset(&init, 0, sizeof(init)); init.advdata.name_type = BLE_ADVDATA_FULL_NAME; init.advdata.include_appearance = false; init.advdata.flags = BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE; init.srdata.uuids_complete.uuid_cnt = 0;//sizeof(m_adv_uuids) / sizeof(m_adv_uuids[0]); init.srdata.uuids_complete.p_uuids = NULL;//m_adv_uuids; init.config.ble_adv_fast_enabled = true; init.config.ble_adv_fast_interval = 1600; init.config.ble_adv_fast_timeout = 0; init.evt_handler = on_adv_evt; err_code = ble_advertising_init(&m_advertising, &init); APP_ERROR_CHECK(err_code); ble_advertising_conn_cfg_tag_set(&m_advertising, APP_BLE_CONN_CFG_TAG); }
So my question: Why do I not see any device advertising with the set name? Even if I filter by name using nRF Connect for mobile?
Thank you in advance for your help!
Bye
Andrej