Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
c2aca01
AP_RangeFinder: populate last_reading_ms in the backend for some sensors
rishabsingh3003 Jul 23, 2024
edfa1d9
AP_InertialSensor: prearm check to validate backend read rates agains…
bugobliterator Nov 18, 2024
6f2a60e
AP_Arming: prearm check to validate backend read rates against schedu…
bugobliterator Nov 18, 2024
7b22c5a
AP_InertialSensor: don't do gyro rate prearm check for external ahrs …
bugobliterator Apr 2, 2025
9abd4e5
AP_Mount: add get_attitude_quaternion method
rmackay9 Dec 6, 2024
5ff4b33
AP_Camera: always send camera-fov-status
rmackay9 Dec 6, 2024
9441736
AP_Camera: camera-status-fov attitude in earth frame
rmackay9 Dec 6, 2024
20275fe
Rover: Reduce min circle radius to 0.1m
stephendade Dec 20, 2024
9181ee9
AP_Scripting: make min speed configurable in rover-quicktune
stephendade Dec 20, 2024
bb3ad9d
AP_HAL_ChibiOS: add NarinFC-H7
vololand Mar 25, 2025
7060b6e
Tools: add NarinFC-H7 commit.
vololand Mar 25, 2025
d0779ba
AP_GPS: speed up ublox configuration
tridge Feb 25, 2025
78d8e31
DroneCAN: update libcanard for semaphore bug fix
tridge Mar 4, 2025
061bc0e
SCurve: Fix speed and accel checks to include z component when transi…
lthall Mar 24, 2025
16d1609
Tools: autotest: copter: AutoContinueOnRCFailsafe: increase waypoint …
IamPete1 Mar 17, 2025
ca6fdb1
SCurve: Clarify segment names
lthall Mar 24, 2025
8e3e078
SITL: added SIM_IMU_ORIENT parameter
tridge Apr 1, 2025
3573407
AP_InertialSensor: support SIM_IMU_ORIENT
tridge Apr 1, 2025
2368094
AP_AHRS: fixed initial attitude for non-zero AHRS_ORIENTATION
tridge Apr 1, 2025
4aa8c65
AP_HAL_ChibiOS: Brother Hobby F405v3
andyp1per Apr 10, 2025
2019c62
bootloaders: Brother Hobby F405v3
andyp1per Apr 10, 2025
862ec2f
AP_InertialSensor: Fix temperature conversion for SCHA63T
tatsuy Apr 4, 2025
0814e20
GCS_MAVLink: remove 'No ap_message for mavlink id' warning
peterbarker Apr 15, 2025
625eaa8
AP_HAL_ChibiOS: Fix using the incorrect pin after checking the correc…
joshanne Apr 15, 2025
7bc1c5a
AP_Proximity: Add more proximity backends
rishabsingh3003 Aug 25, 2024
ac16487
AP_HAL_ChibiOS: VTX power pin moved on FlywooF405HD
andyp1per Apr 19, 2025
328c0c6
AP_BattMonitor: handle_scripting nullptr check
robertlong13 Apr 22, 2025
8aa4db4
Tools:reserve bd id for NarinH7
Hwurzburg Jan 21, 2025
6a0d20e
AP_Airspeed: correct compilation when AP_AIRSPEED_AUTO_CAL_ENABLE is …
peterbarker Dec 14, 2024
1d61323
Tools: size_compare_branches.py: mark navigator64 as a Linux board
peterbarker Jan 30, 2025
813e3bf
AP_GPS: NOVA: fix undulation
tpwrules Apr 25, 2025
8fc7231
hwdef: build fixes for omnibusf4pro-bdshot and revo-mini-i2c-bdshot
andyp1per Apr 26, 2025
22dada0
AP_HAL_ChibiOS: fix SkystarsH7HD-bdshot build
andyp1per Apr 28, 2025
cee4be7
autotest: Make Plane.TakeoffGround more robust
Georacer Apr 20, 2025
25e49fa
Plane: Added rotation complete flag
Georacer Apr 20, 2025
e14ea7d
Tools: added plane TakeoffLevelOffWind test
tridge Apr 28, 2025
5d61e3f
AP_GPS: log altitude above ellipsoid instead of undulation
tpwrules Apr 26, 2025
ed66e92
Tracker: 4.6.0-beta6 release notes
rmackay9 Apr 25, 2025
24c08a0
Tracker: version to 4.6.0-beta6
rmackay9 Apr 25, 2025
3f3f47a
Rover: 4.6.0-beta6 release notes
rmackay9 Apr 25, 2025
a8d1c23
Rover: version to 4.6.0-beta6
rmackay9 Apr 25, 2025
aa42d0c
Copter: 4.6.0-beta6 release notes
rmackay9 Apr 25, 2025
8c74fd2
Copter: version to 4.6.0-beta6
rmackay9 Apr 25, 2025
a7b9129
Plane: 4.6.0-beta6 release notes
rmackay9 Apr 25, 2025
12d3503
Plane: version to 4.6.0-beta6
rmackay9 Apr 25, 2025
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
48 changes: 48 additions & 0 deletions AntennaTracker/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,53 @@
Antenna Tracker Release Notes:
------------------------------------------------------------------
Release 4.6.0-beta6 28-Apr-2025

Changes from 4.6.0-beta5

1) Board specific changes

- ARK FPV, LumenierLuxF765, MicroAir743, StellarF4v2, X-MAV-AP-H743v2 OSD Type defaults fixed
- BETAFPV-F405-I2C UART6 fix
- BrotherHobby F405v3 and H743 support
- FlywooF405HD VTX power pin fixed
- NarinFC-H7 support
- TBS Lucid H7 Wing support
- TBS Lucid H7 support for both I2C ports

2) Driver bug fixes and enhancements

- DroneCAN semaphore bug fixed which affected MPPT battery and Serial-over-CAN
- GPS logs altitude above ellipsoid instead of undulation
- GSOF GPS protects against port misconfiguration
- UBlox GPS configuration sped up
- Lua script battery monitor failures that could cause hardfaults fixed
- Nova GPS undulation fix
- Proximity backends increased to 5
- SCHA63T IMU temperature reporting bug fixed

3) Plane specific fixes and enhancements

- Circle mode terrain alt handling fixed
- Fence re-enable after fence breach fixed
- Prevent rotation pitch calculations from running post-rotation
- Takeoff leveloff timeout check added
- Terrain guided target intermediate alt handling fixed

4) Copter SCurve navigation fix to avoid excessive vertical speed when passing through waypoints

5) Rover circle mode and QuickTune support smaller vehicles

6) Bug Fixes and minor enhancements

- AHRS initial orientation fixed when autopilot mounted in non-default orientation
- AIRSPEED mavlink message health flags fixed
- CAMERA_FOV_STATUS message always sent (once requested), attitude is earth-frame and FOV can be decimal numbers
- DDS / ROS2 fix to provide clock_gettime only on ChibiOS boards
- Lightware I2C and HC SR04 fixed timestamp for last reading (should only affect AP_Periph devices)
- "No ap_message for mavlink id" warning removed
- Power brick2 valid flag fixed on some boards
- Pre-arm check that gyro read rate is at least the main loop rate
------------------------------------------------------------------
Release 4.6.0-beta5 31-Mar-2025

Changes from 4.6.0-beta4
Expand Down
4 changes: 2 additions & 2 deletions AntennaTracker/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

#include "ap_version.h"

#define THISFIRMWARE "AntennaTracker V4.6.0-beta5"
#define THISFIRMWARE "AntennaTracker V4.6.0-beta6"

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

#define FW_MAJOR 4
#define FW_MINOR 6
Expand Down
48 changes: 48 additions & 0 deletions ArduCopter/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,53 @@
ArduPilot Copter Release Notes:
------------------------------------------------------------------
Release 4.6.0-beta6 28-Apr-2025

Changes from 4.6.0-beta5

1) Board specific changes

- ARK FPV, LumenierLuxF765, MicroAir743, StellarF4v2, X-MAV-AP-H743v2 OSD Type defaults fixed
- BETAFPV-F405-I2C UART6 fix
- BrotherHobby F405v3 and H743 support
- FlywooF405HD VTX power pin fixed
- NarinFC-H7 support
- TBS Lucid H7 Wing support
- TBS Lucid H7 support for both I2C ports

2) Driver bug fixes and enhancements

- DroneCAN semaphore bug fixed which affected MPPT battery and Serial-over-CAN
- GPS logs altitude above ellipsoid instead of undulation
- GSOF GPS protects against port misconfiguration
- UBlox GPS configuration sped up
- Lua script battery monitor failures that could cause hardfaults fixed
- Nova GPS undulation fix
- Proximity backends increased to 5
- SCHA63T IMU temperature reporting bug fixed

3) Plane specific fixes and enhancements

- Circle mode terrain alt handling fixed
- Fence re-enable after fence breach fixed
- Prevent rotation pitch calculations from running post-rotation
- Takeoff leveloff timeout check added
- Terrain guided target intermediate alt handling fixed

4) Copter SCurve navigation fix to avoid excessive vertical speed when passing through waypoints

5) Rover circle mode and QuickTune support smaller vehicles

6) Bug Fixes and minor enhancements

- AHRS initial orientation fixed when autopilot mounted in non-default orientation
- AIRSPEED mavlink message health flags fixed
- CAMERA_FOV_STATUS message always sent (once requested), attitude is earth-frame and FOV can be decimal numbers
- DDS / ROS2 fix to provide clock_gettime only on ChibiOS boards
- Lightware I2C and HC SR04 fixed timestamp for last reading (should only affect AP_Periph devices)
- "No ap_message for mavlink id" warning removed
- Power brick2 valid flag fixed on some boards
- Pre-arm check that gyro read rate is at least the main loop rate
------------------------------------------------------------------
Release 4.6.0-beta5 31-Mar-2025

Changes from 4.6.0-beta4
Expand Down
4 changes: 2 additions & 2 deletions ArduCopter/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduCopter V4.6.0-beta5"
#define THISFIRMWARE "ArduCopter V4.6.0-beta6"

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

#define FW_MAJOR 4
#define FW_MINOR 6
Expand Down
3 changes: 3 additions & 0 deletions ArduPlane/Plane.h
Original file line number Diff line number Diff line change
Expand Up @@ -550,6 +550,9 @@ class Plane : public AP_Vehicle {

// last home altitude for detecting changes
int32_t last_home_alt_cm;

// have we finished the takeoff ratation (when it applies)?
bool rotation_complete;
} auto_state;

#if AP_SCRIPTING_ENABLED
Expand Down
48 changes: 48 additions & 0 deletions ArduPlane/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,53 @@
ArduPilot Plane Release Notes:
------------------------------------------------------------------
Release 4.6.0-beta6 28-Apr-2025

Changes from 4.6.0-beta5

1) Board specific changes

- ARK FPV, LumenierLuxF765, MicroAir743, StellarF4v2, X-MAV-AP-H743v2 OSD Type defaults fixed
- BETAFPV-F405-I2C UART6 fix
- BrotherHobby F405v3 and H743 support
- FlywooF405HD VTX power pin fixed
- NarinFC-H7 support
- TBS Lucid H7 Wing support
- TBS Lucid H7 support for both I2C ports

2) Driver bug fixes and enhancements

- DroneCAN semaphore bug fixed which affected MPPT battery and Serial-over-CAN
- GPS logs altitude above ellipsoid instead of undulation
- GSOF GPS protects against port misconfiguration
- UBlox GPS configuration sped up
- Lua script battery monitor failures that could cause hardfaults fixed
- Nova GPS undulation fix
- Proximity backends increased to 5
- SCHA63T IMU temperature reporting bug fixed

3) Plane specific fixes and enhancements

- Circle mode terrain alt handling fixed
- Fence re-enable after fence breach fixed
- Prevent rotation pitch calculations from running post-rotation
- Takeoff leveloff timeout check added
- Terrain guided target intermediate alt handling fixed

4) Copter SCurve navigation fix to avoid excessive vertical speed when passing through waypoints

5) Rover circle mode and QuickTune support smaller vehicles

6) Bug Fixes and minor enhancements

- AHRS initial orientation fixed when autopilot mounted in non-default orientation
- AIRSPEED mavlink message health flags fixed
- CAMERA_FOV_STATUS message always sent (once requested), attitude is earth-frame and FOV can be decimal numbers
- DDS / ROS2 fix to provide clock_gettime only on ChibiOS boards
- Lightware I2C and HC SR04 fixed timestamp for last reading (should only affect AP_Periph devices)
- "No ap_message for mavlink id" warning removed
- Power brick2 valid flag fixed on some boards
- Pre-arm check that gyro read rate is at least the main loop rate
------------------------------------------------------------------
Release 4.6.0-beta5 31-Mar-2025

Changes from 4.6.0-beta4
Expand Down
1 change: 1 addition & 0 deletions ArduPlane/commands_logic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -382,6 +382,7 @@ void Plane::do_takeoff(const AP_Mission::Mission_Command& cmd)
next_WP_loc.lng = home.lng + 10;
auto_state.takeoff_speed_time_ms = 0;
auto_state.takeoff_complete = false; // set flag to use gps ground course during TO. IMU will be doing yaw drift correction.
auto_state.rotation_complete = false;
auto_state.height_below_takeoff_to_level_off_cm = 0;
// Flag also used to override "on the ground" throttle disable

Expand Down
3 changes: 3 additions & 0 deletions ArduPlane/mode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ bool Mode::enter()
// disable taildrag takeoff on mode change
plane.auto_state.fbwa_tdrag_takeoff_mode = false;

// wipe the takeoff rotation complete state
plane.auto_state.rotation_complete = false;

// start with previous WP at current location
plane.prev_WP_loc = plane.current_loc;

Expand Down
3 changes: 2 additions & 1 deletion ArduPlane/takeoff.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ void Plane::takeoff_calc_pitch(void)
{
// First see if TKOFF_ROTATE_SPD applies.
// This will set the pitch for the first portion of the takeoff, up until cruise speed is reached.
if (g.takeoff_rotate_speed > 0) {
if (!auto_state.rotation_complete && g.takeoff_rotate_speed > 0) {
// A non-zero rotate speed is recommended for ground takeoffs.
if (auto_state.highest_airspeed < g.takeoff_rotate_speed) {
// We have not reached rotate speed, use the specified takeoff target pitch angle.
Expand All @@ -202,6 +202,7 @@ void Plane::takeoff_calc_pitch(void)
return;
}
}
auto_state.rotation_complete = true;

// We are now past the rotation.
// Initialize pitch limits for TECS.
Expand Down
4 changes: 2 additions & 2 deletions ArduPlane/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduPlane V4.6.0-beta5"
#define THISFIRMWARE "ArduPlane V4.6.0-beta6"

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

#define FW_MAJOR 4
#define FW_MINOR 6
Expand Down
48 changes: 48 additions & 0 deletions Rover/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,53 @@
Rover Release Notes:
------------------------------------------------------------------
Release 4.6.0-beta6 28-Apr-2025

Changes from 4.6.0-beta5

1) Board specific changes

- ARK FPV, LumenierLuxF765, MicroAir743, StellarF4v2, X-MAV-AP-H743v2 OSD Type defaults fixed
- BETAFPV-F405-I2C UART6 fix
- BrotherHobby F405v3 and H743 support
- FlywooF405HD VTX power pin fixed
- NarinFC-H7 support
- TBS Lucid H7 Wing support
- TBS Lucid H7 support for both I2C ports

2) Driver bug fixes and enhancements

- DroneCAN semaphore bug fixed which affected MPPT battery and Serial-over-CAN
- GPS logs altitude above ellipsoid instead of undulation
- GSOF GPS protects against port misconfiguration
- UBlox GPS configuration sped up
- Lua script battery monitor failures that could cause hardfaults fixed
- Nova GPS undulation fix
- Proximity backends increased to 5
- SCHA63T IMU temperature reporting bug fixed

3) Plane specific fixes and enhancements

- Circle mode terrain alt handling fixed
- Fence re-enable after fence breach fixed
- Prevent rotation pitch calculations from running post-rotation
- Takeoff leveloff timeout check added
- Terrain guided target intermediate alt handling fixed

4) Copter SCurve navigation fix to avoid excessive vertical speed when passing through waypoints

5) Rover circle mode and QuickTune support smaller vehicles

6) Bug Fixes and minor enhancements

- AHRS initial orientation fixed when autopilot mounted in non-default orientation
- AIRSPEED mavlink message health flags fixed
- CAMERA_FOV_STATUS message always sent (once requested), attitude is earth-frame and FOV can be decimal numbers
- DDS / ROS2 fix to provide clock_gettime only on ChibiOS boards
- Lightware I2C and HC SR04 fixed timestamp for last reading (should only affect AP_Periph devices)
- "No ap_message for mavlink id" warning removed
- Power brick2 valid flag fixed on some boards
- Pre-arm check that gyro read rate is at least the main loop rate
------------------------------------------------------------------
Release 4.6.0-beta5 31-Mar-2025

Changes from 4.6.0-beta4
Expand Down
3 changes: 3 additions & 0 deletions Rover/mode.h
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,9 @@ class ModeCircle : public Mode
Number mode_number() const override { return Number::CIRCLE; }
const char *name4() const override { return "CIRC"; }

// return the distance at which the vehicle is considered to be on track along the circle
float get_reached_distance() const;

// initialise with specific center location, radius (in meters) and direction
// replaces use of _enter when initialised from within Auto mode
bool set_center(const Location& center_loc, float radius_m, bool dir_ccw);
Expand Down
18 changes: 13 additions & 5 deletions Rover/mode_circle.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
#include "Rover.h"

#define AR_CIRCLE_ACCEL_DEFAULT 1.0 // default acceleration in m/s/s if not specified by user
#define AR_CIRCLE_RADIUS_MIN 0.5 // minimum radius in meters
#define AR_CIRCLE_REACHED_EDGE_DIST 0.2 // vehicle has reached edge if within 0.2m
#define AR_CIRCLE_RADIUS_MIN 0.1 // minimum radius in meters

const AP_Param::GroupInfo ModeCircle::var_info[] = {

Expand Down Expand Up @@ -39,6 +38,15 @@ ModeCircle::ModeCircle() : Mode()
AP_Param::setup_object_defaults(this, var_info);
}

// get the distance at which the vehicle is considered to be on track along the circle
float ModeCircle::get_reached_distance() const
{
if (config.radius >= 0.5) {
return 0.2;
}
return 0.1;
}

// initialise with specific center location, radius (in meters) and direction
// replaces use of _enter when initialised from within Auto mode
bool ModeCircle::set_center(const Location& center_loc, float radius_m, bool dir_ccw)
Expand Down Expand Up @@ -158,12 +166,12 @@ void ModeCircle::update()
// Update depending on stage
if (!reached_edge) {
update_drive_to_radius();
} else if (dist_to_edge_m > 2 * MAX(g2.turn_radius, AR_CIRCLE_REACHED_EDGE_DIST) && !tracking_back) {
} else if (dist_to_edge_m > 2 * MAX(g2.turn_radius, get_reached_distance()) && !tracking_back) {
// if more than 2* turn_radius outside circle radius, slow vehicle by 20%
config.speed = 0.8 * config.speed;
GCS_SEND_TEXT(MAV_SEVERITY_WARNING, "Circle: cannot keep up, slowing to %.1fm/s", config.speed);
tracking_back = true;
} else if (dist_to_edge_m < MAX(g2.turn_radius, AR_CIRCLE_REACHED_EDGE_DIST) && tracking_back) {
} else if (dist_to_edge_m < MAX(g2.turn_radius, get_reached_distance()) && tracking_back) {
// if within turn_radius, call the vehicle back on track
tracking_back = false;
} else {
Expand All @@ -184,7 +192,7 @@ void ModeCircle::update()
void ModeCircle::update_drive_to_radius()
{
// check if vehicle has reached edge of circle
const float dist_thresh_m = MAX(g2.turn_radius, AR_CIRCLE_REACHED_EDGE_DIST);
const float dist_thresh_m = MAX(g2.turn_radius, get_reached_distance());
reached_edge |= dist_to_edge_m <= dist_thresh_m;

// calculate target point's position, velocity and acceleration
Expand Down
4 changes: 2 additions & 2 deletions Rover/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

#include "ap_version.h"

#define THISFIRMWARE "ArduRover V4.6.0-beta5"
#define THISFIRMWARE "ArduRover V4.6.0-beta6"

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

#define FW_MAJOR 4
#define FW_MINOR 6
Expand Down
4 changes: 4 additions & 0 deletions Tools/AP_Bootloader/board_types.txt
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,10 @@ AP_HW_MicoAir743-AIO 1176
AP_HW_MicoAir743v2 1179
AP_HW_FlywooF405HD_AIOv2 1180
AP_HW_FlywooH743Pro 1181
AP_HW_CBU_StampH743_LC 1182
AP_HW_NarinH7 1183

AP_HW_JFB200 1200

AP_HW_ESP32_PERIPH 1205
AP_HW_ESP32S3_PERIPH 1206
Expand Down
4 changes: 2 additions & 2 deletions Tools/autotest/arducopter.py
Original file line number Diff line number Diff line change
Expand Up @@ -11994,12 +11994,12 @@ def AutoContinueOnRCFailsafe(self):
self.set_rc(1, 1200)
self.delay_sim_time(1) # build up some pilot desired stuff
self.change_mode('AUTO')
self.wait_waypoint(2, 2)
self.wait_waypoint(2, 2, max_dist=3)
self.set_parameters({
'SIM_RC_FAIL': 1,
})
# self.set_rc(1, 1500) # note we are still in RC fail!
self.wait_waypoint(3, 3)
self.wait_waypoint(3, 3, max_dist=3)
self.assert_mode_is('AUTO')
self.change_mode('LOITER')
self.wait_groundspeed(0, 0.1, minimum_duration=30, timeout=450)
Expand Down
Loading