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
  • Yes, I'm using an external crystal with a tolerance of 40ppm.

    I don't really follow when you say use the bootloader directly as I am using the bootloader. I am able to parse an incoming ANT event, set a persistent flag, and read the flag in the bootloader. That's how I'm pushing to the DFU mode, but once I progress through that it hangs/times out as I described previously.

    I'm going to get another one of my custom boards later today and I will try and investigate if it's a hardware issue, but I don't really understand how it could be.

Reply
  • Yes, I'm using an external crystal with a tolerance of 40ppm.

    I don't really follow when you say use the bootloader directly as I am using the bootloader. I am able to parse an incoming ANT event, set a persistent flag, and read the flag in the bootloader. That's how I'm pushing to the DFU mode, but once I progress through that it hangs/times out as I described previously.

    I'm going to get another one of my custom boards later today and I will try and investigate if it's a hardware issue, but I don't really understand how it could be.

Children
No Data
Related