I am working on something similar and are doing some modifications to the firmware to send angular acceleration and z-accelerations commands directly to the INDI controller. Trajectory is computed externally, through MPC.
I however often get lost in the code complexity. Does a UML diagram or something similar exist for the Crazyflie firmware? It would be an immense help.
Unfortunately we do not have such a diagram. If you could write down here what you find most confusing maybe that could guide us towards better documentation.