I have NRF5252840-DK (evaluation board, SDK 15.3.0, S140) acting as central. It correctly scans advertising data from my peripheral - custom board with NRF52811 (same SDK, based on Beacon project, but with added capability to connect and with added custom service and characteristics with 128b UUID).
My central (NRF5252840-DK ) can correctly connect to peripheral, and with
I can discover my service, and my two custom characteristics although it takes a while (about 50 seconds). Then I find myself in db_disc_handler, with event type BLE_DB_DISCOVERY_COMPLETE.
Characteristics can be read (0x01 in p_evt->params.discovered_db.characteristics[0].characteristic.char_props.read), and I can read their values by my phone app. UUID for characteristic is correct. I did not get any disconnect event, but sd_ble_gatts_value_get returns error 5 (NRF_ERROR_NOT_FOUND?). What might be interesting is that p_evt->params.err_code is equal to 0x00021400. Does that have anything to do with RAM? I already modified my linker in SES v4.20a to:
I should also mention, that I tried to read characteristic with sd_ble_gattc_read();, and it did not trow any errors, but p_evt->evt_id == BLE_GATTC_EVT_READ_RSP in gatt_evt_handler was never true. I'm new to NRF52, so I might have missed something obvious, but I spent hours reading forums, and examples so I would be very grateful for help.