I’m trying to upgrade a One-To-Many scenario where I have multiple DW3001CDK anchors, some running on Python scripts derived from Qorvo-Tools library (in particular run_fira_twr), set as initiators. They cannot interfere with each other for now, so they can operate independently.
I plan to use several DW3001CDK as tags, set as responders, up to 8 running concurrently, according to the FiRa stack.
I need to automate the UWB TWR setup process, such that, by relying on BLE in OoB:
- Each DW3001CDK tag uses its BLE to pair and exchange its MAC address, session ID, and UWB parameters with the DW3001CDK anchor;
- Once set, the anchor initiates the UWB TWR, I suppose exploiting UCI commands;
- The DWM3001CDK sends via BLE OoB additional information (suppose a battery status for simplicity) to the anchor, which simply prints both UWB and received BLE info.
The two counterparts need to know a priori the UWB parameters (dest MAC and device MAC) to start TWR.
To do so, considering the last DW3_QM33_SDK_1.1.1, I would need to understand:
- Can the QANI project on the firmware be customized to let DWM3001CDK communicate with each other OoB via BLE, and not with iOS?
- If so, can you provide a brief tutorial on how to do it?
- If not, and so if I need to customize the UCI firmware to perform this, which are the main QANI operations that need to be ported (like
niq_init,CreateQaniTask,ble_init)?
I’m struggling to understand how to change the firmware, so any help is mega appreciated.