Hi,
Is there any way to stop the OTA DFU? Let's say that I started it and at some point I want to cancel the process at 40%. Is there any way to send a control message to cancel the OTA?
Gabriel
Hi,
Is there any way to stop the OTA DFU? Let's say that I started it and at some point I want to cancel the process at 40%. Is there any way to send a control message to cancel the OTA?
Gabriel
Hi Gabriel,
It looks like you should be able to use the "Abort" request for this: http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.1.0/lib_dfu_transport.html?cp=4_0_0_3_5_2_0_11#lib_dfu_transport_op_abort
Vidar
Hi Vidar,
Thanks for your answer! You're right about the NRF_DFU_OP_ABORT, it's definitely the way to go but unfortunately this is not available in SDK v14.2, it's only available in v15 and I can't upgrade in the current state of the project.
Gabriel
Hi Gabriel,
Do you have existing devices in the field that needs to be upgraded through DFU, or is there a possibility to backport this feature from SDK 15? Also, could you explain the background for needing this feature?
Hi Vidar,
I have a batch of devices which need to be upgraded through DFU,, I think it's better for the user to be able to cancel the OTA process if needed, otherwise he might close the app and leave the device in DFU mode which could be confusing.
Gabriel
Hi Gabriel,
It's maybe not ideal from a user's perspective, but the bootloader runs a timer instance that resets the bootloader after two minutes of inactivity (timeout is configurable in sdk_config.h). In other words, they will have to wait two minutes after aborting an update before the bootloader will boot the application (if a valid app is present).
Vidar