Your comments

I agree, knowing which function groups are consuming the cpu time would be a nice optimization tool to have

Matrix Math functions would be very helpful. We have implemented some matrix functions using the math channels but this is tedious and requires many channels/compute time and memory, not very efficient.

For the Over Current protection I keep seeing it throw Overload faults at low duty cycles only (roughly 15%) at this point it looks like our control loop is regularly setting the output off, then back on at minimum value (min value is 15%). Is this fault likely due to inrush currents to the coil or does the XC10 not like having its PWM outputs cycled on and off. Like I said this only seams to occur at small duty cycles, once running continously at 20-70% on the output we don't see overload faults.

I think that could work quite well, it would also keep it fairly simple to understand what order channels/function groups get evaluated.