Throttle smoothning in the mixer module or dshot output

Hello people

I having some problems with the throttle value coming out on the DSHOT pins not matching the value published on actuators_motors.

I read the DSHOT throttle value using a logic analyzer with support for DSHOT and tracked the actuator_motor value using the logger module and PlotJuggler but I cant make sense of where the data is being lost/lowpassed to a constant value.


The DSHOT data is being sent physical at approx. 790Hz which is the same as the rate_ctrl workqueue update rate since the DSHOT/mixer is running on the rate_ctrl queue. Therefor actuator_motor is being updated the same rate.

But the sinusiodal on the throttle signal is lost and throttle is constant instead. And I cant figure where in the code this happens

Any insight?

Thank you

I figured it out.

There was no actual throttle smoothing going, and instead the ESC was actually smoothing it. And the DSHOT measurement was faulty since the motor was not actually turning when measuring so brainfart.