This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

BLE_ERROR_GATTS_SYS_ATTR_MISSING error upon transmission attempt in keyboard example

Hello,

Been posting a few threads lately on my attempt to get the ble_app_hids_keyboard example to work on PCA10003.

I've gotten the files to compile using Eclipse on OS X. However, nothing happens when I short the button GPIO to ground. I spent some time debugging with LEDs, and have found that after a valid button press is registered, the softdevice returns BLE_ERROR_GATTS_SYS_ATTR_MISSING when the key press is actually being sent.

The source code suggests making sure to call sd_ble_gatts_sys_attr_set in the case of this error. I have found this function used only once in this project; in the device_manager_peripheral.c file. When I go to this file, the static function definitions are highlighted as syntax errors, as if this file wasn't "connected" to the rest of the project.

I kind of had to do some hacking to get this toolchain set up on eclipse...is it possible that my build is configured incorrectly somehow? I am using the source code straight from the Nordic SDK with minimal modification (just changing button/pin assignments).

Thanks again for the support!

Parents
  • To clarify, I added the following code to the bottom of the send_key_scan_press_release() function in main.c:

        if(err_code == BLE_ERROR_GATTS_SYS_ATTR_MISSING)
    {
    	nrf_gpio_pin_set(18);
    }
    

    When I turn the board on, it pairs. If I short the appropriate GPIO to ground, the LED connected to pin 18 turns on.

Reply
  • To clarify, I added the following code to the bottom of the send_key_scan_press_release() function in main.c:

        if(err_code == BLE_ERROR_GATTS_SYS_ATTR_MISSING)
    {
    	nrf_gpio_pin_set(18);
    }
    

    When I turn the board on, it pairs. If I short the appropriate GPIO to ground, the LED connected to pin 18 turns on.

Children
No Data
Related