Dear community, I’m investigating DWM3000EVB with nRF52840DK for Apple’s nearby interaction demo (Qorvo_Apple_Nearby_Interaction_Beta_release_1.0.0) And everything is working correctly when I’m using the included binary version „NRF52840DK_full.hex“. But when I build and run the app from source code in Segger, it doesn’t work properly:
I can establish a Bluetooth connection with the iPhone, but after I press the “Run Session” button, I first see the message “Accessory session started” and then “Session with ‘DWM3000EVB + nRF52840DK’ timed out”.
And most importantly, I’m not getting any UWB data (distance or direction).
After debugging the microcontroller code for a while, I noticed that in the fira_app.c file, the uwbmac_start() function returns the error code -5. But I can’t dig deeper because there is no source code for uwbmac.
Could you please help me to figure out why the binary version works and the version I’m building from source code doesn’t? How can I make the source code version also working properly?
I’m an iOS developer and don’t have much experience programming microcontrollers, so I might be missing something obvious.
I’m using SEGGER Embedded Studio for ARM V6.20a on macOS Monterey.
I would appreciate any help.
I could not reproduce your issue.
It’s working fine with me when either flashing the binary or debugging the souce code in Segger.
I’m using:
Target: DWM3000 EVB + nRF52840DK.
Application: Qorvo NI 3D.
iPhone 11: Version 15.4.1.
In the downloaded pack (link), Qorvo has sources/iOs folder, and inside it has a “patch” file to apply to the stock Apple NI project and README.MD which describes “how to apply” that patch.
Then, you just re-build that project in XCode and deploy it to your test iPhone.
Let me check if I can reproduce the issue with Apple’s Implementing Spatial Interactions with Third-Party Accessories sample app.
In this step, enusre that you’re selecting QorvoNIDemo and the iPhone you’re using.
I did these steps again at the moment, and It worked for me. So you should be missing one of these steps. Also verify that you’ve copied the patch file at the same level as the application as in the first step (This may be the issue).
This is problematic as it will remove some functions needed to output distance and angle.
So, I think you should downgrade your segger embedded studio to 5.60a (this is the version I tested) and maybe other recent version which is not 6.20a should also be ok. And this should resolve your issue.
Prompt missing file “AccessoryDemoViewController.swift” ,but after run git apply --reject --whitespace=fix Qorvo_NI_3D_patch.diff it changed “QorvoDemoViewController.swift”
Sorry I could not reproduce your issue. Maybe you can see my comment above explaining the different steps to patch the iOS app ? If you follow these steps it should work.
I don’t know if you’re already aware of this, now Qorvo is providing officially an improved version of this iOS app in the App Store “QorvoNearbyInteraction” which is also working with multiple accessories at the same time.