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

SDK12 ble_app_buttonless_dfu

Hi,

Im tryin to use the ble_dfu service example from SDK12, I get DFU SERVICE NOT FOUND when trying to update from Android. Any suggestions what to look for?

I use S132v3, bootloader is flashed and I performed successful upload of the application via BLE when there was no app loaded.

  • I'm also checking the new Buttonless DFU Template Application and I cannot make it to switch to bootloader. I'm enabling the notifications on DFU characteristic but there is no write permission on DFU control point so I cannot trigger the reboot to bootloader.

  • I think I've figured it out. In ble_dfu.c following line is missing:

    char_md.char_props.write = 1;

    under line 92 - char_md.char_props.read = 1;

    After adding it it's possible to write 0x01 to DFU control point and trigger code path that leads to reboot into bootloader mode.

  • strange your ble_dfu.c seems to be different, here is what I have around line 92:

    char_md.char_props.notify = 1;
    char_md.p_char_user_desc  = NULL;
    char_md.p_char_pf         = NULL;
    char_md.p_user_desc_md    = NULL;
    char_md.p_cccd_md         = &cccd_md;
    char_md.p_sccd_md         = NULL;
    
  • Just add char_md.char_props.write = 1; under char_md.char_props.notify = 1; and it will work. I guess I must have added .read attribute when I was trying to make it work.

  • doesnt seem to help. Does yours reboot into BL mode? Mine doesnt seem to reboot as I dont see DfuTarg device, but the same Nordic_Template device. thats what i do in MCP:

    1)Connect 2) Discover Services 3)Enable services 4) hex: 01-00 and press Write

    May be you changed something else?

Related