I have used sofdevice v7.1.0 and nrf51 sdk 6.1.0 the ble_app_hrs project which has support of dfu is not discovering the dfu services. i have enabled the BLE_DFU_APP_SUPPORT flag , then also facing same issue.
I have used sofdevice v7.1.0 and nrf51 sdk 6.1.0 the ble_app_hrs project which has support of dfu is not discovering the dfu services. i have enabled the BLE_DFU_APP_SUPPORT flag , then also facing same issue.
@komal: Which project have you used? Have you used the ble_app_hrs_dfu.uvproj project ? The project should have the following file included : bootloader_util_arm.c, ble_dfu.c, dfu_app_handler.c
You can check if ble_dfu_init() is called.
i have usle ble_app_hrs_dfu.uvproj.
used bootloader_util_gcc.c file for entering the bootloader.
Successfully entered the bootloader i.e. my device is now advertising "DfuTarg", services got discovered. but when i try to upload again a new firmware it throws an error as "Failed to find Dfu Service".
I suspect it was because the ATT table has been cached and the central didn't do a service discovery after you switched to DFU. Have you made sure you enable IS_SRVC_CHANGED_CHARACT_PRESENT = 1 in your code, both in the application and the DFU bootloader ?
Which central device did you used ? Was the link encrypted (bonded)?
On SDK v8.0 we fixed this issue, you can try that.
yes i enabled IS_SRVC_CHANGED_CHARACT_PRESENT = 1 in my both codes. still facing the same issue.
the central device i used is master panel control v3.6.
@Komal: Please only post your post as answer if it is an answer , otherwise please post as comment.
Please try to use Master Control panel v3.7. Master Control panel v3.6 is pretty old and won't support bootloader from SDK v6.1. (Latest Master Control Panel v3.8 might not be compatible with SDK v6.1)