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, Plane, Rover, Tracker: 4.5.6-beta1 release #27868

Merged
merged 52 commits into from
Aug 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
b1952e5
AP_Filesystem: remove unused variables
andyp1per Feb 19, 2024
6a364ac
AP_Mount: squash static_assert warnings
andyp1per Feb 19, 2024
38765d2
AP_RCProtocol: squash compile warning
andyp1per Feb 19, 2024
5d2a26e
AP_Param: remove unused variable
andyp1per Feb 19, 2024
5bc2efa
AP_Logger: remove unused variables
andyp1per Feb 19, 2024
ee86db1
SITL: squash static_assert warnings
andyp1per Feb 19, 2024
beb97fe
AP_GPS: fix GPS headings
Ryanf55 May 12, 2024
0e796ba
SITL: fix GPS headings
Ryanf55 May 12, 2024
af28de5
AP_HAL_ChibiOS: Support for 3DR Control Zero H7 OEM rev G
lgarciaos Apr 16, 2024
515328d
bootloaders: Support for 3DR Control Zero H7 OEM rev G
lgarciaos Apr 16, 2024
6d6ef3b
autotest: fold close method into sole caller
peterbarker May 31, 2024
4ca2bc0
autotest: correct Valgrind error detection
peterbarker May 31, 2024
16145c0
SITL: correct valgrind failure in SIM_GPS_SBP
peterbarker May 31, 2024
54e0be6
Update Pixhawk6C hwdef.dat
vincentpoont2 Jul 3, 2024
48bf566
AC_PID: correct error caculation to use latest target
IamPete1 Jul 6, 2024
b46768a
AP_Baro: avoid i2c errors with ICP101XX
tridge Jul 6, 2024
19cde12
AP_Camera: proper string formatting
landswellsong Jul 16, 2024
63e2628
AP_SmartRTL: add point made public
rmackay9 Jul 23, 2024
6dca7f0
Copter: SmartRTL mode restores point if interrupted
rmackay9 Jul 23, 2024
e4e76dc
AP_InertialSensor: Fix persistent storing of IMU Z Scale
joshanne Jul 17, 2024
433a876
AP_InertialSensor: Check the gyro/accel id has not been previously re…
joshanne Jul 17, 2024
002abae
AP_Baro: Add in BMP581 Driver
cuav-chen2 Jun 6, 2024
a6d5e82
HAL_ChibiOS: Added support for CUAV-7-Nano flight controller
cuav-chen2 Jul 3, 2024
ba6f702
bootloaders: Add CUAV-7-Nano bootloader
cuav-chen2 Jul 3, 2024
def9c37
AP_HAL_ChibiOS: add servo outputs as motors to FoxeerF405v2
andyp1per May 25, 2024
579c9d9
AP_DroneCAN: DNA_Server: fix handling of empty entry
tpwrules Jul 13, 2024
181c8bb
AP_HAL_ChibiOS: fix TMotor H743 with BMI270
andyp1per Aug 6, 2024
cd4a9b7
AP_OSD: use highest ESC temp rather than motor temp
andyp1per Aug 6, 2024
ea7110c
AP_ESC_Telem: use highest ESC temp rather than motor temp
andyp1per Aug 6, 2024
b9da1cf
AP_MSP: use highest ESC temp rather than motor temp
andyp1per Aug 6, 2024
f5dac9d
Copter: Fix payload place bug
lthall Aug 8, 2024
4c1f454
AP_Logger: correctly read file header for block logger
andyp1per Aug 12, 2024
a8e0f7b
AP_Bootloader: iFlight 2RAWH743
andyp1per May 26, 2024
0076055
bootloaders: iFlight 2RAWH743
andyp1per Jul 26, 2024
b398a37
AP_HAL_ChibiOS: iFlight 2RAWH743
andyp1per Jul 26, 2024
76047c0
AP_HAL_ChibiOS: add ZeroOneX6
Jul 30, 2024
3a25791
Tools: add ZeroOneX6
Jul 30, 2024
15ba132
hwdef: correct ZeroOne LED defines for backport
peterbarker Jul 30, 2024
f05b9af
AP_IOMCU: add GPIO mask getter and GPIO virtual read
IamPete1 Jul 28, 2024
6e86194
AP_HAL_ChibiOS: RCOut banner: check for GPIO on IOMCU
IamPete1 Jul 28, 2024
9e468e1
AP_HAL_ChibiOS: GPIO: Check IOMCU after local pins for speed
IamPete1 Jul 28, 2024
01c28c3
AP_HAL_ChibiOS: GPIO: read: support virtual read of IOMCU pins
IamPete1 Jul 28, 2024
d697ece
AP_HAL_ChibiOS: added MFT-SEMA100
EternAlmox Aug 1, 2024
74b73f3
Tools: added MFT-SEMA100
tridge Aug 20, 2024
abdcbac
Tracker: 4.5.6-beta1 release notes
rmackay9 Aug 19, 2024
8e1526d
Tracker: version to 4.5.6-beta1
rmackay9 Aug 19, 2024
55b4500
Rover: 4.5.6-beta1 release notes
rmackay9 Aug 19, 2024
c63722b
Rover: version to 4.5.6-beta1
rmackay9 Aug 19, 2024
7d20cf4
Copter: 4.5.6-beta1 release notes
rmackay9 Aug 19, 2024
f89e07e
Copter: version to 4.5.6-beta1
rmackay9 Aug 19, 2024
c074f2a
Plane: 4.5.6-beta1 release notes
rmackay9 Aug 19, 2024
2b40b65
Plane: version to 4.5.6-beta1
rmackay9 Aug 19, 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
28 changes: 28 additions & 0 deletions AntennaTracker/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
Antenna Tracker Release Notes:
------------------------------------------------------------------
Release 4.5.6-beta1 20 Aug 2024

Changes from 4.5.5

1) Board specific enhancements and bug fixes

- 3DR Control Zero H7 Rev G support
- CUAV-7-Nano support
- FoxeerF405v2 servo outputs increased from 9 to 11
- Holybro Pixhawk6C hi-power peripheral overcurrent reporting fixed
- iFlight 2RAW H7 support
- MFT-SEMA100 support
- TMotorH743 support BMI270 baro
- ZeroOneX6 support

2) Minor enhancements and bug fixes

- Cameras using MAVLink report vendor and model name correctly
- DroneCAN fix to remove occasional NodeID registration error
- GPS NMEA and GSoF driver ground course corrected (now always 0 ~ 360 deg)
- ICP101XX barometer slowed to avoid I2C communication errors
- IMU temp cal param (INSn_ACCSCAL_Z) stored correctly when bootloader is flashed
- IMU gyro/accel duplicate id registration fixed to avoid possible pre-arm failure
- Logging to flash timestamp fix
- OSD displays ESC temp instead of motor temp
- PID controller error calculation bug fix (was using target from prev iteration)
- Relay on MAIN pins fixed
------------------------------------------------------------------
Release 4.5.5 1st Aug 2024

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

#include "ap_version.h"

#define THISFIRMWARE "AntennaTracker V4.5.5"
#define THISFIRMWARE "AntennaTracker V4.5.6-beta1"

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

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 5
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 6
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>
33 changes: 33 additions & 0 deletions ArduCopter/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,37 @@
ArduPilot Copter Release Notes:
------------------------------------------------------------------
Release 4.5.6-beta1 20 Aug 2024

Changes from 4.5.5

1) Board specific enhancements and bug fixes

- 3DR Control Zero H7 Rev G support
- CUAV-7-Nano support
- FoxeerF405v2 servo outputs increased from 9 to 11
- Holybro Pixhawk6C hi-power peripheral overcurrent reporting fixed
- iFlight 2RAW H7 support
- MFT-SEMA100 support
- TMotorH743 support BMI270 baro
- ZeroOneX6 support

2) Minor enhancements and bug fixes

- Cameras using MAVLink report vendor and model name correctly
- DroneCAN fix to remove occasional NodeID registration error
- GPS NMEA and GSoF driver ground course corrected (now always 0 ~ 360 deg)
- ICP101XX barometer slowed to avoid I2C communication errors
- IMU temp cal param (INSn_ACCSCAL_Z) stored correctly when bootloader is flashed
- IMU gyro/accel duplicate id registration fixed to avoid possible pre-arm failure
- Logging to flash timestamp fix
- OSD displays ESC temp instead of motor temp
- PID controller error calculation bug fix (was using target from prev iteration)
- Relay on MAIN pins fixed

3) Copter specific fixes

- Payload place bug fix (calimb rate after releasing payload was unreliable)

------------------------------------------------------------------
Release 4.5.5 1st Aug 2024

Expand Down
4 changes: 4 additions & 0 deletions ArduCopter/mode.h
Original file line number Diff line number Diff line change
Expand Up @@ -1507,6 +1507,10 @@ class ModeSmartRTL : public ModeRTL {
// point while following our path home. If we take too long we
// may choose to land the vehicle.
uint32_t path_follow_last_pop_fail_ms;

// backup last popped point so that it can be restored to the path
// if vehicle exits SmartRTL mode before reaching home. invalid if zero
Vector3f dest_NED_backup;
};


Expand Down
7 changes: 3 additions & 4 deletions ArduCopter/mode_auto.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1395,24 +1395,23 @@ void PayloadPlace::run()
copter.flightmode->land_run_horizontal_control();
// update altitude target and call position controller
pos_control->land_at_climb_rate_cm(-descent_speed_cms, true);
pos_control->update_z_controller();
return;
break;
case State::Release:
case State::Releasing:
case State::Delay:
case State::Ascent_Start:
copter.flightmode->land_run_horizontal_control();
// update altitude target and call position controller
pos_control->land_at_climb_rate_cm(0.0, false);
pos_control->update_z_controller();
return;
break;
case State::Ascent:
case State::Done:
float vel = 0.0;
copter.flightmode->land_run_horizontal_control();
pos_control->input_pos_vel_accel_z(descent_start_altitude_cm, vel, 0.0);
break;
}
pos_control->update_z_controller();
}
#endif

Expand Down
16 changes: 15 additions & 1 deletion ArduCopter/mode_smart_rtl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ bool ModeSmartRTL::init(bool ignore_checks)
// perform cleanup required when leaving smart_rtl
void ModeSmartRTL::exit()
{
// restore last point if we hadn't reached it
if (smart_rtl_state == SubMode::PATH_FOLLOW && !dest_NED_backup.is_zero()) {
if (!g2.smart_rtl.add_point(dest_NED_backup)) {
GCS_SEND_TEXT(MAV_SEVERITY_ERROR, "SmartRTL: lost one point");
}
}
dest_NED_backup.zero();

g2.smart_rtl.cancel_request_for_thorough_cleanup();
}

Expand Down Expand Up @@ -83,10 +91,16 @@ void ModeSmartRTL::path_follow_run()
{
// if we are close to current target point, switch the next point to be our target.
if (wp_nav->reached_wp_destination()) {
Vector3f dest_NED;

// clear destination backup so that it cannot be restored
dest_NED_backup.zero();

// this pop_point can fail if the IO task currently has the
// path semaphore.
Vector3f dest_NED;
if (g2.smart_rtl.pop_point(dest_NED)) {
// backup destination in case we exit smart_rtl mode and need to restore it to the path
dest_NED_backup = dest_NED;
path_follow_last_pop_fail_ms = 0;
if (g2.smart_rtl.get_num_points() == 0) {
// this is the very last point, add 2m to the target alt and move to pre-land state
Expand Down
6 changes: 3 additions & 3 deletions ArduCopter/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
#define THISFIRMWARE "ArduCopter V4.5.5"

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

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 5
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 6
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>
28 changes: 28 additions & 0 deletions ArduPlane/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
ArduPilot Plane Release Notes:
------------------------------------------------------------------
Release 4.5.6-beta1 20 Aug 2024

Changes from 4.5.5

1) Board specific enhancements and bug fixes

- 3DR Control Zero H7 Rev G support
- CUAV-7-Nano support
- FoxeerF405v2 servo outputs increased from 9 to 11
- Holybro Pixhawk6C hi-power peripheral overcurrent reporting fixed
- iFlight 2RAW H7 support
- MFT-SEMA100 support
- TMotorH743 support BMI270 baro
- ZeroOneX6 support

2) Minor enhancements and bug fixes

- Cameras using MAVLink report vendor and model name correctly
- DroneCAN fix to remove occasional NodeID registration error
- GPS NMEA and GSoF driver ground course corrected (now always 0 ~ 360 deg)
- ICP101XX barometer slowed to avoid I2C communication errors
- IMU temp cal param (INSn_ACCSCAL_Z) stored correctly when bootloader is flashed
- IMU gyro/accel duplicate id registration fixed to avoid possible pre-arm failure
- Logging to flash timestamp fix
- OSD displays ESC temp instead of motor temp
- PID controller error calculation bug fix (was using target from prev iteration)
- Relay on MAIN pins fixed
------------------------------------------------------------------
Release 4.5.5 1st Aug 2024

No changes from 4.5.5-beta2
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.5"
#define THISFIRMWARE "ArduPlane V4.5.6-beta1"

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

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 5
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 6
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>
28 changes: 28 additions & 0 deletions Rover/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
Rover Release Notes:
------------------------------------------------------------------
Release 4.5.6-beta1 20 Aug 2024

Changes from 4.5.5

1) Board specific enhancements and bug fixes

- 3DR Control Zero H7 Rev G support
- CUAV-7-Nano support
- FoxeerF405v2 servo outputs increased from 9 to 11
- Holybro Pixhawk6C hi-power peripheral overcurrent reporting fixed
- iFlight 2RAW H7 support
- MFT-SEMA100 support
- TMotorH743 support BMI270 baro
- ZeroOneX6 support

2) Minor enhancements and bug fixes

- Cameras using MAVLink report vendor and model name correctly
- DroneCAN fix to remove occasional NodeID registration error
- GPS NMEA and GSoF driver ground course corrected (now always 0 ~ 360 deg)
- ICP101XX barometer slowed to avoid I2C communication errors
- IMU temp cal param (INSn_ACCSCAL_Z) stored correctly when bootloader is flashed
- IMU gyro/accel duplicate id registration fixed to avoid possible pre-arm failure
- Logging to flash timestamp fix
- OSD displays ESC temp instead of motor temp
- PID controller error calculation bug fix (was using target from prev iteration)
- Relay on MAIN pins fixed
------------------------------------------------------------------
Release 4.5.5 1st Aug 2024

No changes from 4.5.5-beta2
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.5"
#define THISFIRMWARE "ArduRover V4.5.6-beta1"

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

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 5
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 6
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>
3 changes: 3 additions & 0 deletions Tools/AP_Bootloader/board_types.txt
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@ AP_HW_SDMODELH7V2 1167

AP_HW_JHEMCUF405WING 1169
AP_HW_MatekG474 1170
AP_HW_2RAWH743 1173

AP_HW_ESP32_PERIPH 1205
AP_HW_ESP32S3_PERIPH 1206
Expand All @@ -303,6 +304,8 @@ AP_HW_LongbowF405 1422

AP_HW_MountainEagleH743 1444

AP_HW_MFT-SEMA100 2000

AP_HW_SakuraRC-H743 2714

# IDs 5000-5099 reserved for Carbonix
Expand Down
53 changes: 32 additions & 21 deletions Tools/autotest/vehicle_test_suite.py
Original file line number Diff line number Diff line change
Expand Up @@ -1491,6 +1491,16 @@ def __str__(self):
return ret


class ValgrindFailedResult(Result):
'''a custom Result to allow passing of Vaglrind failures around'''
def __init__(self):
super(ValgrindFailedResult, self).__init__(None)
self.passed = False

def __str__(self):
return "Valgrind error detected"


class TestSuite(ABC):
"""Base abstract class.
It implements the common function for all vehicle types.
Expand Down Expand Up @@ -3017,26 +3027,6 @@ def stop_SITL(self):
util.pexpect_close(self.sitl)
self.sitl = None

def close(self):
"""Tidy up after running all tests."""

if self.mav is not None:
self.mav.close()
self.mav = None
self.stop_SITL()

valgrind_log = util.valgrind_log_filepath(binary=self.binary,
model=self.frame)
files = glob.glob("*" + valgrind_log)
for valgrind_log in files:
os.chmod(valgrind_log, 0o644)
if os.path.getsize(valgrind_log) > 0:
target = self.buildlogs_path("%s-%s" % (
self.log_name(),
os.path.basename(valgrind_log)))
self.progress("Valgrind log: moving %s to %s" % (valgrind_log, target))
shutil.move(valgrind_log, target)

def start_test(self, description):
self.progress("##################################################################################")
self.progress("########## %s ##########" % description)
Expand Down Expand Up @@ -11656,7 +11646,28 @@ def run_tests(self, tests) -> List[Result]:
self.rc_thread_should_quit = True
self.rc_thread.join()
self.rc_thread = None
self.close()

if self.mav is not None:
self.mav.close()
self.mav = None

self.stop_SITL()

valgrind_log = util.valgrind_log_filepath(binary=self.binary,
model=self.frame)
files = glob.glob("*" + valgrind_log)
valgrind_failed = False
for valgrind_log in files:
os.chmod(valgrind_log, 0o644)
if os.path.getsize(valgrind_log) > 0:
target = self.buildlogs_path("%s-%s" % (
self.log_name(),
os.path.basename(valgrind_log)))
self.progress("Valgrind log: moving %s to %s" % (valgrind_log, target))
shutil.move(valgrind_log, target)
valgrind_failed = True
if valgrind_failed:
result_list.append(ValgrindFailedResult())

return result_list

Expand Down
Binary file added Tools/bootloaders/3DRControlZeroG_bl.bin
Binary file not shown.
Loading
Loading