Hello, I'm an engineer living in Japan.
【Development environment】
"PCA10040(nRF52832)" x 2 (cental/peripheral)
"SDK:17.1.0"
"IDE: Segger Embedded Studio for ARM7.10a"
I have a question about how the whitelist works.
I have confirmed the whitelist operation on the peripheral side by referring to "ble_app_hids_keyboard" stored in the SDK of Ver17.1.0.
The maximum value of the whitelist address count is confirmed at the initial value of 1.
* "BLE_GAP_WHITELIST_ADDR_MAX_COUNT" 1
The whitelist behavior that I have confirmed is described below.
1. Initially, pairing is performed without a whitelist, and the central device address that made the connection request is written to FlashRom.
2. After the connection is terminated, the peripheral advertises with a whitelist containing the address of the first device.
3. The second device is not whitelisted, so the connection is refused.
Question 1)
Operation was confirmed using a smartphone as the central device.
When I connected and disconnected from the smartphone's BLE connection screen, there was no problem with the operation,
but when I "delete" (or cancel) the settings itself, I was unable to connect again.
Please let me know what is causing this behavior.
Question 2)
If you check the sample program, you will see many references to the word "IRK". I searched by IRK and couldn't figure it out.
I found an article that states that it is necessary when using privacy, but I could not understand the details, so please let me know.
Question 3)
Please tell me how to delete the created whitelist.
I would be grateful if you could provide me with sample code.
Thank you.