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
  • OK, I did not realize that SDK and softstack versions were tied to chip versions. With that in mind, our chips are all QFAAG0 which are rev 2 chips. I was using SDK v11.0.0 (now changed to v6.1.0) and S130 (now changed to S110).

    The HID Keyboard example for S110 uses the nRF6310 and I am using the PCA10001 (will go to custom board after this is running). I loaded the HID Keyboard example from the nRF6310 directory made several changes:

    1. Changed the preprocessor symbols to BOARD_PCA10001
    2. Set Device = nRF51822_xxAA, IROM1 = 0x1B000, Size = 0x25000, IRAM1 = 0x20002000, Size = 0x5F80
    3. Set Debug to J-Link / J-Trace Cortex

    After running Build All there were errors due to LED's and buttons that are not available on the PCA10001. I commented out the lines that included the LED's and buttons that are unavailable on PCA10001 (LED_2 thru LED_7 and BUTTON_2). Then Build All was successful.

    Loaded/ran the code. NRF MCP and iPad (in Settings) did not find Nordic Keyboard. Debug shows that the code never reaches main() and appears to be hanging in the startup code.

    Am I on the right track now?

    Was my major problem that I was using the incorrect SDK and softstack?

    Do you have any suggestions to help determine why the PCA10001 is not advertising?

Reply
  • OK, I did not realize that SDK and softstack versions were tied to chip versions. With that in mind, our chips are all QFAAG0 which are rev 2 chips. I was using SDK v11.0.0 (now changed to v6.1.0) and S130 (now changed to S110).

    The HID Keyboard example for S110 uses the nRF6310 and I am using the PCA10001 (will go to custom board after this is running). I loaded the HID Keyboard example from the nRF6310 directory made several changes:

    1. Changed the preprocessor symbols to BOARD_PCA10001
    2. Set Device = nRF51822_xxAA, IROM1 = 0x1B000, Size = 0x25000, IRAM1 = 0x20002000, Size = 0x5F80
    3. Set Debug to J-Link / J-Trace Cortex

    After running Build All there were errors due to LED's and buttons that are not available on the PCA10001. I commented out the lines that included the LED's and buttons that are unavailable on PCA10001 (LED_2 thru LED_7 and BUTTON_2). Then Build All was successful.

    Loaded/ran the code. NRF MCP and iPad (in Settings) did not find Nordic Keyboard. Debug shows that the code never reaches main() and appears to be hanging in the startup code.

    Am I on the right track now?

    Was my major problem that I was using the incorrect SDK and softstack?

    Do you have any suggestions to help determine why the PCA10001 is not advertising?

Children
No Data
Related