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

dfu with IS_SRVC_CHANGED_CHARACT_PRESENT set to 0

Hi, I am develop a project with dfu and bond features. I found that in dfu project, IS_SRVC_CHANGED_CHARACT_PRESENT is always set to 1. In my understanding, if set this to 1, each time phone connect to my device, it will read the services, then slow down the connection process. Am I right? If above is true, is it possible to set IS_SRVC_CHANGED_CHARACT_PRESENT to 0, that I make bootloader and my application project with the same services?

  • I'm glad that you found the issue. NRF_ERROR_NOT_FOUND  will return if you don't have any system characteristic with CCCD (of GAP and GATT services not your application's service) , when you call sd_ble_gatts_sys_attr_get().

    In this case you removed service changed characteristic (which has CCCD).

    So if you check the return code and ignore NRF_ERROR_NOT_FOUND, you should be fine. 

Related