I've added the hwdef to support the QioTekZealotF427
It has 3 IMU sensors(ICM20698,ICM20602,BMI055), a Compass(Ist8310),
2Baro sensors(DSP310,MS5611), an integrated analog OSD, 14motor
outputs, 4Relay output, 5uarts, 2Power Module input, an i2c, a Can.
This implements a max quota of GPIO interrupts per 100ms period to
prevent high interrupt counts from consuming all CPU and causing a
lockup. The limit is set as 10k interrupts per 0.1s period. That limit
should be high enough for all reasonable uses of GPIO interrupt
handlers while being below the level that causes significant CPU loads
and flight issues
This addresses issue #15384
Problem: vehicle speed "runs away" to speed_max for any throttle value over 75%.
Cause: the desired_speed was calculated by interpolation between the current speed to speed_max, rather than the speed_default to speed_max. As current speed increases the desired speed increases although throttle is fixed. Hence the "runaway".
Fix: Now speed nudge interpolates between the desired speed and speed_max.
Tested:
modes: wp navigation, guided ,rtl
params: spped_max, wp_speed, rtl_speed, speed_max
do_change_speed
This allows you to arm the copter without any extra GCS commands while
in auto, and can be done from both the GCS, or the RC Tx. This is useful
for creating a simpler workflow.
This also allows you to set the auto_armed flag internally, which
bypasses the need to raise the throttle stick for the copter to start a
takeoff.
This exposed a problem where we would start running the controllers
before the EKF was at all initialized, if you switched into auto to
early. This now has a check that prevents us from running the mission
state machine until after the origin has been set. This was a suggestion
from @rmackay9.
When combined these options allow you to have the vehicle on the ground,
disarmed in auto with a takeoff waypoint loaded, then just arm the
aircraft and watch it takeoff. This is a feature we've had on quadplanes
for quite awhile now, and it has proven to be very nice for operators.