Developing an implementation for UltraWideBandImpl for a different UWB hardware solution (not the provided qm35 implementation) and running into integration problems
The (binary only) Aliro library is doing some pre/post processing of messages so it is not clear what the actual format of BLE messages sent to and from the implementation should include. For example, an InitiateRanging notification doesn't contain an overall length (2 bytes) field, but the resulting UWB M1 message seems to require I put one in the reply.
Is there any documentation on the exact use of the UltraWideBandImpl?
Also, the (default) Qurvo implementation has leaked into the general solution where vendor specific extensions to the UltraWideBandImpl class are called from the (generic) Aliro interface code. Namely, in app/src/aliro/init.cpp calls to
const char *fwVersion = UltraWideBandImpl::Instance().GetQm35FirmwareVersion();
const auto *caps = UltraWideBandImpl::Instance().GetCccCapabilities();
That should be abstracted. I would do a PR but the the Qurvo source isn't available. Please have them fix that.