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

How and where to send a SERVICE CHANGED indicate?

I want to send a service changed indicate after upgrading app by dfu.I know dfu already so that,but i don't know that how dfu do that.

there is service_change_indicate function in dfu,but it seems not be called .

anybody knows how to do ?

env: nRF51_SDK_9.0.0_2e23562 keil v5.14 (armcc) dfu is a example (nRF51_SDK_9.0.0_2e23562\examples\dfu\experimental\bootloader_signing)

Parents
  • Hi Sun,

    It's called. You can find we called service_change_indicate(); in BLE_GAP_EVT_CONN_SEC_UPDATE event in on_ble_evt() in dfu_transport_ble.c.

    Basically we will send service changed indication after the link is re-encrypted. In service_change_indicate() we tried to re-establish the system attribute (the CCCD values) before we send the indication.

    Note that you need to make sure you set IS_SRVC_CHANGED_CHARACT_PRESENT to 1

  • Thanks. I find service_change_indicate() is called in LE_GAP_EVT_CONN_SEC_UPDATE event. IS_SRVC_CHANGED_CHARACT_PRESENT is already set to 1.

Reply Children
No Data
Related