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

HID Keyboard Example Not Recognized by iPad

I programmed a PCA10001 with the HID Keyboard example and changed the preprocessor code from NRF6310 to PCA10001. The functions were tested according to the online HID Keyboard Application notes and everything worked as expected. (Note: The Application notes used were flagged as "old documentation" but it still worked.)

I then tried to connect the HID to an iPad. After enabling BT in Settings on the iPad the HID was not recognized. I thought the problem might be that the Company ID needed to be changed from Nodic's (x59) to Apple's (4C) but answers from a previous post say that the HID does not use Company ID so this should not be a problem. I installed the LightBlue app on the iPad and it does find the HID. Why can I not link to the iPad directly?

Parents
  • @Tom: It's what I suspected, IS_SRVC_CHANGED_CHARACT_PRESENT = 1 doesn't guarantee that the iPhone would update the advertising packet. But you won't have problem if you don't change the advertising packet (switch to beacon), right ?

    If you simply stay in HID keyboard mode and restart the device, it would be reconnected automatically ?

    I would suggest you if you plan to switch between beacon and HID, you can try to change the address when switch to beacon, for example +1 to the address. This will trick the iPhone to think there are 2 different devices.

    Regarding the issue with "when restarting the program in Debug, must connect through NRF MCP" , could you capture a sniffer trace ? It good to check and compare if there is any difference and figure out why the phone didn't reconnect.

Reply
  • @Tom: It's what I suspected, IS_SRVC_CHANGED_CHARACT_PRESENT = 1 doesn't guarantee that the iPhone would update the advertising packet. But you won't have problem if you don't change the advertising packet (switch to beacon), right ?

    If you simply stay in HID keyboard mode and restart the device, it would be reconnected automatically ?

    I would suggest you if you plan to switch between beacon and HID, you can try to change the address when switch to beacon, for example +1 to the address. This will trick the iPhone to think there are 2 different devices.

    Regarding the issue with "when restarting the program in Debug, must connect through NRF MCP" , could you capture a sniffer trace ? It good to check and compare if there is any difference and figure out why the phone didn't reconnect.

Children
No Data
Related