DfuServiceInitiator Address Usage

Hello,

I am using the Android DFU library. The constructor for the DfuServiceInitiator class accepts a device address. Can one assume that providing an application address or bootloader address should always work? There does appear to be some additional information in the BootloaderScanner interface that leads me to believe that it can always be the application address - the searchFor method requires "the application device address" as parameter, and returns the bootloader address. If that's the case, in what situations can the bootloader address be used for the DfuServiceInitiator constructor? When the bootloader is actively advertising with that same address?

I posted a related issue on Github issues for the project.

Thank you!

Parents Reply Children
  • Hi, 

    Have a look at this post

    The standard DFU has additional address for bootloader incremented by 1. DFU with bonding - bootloader must have the same address.

    And in the code - scanning contains filters of (MAC address + incremented MAC address), to receive the required information. It seems to be the only reason for doing so.

    So it seems that DfuServiceInitiator may actually work for both standard and incremented MAC addresses, but it was designed to be used with application MAC. Otherwise, the code will increase the MAC address once again and may look also for an address that doesn't have sense.

    Regards,
    Amanda

Related