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

nRF52 ANT DFU, hangs at wait_for_events()

Hello, I'm trying to implement a buttonless DFU via ANT for a custom nRF52 board. I've got the 212 v4.02 Softdevice and I'm using the 14.0.0 SDK. I am able to transmit and receive via ANT, I am able to go into my bootloader, and I can progress through the bootloader until I hit the "err_code = bootloader_dfu_start();" line. This function progresses until it hits "wait_for_events()". At this point it just hangs waiting for (I assume) an ANT event that never occurs.

When I attempt to connect to the device via "OTAUpdater.exe" I am unable to, thus no ANT event. I set the manufacturer ID and product ID to wildcard (0), select nRF52 as the platform, and it is unable to see my board. When the ANT-FS in the bootloader times out (~2 minutes via default setting), it kicks me back to my main program code, at which point ANT broadcasting starts working immediately.

I am able to perform an OTA update on my nRF52 DK using the same method I am trying with my custom device. Any suggestions?

Parents
  • Hi Petter,

    Yes, it works fine on the nRF52 DK. There are a bunch of hardware differences between my custom device and the DK, but ultimately I don't know how they would contribute to this issue. Both are using the nRF52832, but mine is on a custom board without any of the same buttons, LEDs, onboard programming. Mine is using an external crystal that meets ANT spec, uses a different VReg system, connects to peripherals over the TWI interface, etc. etc. Keep in mind, I am attempting to do this buttonless (which I've been able to do on the DK).

    Again, the weird part is that I am able to broadcast ANT in the application code, so I don't understand why it wouldn't be able to do the DFU stuff in the bootloader code. Is there something on the hardware side of things that makes DFU possible? What else should I be looking at?

Reply
  • Hi Petter,

    Yes, it works fine on the nRF52 DK. There are a bunch of hardware differences between my custom device and the DK, but ultimately I don't know how they would contribute to this issue. Both are using the nRF52832, but mine is on a custom board without any of the same buttons, LEDs, onboard programming. Mine is using an external crystal that meets ANT spec, uses a different VReg system, connects to peripherals over the TWI interface, etc. etc. Keep in mind, I am attempting to do this buttonless (which I've been able to do on the DK).

    Again, the weird part is that I am able to broadcast ANT in the application code, so I don't understand why it wouldn't be able to do the DFU stuff in the bootloader code. Is there something on the hardware side of things that makes DFU possible? What else should I be looking at?

Children
No Data
Related