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

DFU controller in central nRF52 device

Hi Nordic team,

Is there any sample project which implements DFU controller in nRF52832 central device? I need to update peripheral device firmware from central device by using DFU. In my another project, I was able to implement DFU target in peri device and succeeded firmware update from android app using SDK. So, I can say DFU target is ready. I just need DFU controller in centeral device.

Please advise any sample project which can help my developement of DFU controller.

Thansk,

Robin

Parents
  • Hi,

    I am trying to make DFU controller for myself, which to be run on nRF52832. currently I am working on making Buttonless work.

    I managed to get Service Discovery work and grab DFU service(service uuid = 0xFE59 and characteristic uuid = 8ec90003-f315-4f60-9fb8-838830daea50). When I wrote a value "0x01" on the characteristic, I could get indication with a value "0x200101" from the characteristic. 

    My question is,

    (1) how to parse the indication value "0x200101" and what's next step?

    (2) where to find buttonless protocol document.

    Thanks

Reply
  • Hi,

    I am trying to make DFU controller for myself, which to be run on nRF52832. currently I am working on making Buttonless work.

    I managed to get Service Discovery work and grab DFU service(service uuid = 0xFE59 and characteristic uuid = 8ec90003-f315-4f60-9fb8-838830daea50). When I wrote a value "0x01" on the characteristic, I could get indication with a value "0x200101" from the characteristic. 

    My question is,

    (1) how to parse the indication value "0x200101" and what's next step?

    (2) where to find buttonless protocol document.

    Thanks

Children
  • Hi,

    Robin said:
    (1) how to parse the indication value "0x200101" and what's next step?

    You can check the buttonless DFU service implementation for details. Searching for ble_dfu_buttonless_resp_send will show you everything that is indicated from the nRF to the DFU master at this stage.

    If you use DFU without bonding there is not that much that is communicated here. There is always DFU_OP_ENTER_BOOTLOADER (0x01), and the response is either DFU_RSP_BUSY (0x06) or DFU_RSP_SUCCESS (0x01). The last possibility is DFU_RSP_OPERATION_FAILED (0x04) and then the response code could be one of many, but that is typically only relevant for debugging. The key information is that it failed.

    Robin said:
    (2) where to find buttonless protocol document.

    You can refer to the Buttonless Secure DFU Service documentation in the SDK.

Related