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 Anders,

    it was very strange because i found the problem is caused by the HIDS_INIT routine, because my applicatoin is sending multi-mdia keys instead of normal keyboard keys, and I modified the report map in the HID initial functions and suddenly it works but i have no idea why. I think i need to study the USB HID table if i want to find the root cause, anyway I still have thank you for your great support.

    Best regard,

Reply
  • Hi Anders,

    it was very strange because i found the problem is caused by the HIDS_INIT routine, because my applicatoin is sending multi-mdia keys instead of normal keyboard keys, and I modified the report map in the HID initial functions and suddenly it works but i have no idea why. I think i need to study the USB HID table if i want to find the root cause, anyway I still have thank you for your great support.

    Best regard,

Children
Related