Inadequate throttle control in cruise, while it throttle works fine in RTL

Hello, I have a mini talon pro which runs latest version of arduplane. I have pretuned TECS settings for my mini talon, since i have another one, where i have been using with those settings for more than a year and it has been performing well.
Now i am using those settings on the mini talon which has a cruise problem, and set throttle in basic tuning to 50% which perfectly corresponds to speed of 64km/h.
Autolaunch works fine, RTL mode works as intended with very good throttle control, but as soon as I switch to CRUISE throttle and altitude control goes inadequate and there are very big oscillations in throttle control. This could be wrong TECS settings, BUT the plane works good in RTL which as i understand uses same values from TECS.
I have a log, where you can see the issue and also DVR on youtube. Please help me to find the issue.
Thank you.

LOG 00000005.BIN - Google Drive
DVR https://www.youtube.com/watch?v=jXUfH-akrIA

When switching to CRUISE mode, TECS,SPDEM changes rapidly. FC tries to control airspeed with throttle and pitch, but is unable to suppress airspeed overshoot, causing pitch and throttle oscillations.

When switching to RTL, TECS.SPDEM changes relatively slowly, so pitch and throttle oscillations are not triggered.

To solve this, I would suggest the following.

  • Set TECS_CLMB_MAX to a smaller value.
  • Adjust TECS_PTCH_DAMP and TECS_THR_DAMP to reduce oscillations.
  • Reduce the sudden change in demanded speed when switching to CRUISE mode. Setting ARSPD_FBW_MAX to about 26 would suppress the sudden change in TECS.SPDEM.

@hatnac
I will try that. Thank you very much. But is it possible to make cruise as smooth as RTL? What settings to apply to do that. Also I want to mention, that cruise did actually give me consistent throttle after it stopped oscillating, but the speed was 80km/h, but the cruise throttle is set to correspond to 64km/h.

If you mean that “64 km/h” is the value set by TRIM_ARSPD_CM, then you are wrong. CRUISE mode does not refer to TRIM_ARSPD_CM.
In CRUISE mode the airspeed is specified by the throttle stick, i.e., RC3_MIN and RC3_MAX correspond to ARSPD_FBW_MIN and ARSPD_FBW_MAX respectively.

The ArduPlane documentation explains it as follows

If you have an airspeed sensor then the throttle will control the target airspeed in the range ARSPD_FBW_MIN to ARSPD_FBW_MAX. If throttle is minimum then the plane will try to fly at ARSPD_FBW_MIN. If it is maximum it will try to fly at ARSPD_FBW_MAX.

In the plot I showed above, the throttle PWM was about 1570 before switching to CRUISE mode. After switching to CRUISE mode, throttle PWM 1570 corresponds to about 23 m/s (=83 km/h). FC is working correctly.

If you want a airspeed of 64 km/h at throttle PWM = 1570, you may want to specify 26 for ARSPD_FBW_MAX. It may be a good idea to try this setting first.

OK, thank you. I will apply the settings you told me, but I am not sure it will work correctly after that.