TECS Estimated True Airspeed calculation

Hello, I was performing some Loiter missions and observed that the indicated airspeed from the pitot sensor fell well below the cruise airspeed I was targeting (25 m/s). It was a bit windy that day, and upon reviewing the logs, I suspected the pitot sensor might not be measuring correctly because the ground speed never reached the airspeed at any point in the plot.

This discrepancy led me to investigate the TECS.sp value, which remained constant at 25 m/s (except during sudden turns). Now I’m curious, how exactly is this TECS.sp speed calculated?

Could it be that you haven’t correctly configured your ARSPD_ENABLE and ARSPD_USE parameters? A pitot probe calibration is always a good thing to do as well.

Of course, uploading a log helps a lot too.

ARSPD_USE is set to 1 and ARSPD_ENABLE doesn’t exist as a parameter in Arduplane V4.5.1 (in my configuration at least).

I’m using a Sensirion SDP3X airspeed sensor that doesn’t need calibration as far as I know. Here is the log (it is anonymized and for my reference only; it opens through Mission Planner and not plot.ardupilot.org).

Unfortunately I can’t open it, as this machine runs Ubuntu (hence I can’t use Mission Planner). None of my other tools seem to be able to open it.

In simplified terms, the TECS (true) airspeed is calculated as follows: