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

Plane: 4.5.3-beta1 #27069

Merged
merged 26 commits into from
May 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
81bce92
AP_Scripting: fixed float register save/restore in setjmp/longjmp
tridge May 13, 2024
9209a9f
AP_HAL_ChibiOS: correct GPS output on MambaH743v4
andyp1per Apr 13, 2024
0e0e2b3
AP_HAL: make NeoPixel high-low proportions match for 0 and 1
andyp1per Apr 27, 2024
96fd44f
AC_Avoid: add "BACKZ_SPD" vertical backup speed limit parameter
IamPete1 Apr 30, 2024
51870f5
Tools: autotest: copter: add max alt fence avoidance test
IamPete1 Apr 23, 2024
818f56c
AP_Bootloader: add SDMODELV2
tridge May 15, 2024
ed2b8bd
bootloaders: add SDMODELV2
andyp1per May 14, 2024
43d68e6
AP_HAL_ChibiOS: add SDMODELV2
andyp1per May 14, 2024
9ba3735
AP_RangeFinder: fix Lua timeout
clydemcqueen Apr 16, 2024
2fdce75
AC_AutoTune: zero out D_FF during twitching
andyp1per May 9, 2024
b11011f
AP_Compass: workaround hardware bug in IST8310 whoami
tridge Apr 30, 2024
43d4df2
Rover: correct clamping of RTL_SPEED parameter
peterbarker May 7, 2024
80a9c65
bootloaders: iFlight Blitz H7 Pro
andyp1per Apr 11, 2024
0782cf6
AP_HAL_ChibiOS: iFlight Blitz H7 Pro
andyp1per Apr 11, 2024
9eadb61
Tools: update board types, sync with master
tridge May 15, 2024
6aa6413
AP_HAL_ChibiOS: add highres sampling to Pixhawk6X
andyp1per Apr 29, 2024
530e463
AP_InertialSensor: allow FIFO rate logging for hires sampling
andyp1per Apr 30, 2024
cfc9b27
bootloaders: BLITZ Wing H743
andyp1per May 3, 2024
dc9f9c1
AP_HAL_ChibiOS: BLITZ Wing H743
andyp1per May 3, 2024
c03aaca
Plane: tiltrotor: fix canceling out of FWD_GAIN
IamPete1 May 5, 2024
3bcea63
ArduCopter: update release notes for 4.5.3-beta1
tridge May 15, 2024
c1ddad0
ArduPlane: update release notes for 4.5.3-beta1
tridge May 15, 2024
ccfc45a
Rover: update release notes for 4.5.3-beta1
tridge May 15, 2024
98a3172
ArduCopter: prepare for 4.5.3-beta1
tridge May 15, 2024
321041a
ArduPlane: prepare for 4.5.3-beta1
tridge May 15, 2024
953abb2
Rover: prepare for 4.5.3-beta1
tridge May 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions ArduCopter/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
ArduPilot Copter Release Notes:
-------------------------------

Release 4.5.3-beta1 16th May 2024

Changes from 4.5.2

1) Board specific enhancements and bug fixes

- correct default GPS port on MambaH743v4
- added SDMODELV2
- added iFlight Blitz H7 Pro
- added BLITZ Wing H743
- added highres IMU sampling on Pixhawk6X

2) System level minor enhancements and bug fixes

- fixed rare crash bug in lua scripting on script fault handling
- fixed Neopixel pulse proportions to work with more LED variants
- fixed timeout in lua rangefinder drivers
- workaround hardware issue in IST8310 compass
- allow FIFO rate logging for highres IMU sampling

3) Copter specific changes

- fixed speed constraint during avoidance backoff

------------------------------------------------------------------
Release 4.5.2 14th May 2024

No changes from 4.5.2-beta1
Expand Down
8 changes: 4 additions & 4 deletions ArduCopter/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduCopter V4.5.2"
#define THISFIRMWARE "ArduCopter V4.5.3-beta1"

// the following line is parsed by the autotest scripts
#define FIRMWARE_VERSION 4,5,2,FIRMWARE_VERSION_TYPE_OFFICIAL
#define FIRMWARE_VERSION 4,5,3,FIRMWARE_VERSION_TYPE_BETA

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 2
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 3
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>
26 changes: 26 additions & 0 deletions ArduPlane/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
ArduPilot Plane Release Notes:
------------------------------

Release 4.5.3-beta1 16th May 2024

Changes from 4.5.2

1) Board specific enhancements and bug fixes

- correct default GPS port on MambaH743v4
- added SDMODELV2
- added iFlight Blitz H7 Pro
- added BLITZ Wing H743
- added highres IMU sampling on Pixhawk6X

2) System level minor enhancements and bug fixes

- fixed rare crash bug in lua scripting on script fault handling
- fixed Neopixel pulse proportions to work with more LED variants
- fixed timeout in lua rangefinder drivers
- workaround hardware issue in IST8310 compass
- allow FIFO rate logging for highres IMU sampling

3) Plane specific changes

- fixed cancelling of FWD_GAIN setting for tiltrotors

------------------------------------------------------------------
Release 4.5.2 14th May 2024

No changes from 4.5.2-beta1
Expand Down
2 changes: 1 addition & 1 deletion ArduPlane/tiltrotor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ void Tiltrotor::continuous_update(void)
// operate in all VTOL modes except Q_AUTOTUNE. Forward rotor tilt is used to produce
// forward thrust equivalent to what would have been produced by a forward thrust motor
// set to quadplane.forward_throttle_pct()
const float fwd_g_demand = 0.01f * quadplane.forward_throttle_pct() / plane.quadplane.q_fwd_thr_gain;
const float fwd_g_demand = 0.01 * quadplane.forward_throttle_pct();
const float fwd_tilt_deg = MIN(degrees(atanf(fwd_g_demand)), (float)max_angle_deg);
slew(MIN(fwd_tilt_deg * (1/90.0), get_forward_flight_tilt()));
return;
Expand Down
8 changes: 4 additions & 4 deletions ArduPlane/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduPlane V4.5.2"
#define THISFIRMWARE "ArduPlane V4.5.3-beta1"

// the following line is parsed by the autotest scripts
#define FIRMWARE_VERSION 4,5,2,FIRMWARE_VERSION_TYPE_OFFICIAL
#define FIRMWARE_VERSION 4,5,3,FIRMWARE_VERSION_TYPE_BETA

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 2
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 3
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>
26 changes: 26 additions & 0 deletions Rover/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
Rover Release Notes:
--------------------

Release 4.5.3-beta1 16th May 2024

Changes from 4.5.2

1) Board specific enhancements and bug fixes

- correct default GPS port on MambaH743v4
- added SDMODELV2
- added iFlight Blitz H7 Pro
- added BLITZ Wing H743
- added highres IMU sampling on Pixhawk6X

2) System level minor enhancements and bug fixes

- fixed rare crash bug in lua scripting on script fault handling
- fixed Neopixel pulse proportions to work with more LED variants
- fixed timeout in lua rangefinder drivers
- workaround hardware issue in IST8310 compass
- allow FIFO rate logging for highres IMU sampling

3) Rover specific changes

- correct clamping of RTL_SPEED for fractional speed values

------------------------------------------------------------------
Release 4.5.2 14th May 2024

No changes from 4.5.2-beta1
Expand Down
2 changes: 1 addition & 1 deletion Rover/mode_rtl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ bool ModeRTL::_enter()
}

// initialise waypoint navigation library
g2.wp_nav.init(MAX(0, g2.rtl_speed));
g2.wp_nav.init(MAX(0.0f, g2.rtl_speed));

// set target to the closest rally point or home
#if HAL_RALLY_ENABLED
Expand Down
8 changes: 4 additions & 4 deletions Rover/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduRover V4.5.2"
#define THISFIRMWARE "ArduRover V4.5.3-beta1"

// the following line is parsed by the autotest scripts
#define FIRMWARE_VERSION 4,5,2,FIRMWARE_VERSION_TYPE_OFFICIAL
#define FIRMWARE_VERSION 4,5,3,FIRMWARE_VERSION_TYPE_BETA

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 2
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 3
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>
40 changes: 37 additions & 3 deletions Tools/AP_Bootloader/board_types.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ Reserved "NXP ucans32k146" 34
# values from external vendors
EXT_HW_RADIOLINK_MINI_PIX 3

# NOTE: the full range from 1000 to 1999 (inclusive) is reserved for
# NOTE: the full range from 1000 to 19999 (inclusive) is reserved for
# use by the ArduPilot bootloader. Do not allocate IDs in this range
# except via changes to the ArduPilot code

# Do not allocate IDs in the range 1000 to 1999 except via a PR
# Do not allocate IDs in the range 1000 to 19999 except via a PR
# against this file in https://github.com/ArduPilot/ardupilot/tree/master/Tools/AP_Bootloader/board_types.txt

# values starting with AP_ are implemented in the ArduPilot bootloader
Expand Down Expand Up @@ -227,7 +227,7 @@ AP_HW_YJUAV_A6 1113
AP_HW_YJUAV_A6Nano 1114
AP_HW_ACNS_CM4PILOT 1115
AP_HW_ACNS_F405AIO 1116
AP_HW_BLITZF7 1117
AP_HW_BLITZF7AIO 1117
AP_HW_RADIX2HD 1118
AP_HW_HEEWING_F405 1119
AP_HW_PodmanH7 1120
Expand Down Expand Up @@ -264,9 +264,21 @@ AP_HW_BotBloxSwitch 1148
AP_HW_MatekH7A3 1149
AP_HW_MicoAir405v2 1150
AP_HW_ORAQF405PRO 1155
AP_HW_CBU_StampH743 1156
AP_HW_FOXEERF405_V2 1157
AP_HW_CSKY405 1158
AP_HW_NxtPX4v2 1159
AP_HW_PixPilot-V6PRO 1160
AP_HW_MicoAir405Mini 1161
AP_HW_BlitzH7Pro 1162
AP_HW_BlitzF7Mini 1163
AP_HW_BlitzF7 1164
AP_HW_MicoAir743 1166
AP_HW_BlitzH7Wing 1168
AP_HW_SDMODELH7V2 1167

AP_HW_JHEMCUF405WING 1169
AP_HW_MatekG474 1170

AP_HW_ESP32_PERIPH 1205
AP_HW_ESP32S3_PERIPH 1206
Expand All @@ -283,7 +295,15 @@ AP_HW_VIMDRONES_PERIPH 1407

AP_HW_PIXHAWK6X_PERIPH 1408
AP_HW_CUBERED_PERIPH 1409
AP_HW_RadiolinkPIX6 1410

AP_HW_JHEMCU-H743HD 1411

AP_HW_LongbowF405 1422

AP_HW_MountainEagleH743 1444

AP_HW_SakuraRC-H743 2714

# IDs 5000-5099 reserved for Carbonix
# IDs 5100-5199 reserved for SYPAQ Systems
Expand All @@ -305,8 +325,22 @@ AP_HW_Sierra-TrueFlow 5307
AP_HW_Sierra-TrueNavIC-Pro 5308
AP_HW_Sierra-F1-Pro 5309

#IDs 5401-5499 reserved for holybro
AP_HW_Holybro-PMU-F4 5401
AP_HW_Holybro-UM982-G4 5402
AP_HW_Holybro-UM960-H7 5403
AP_HW_Holybro-PERIPH-H7 5404

#IDs 5501-5599 reserved for MATEKSYS
AP_HW_MATEKH743SE 5501

# IDs 6000-6099 reserved for SpektreWorks

# IDs 6600-6699 reserved for Eagle Eye Drones

# OpenDroneID enabled boards. Use 10000 + the base board ID
AP_HW_CubeOrange_ODID 10140
AP_HW_Pixhawk6_ODID 10053

# do not allocate board IDs above 10,000 for non-ODID boards.
# do not allocate board IDs above 19,999 in this file.
53 changes: 53 additions & 0 deletions Tools/autotest/arducopter.py
Original file line number Diff line number Diff line change
Expand Up @@ -1602,6 +1602,58 @@ def MaxAltFence(self):

self.zero_throttle()

# MaxAltFence - fly up and make sure fence action does not trigger
# Also check that the vehicle will not try and descend too fast when trying to backup from a max alt fence due to avoidance
def MaxAltFenceAvoid(self):
'''Test Max Alt Fence Avoidance'''
self.takeoff(10, mode="LOITER")
"""Hold loiter position."""

# enable fence, only max altitude, defualt is 100m
# No action, rely on avoidance to prevent the breach
self.set_parameters({
"FENCE_ENABLE": 1,
"FENCE_TYPE": 1,
"FENCE_ACTION": 0,
})

# Try and fly past the fence
self.set_rc(3, 1920)

# Avoid should prevent the vehicle flying past the fence, so the altitude wait should timeouts
try:
self.wait_altitude(140, 150, timeout=90, relative=True)
raise NotAchievedException("Avoid should prevent reaching altitude")
except AutoTestTimeoutException:
pass
except Exception as e:
raise e

# Check descent is not too fast, allow 10% above the configured backup speed
max_descent_rate = -self.get_parameter("AVOID_BACKUP_SPD") * 1.1

def get_climb_rate(mav, m):
m_type = m.get_type()
if m_type != 'VFR_HUD':
return
if m.climb < max_descent_rate:
raise NotAchievedException("Decending too fast want %f got %f" % (max_descent_rate, m.climb))

self.context_push()
self.install_message_hook_context(get_climb_rate)

# Reduce fence alt, this will result in a fence breach, but there is no action.
# Avoid should then backup the vehicle to be under the new fence alt.
self.set_parameters({
"FENCE_ALT_MAX": 50,
})
self.wait_altitude(40, 50, timeout=90, relative=True)

self.context_pop()

self.set_rc(3, 1500)
self.do_RTL()

# fly_alt_min_fence_test - fly down until you hit the fence floor
def MinAltFence(self):
'''Test Min Alt Fence'''
Expand Down Expand Up @@ -10124,6 +10176,7 @@ def tests1d(self):
self.HorizontalFence,
self.HorizontalAvoidFence,
self.MaxAltFence,
self.MaxAltFenceAvoid,
self.MinAltFence,
self.FenceFloorEnabledLanding,
self.AutoTuneSwitch,
Expand Down
Binary file added Tools/bootloaders/BlitzH743Pro_bl.bin
Binary file not shown.
Loading
Loading