We have a custom board solution with an BLE module from Laird, that uses nrf51822 IC, as a gateway. Code was written in Keil and we used SDK v 8.1.0. Originally we didn't use Device manager code, because of RAM consumption issues. We are not using whitelisting from the SD, because we have our own custom whitelisting set up.
Since then, we migrated to u-blox BLE modules, that have nrf52832 IC embedded on them. We decided to port as much code as possible to the new platform and use SDK v14.2.0, together with SD132.
I was able to port some of the code, but then I hit a problem with establishing a connection. In previous SDKs, sd_ble_gap_connect()
function worked as expected. Now, I keep getting NRF_ERROR_INVALID_PARAM as a result of calling this function. After some research, I found that I should set addresses before connecting to them with sd_ble_gap_device_identities_set()
.
As far as I can work out, this means two things: either we use Peer manager (which is a bit bulky for our case, as we don't do any bonding or service discovery) or somehow bypass setting the identities.
From the macro BLE_GAP_DEVICE_IDENTITIES_MAX_COUNT (8)
I could see, that the max. identities is set to 8. Our use case can have more than 8 saved (whitelisted) devices.
So my question is: is it possible to bypass the setting of identities? If not, can I set that macro to something larger, like 16? Or is that a SD limitation?
I've tried setting identities to NULL with
sd_ble_gap_device_identities_set(NULL, NULL, BLE_GAP_DEVICE_IDENTITIES_MAX_COUNT);
with no success.
As I said before, we don't need conventional whitelisting by address or IRK.
Any help regarding this topic is appreciated!