Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Copter: 4.4.2-beta1 release #25243

Merged
merged 68 commits into from
Oct 13, 2023
Merged

Conversation

rmackay9
Copy link
Contributor

@rmackay9 rmackay9 commented Oct 12, 2023

This is the Copter-4.4.2-beta1 release which includes all PRs in the "4.4.2-beta" column of this project.

This has been rebased on Tridge's PR #25205 and I've taken the liberty of updating the Plane ReleaseNotes.h and version.h files too.

This also includes two PRs specifically requested by @Hwurzburg (#23351, #24999).

This will also become the Rover-4.4.0-beta8 release.

This was referenced Oct 12, 2023
peterbarker and others added 25 commits October 13, 2023 09:22
this fixes a state where we either cannot climb or descend in an
uncontrolled manner in a TECS controlled mode

the conditions under which this happened were:

- _use_synthetic_airspeed_once was true due to quadplane takeoff
- we left _thr_clip_status as MAX from previous use of synthetic airspeed
- then run without airspeed

note that this can also impact users with an airspeed sensor if they
disable it or it fails in flight, particularly during a climb
update_pitch_throttle can be called when update_50hz hasn't run in a very long time, or ever.  This requires a main loop rate >50Hz, and for the mode change to occur in the same loop that update_50Hz doesn't run but update_pitch_throttle does.
the bad value is -32768 not 0xffff (which is -1)

-32768 badly corrupts the low-pass filter, and is what we see in logs
(a large negative spike on all 3 axes)

update to bug fix from:
ArduPilot#23033
# Conflicts:
#	Tools/autotest/param_metadata/param.py
#	libraries/AP_BattMonitor/AP_BattMonitor_INA2xx.cpp
some vendors want different shunt resistors
we do not want to do this from update() as it is an expensive call
this fixes a bug where if the terrain database cache does not have the
tile for the location of a rally point then RTL to the rally point
with TERRAIN_FOLLOW=1 will not track terrain

The underlying issue is that Location::loc.change_alt_frame() will
return false if the location is not in the terrain memory cache. We
can't just extrapolate as the rally point could be in a totally
different terrain area to the current location. So instead we set it
as terrain_following_pending and fix it as soon as the terrain cache
is filled.

fixes ArduPilot#25157
this allows log review tools to use right parameter and mode map when vendor has changed the
vehicle type strings
users with busy CAN bus often get significiantly lower GPS rates on a
moving baseline rover, preventing arming. This PR relaxes the required
frame rate as the EKF is quite happy with 3Hz yaw and the yaw is the
only data consumed from a moving baseline rover
this prevents small RC input deviations from impacting non-pilot
controlled modes via stick mixing
@rmackay9
Copy link
Contributor Author

Rebased on Plane's release PR.

@rmackay9 rmackay9 merged commit fc2b1d1 into ArduPilot:Copter-4.4 Oct 13, 2023
87 checks passed
@rmackay9 rmackay9 deleted the copter-442-beta1 branch November 13, 2023 03:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants