Hi @roy ,
I don't have quantitive data to give you, except that even in the native setup, we are doing a bunch of "translations".
For example, one of the DSPs (sensors DSP, sometimes called Sensors Low Power Island (SLPI), at least on the older platform and carried over by us out of habit)) is talking SPI to an IMU, and then that data get's passed via mUORB to the applications processor and in some scenarios for our vision processing code that runs on the application processor.
(We've now actually hooked up an IMU directly to the applications processor for vision processing and PX4 has it's own, but the data path and delays introduced did not cause issues for us)
This graphic is from: https://docs.modalai.com/voxl2-px4-developer-guide/
2e82e9d0-a1bd-49a3-b9ac-1790090ec700-image.png
It shows how we're doing things roughly.
So you can imagine this:
have an external flight controller connected via UART (as explained above, through an add on board or soon via a camera connetor J8)
use our
voxl-mavlink-server has a UART implantation that can be used as reference to get MAVLink to/from your Flight Controller INTO VOXL2
Maybe not answering all your questions, but keep the back and forth going and we can widdle away 😉