This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

about BLE_HIDS_EVT_NOTIF_ENABLED

Hi Nordic team,

I have a simple HID BLE device which send volume+/- multimedia keys to a Android device, it works well if it is first time to pair with the Android device, but if I switch off Bluetooth in Android's setting menu and switch on again, the volume+/- keys no longer working.

I checked and debugged and found it is caused by the BLE device not getting the BLE_HIDS_EVT_NOTIF_ENABLED from the Android phone, so the HVX return code is 0x8 and failed. I also search the forum and found there's no way to enable the notify on peripheral side, I also found there're solutions is to call "sd_ble_gatts_sys_attr_set(m_conn_handle, NULL, 0, 0)", but I'm not sure where to put this function, I have tried that function in "BLE_GAP_EVT_CONNECTED", "BLE_GATTS_EVT_SYS_ATTR_MISSING" events but none of them works.

Any suggestion where am I doing wrong and how to fix this to enable the notify? Thanks very much..

added main.c here: main.c

Parents
  • Hi,

    If clear the device in Android's Bluetooth device list, then there's no problem because Android will issue a "pairing" request, which will enable the notify, this will work, but it is not possible to ask end user do the pairing each time when he using the BLE.

    I tested the unchanged sample of ble_app_hid_keyboard, it works, you can check my main.c, i only change sending "hello" to sending a "volume +" key, but just not working and couldn't find why.

    can you tell me how to erase the whole flash?

    Thanks,

Reply
  • Hi,

    If clear the device in Android's Bluetooth device list, then there's no problem because Android will issue a "pairing" request, which will enable the notify, this will work, but it is not possible to ask end user do the pairing each time when he using the BLE.

    I tested the unchanged sample of ble_app_hid_keyboard, it works, you can check my main.c, i only change sending "hello" to sending a "volume +" key, but just not working and couldn't find why.

    can you tell me how to erase the whole flash?

    Thanks,

Children
No Data
Related