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.3.2-rc1 release #22364

Merged
merged 38 commits into from
Dec 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
670ea69
Plane: update release notes for 4.3.2-beta1
tridge Nov 21, 2022
c5591e3
Plane: prepare for 4.3.2beta1
tridge Nov 21, 2022
fff1379
AC_AutoTune: fix pilot testing bug
bnsgeyer Nov 12, 2022
77e9fc0
AP_GPS: improve support for uBlox-M10
tridge Nov 21, 2022
479f283
AP_NavEKF3: Don't allow range finder use to start if terrain state is…
Nov 21, 2022
17d3afd
AP_NavEKF3: Prevent on ground range to ground being used in flight
Nov 21, 2022
b58b5db
GCS_MAVLink: minor format fix
rmackay9 Nov 24, 2022
85d7f50
GCS_MAVLink: correct consumption of ODOMETRY velocity
rmackay9 Nov 24, 2022
13ce92d
SITL: vicon odometry corrected
rmackay9 Nov 24, 2022
92fd5ec
autotest: fix warning about deprecated distutils.dir_utils.copy_tree
peterbarker Nov 24, 2022
aa2458a
GCS_MAVLink: do not run all commands received on private channel
peterbarker Nov 16, 2022
f679e60
AP_Mount: fix for Siyi A8
rmackay9 Nov 29, 2022
fb971cb
AP_Mount: fix siyi version display
rmackay9 Nov 29, 2022
434e007
AP_HAL: added TIME_CHECK() macro
tridge Dec 3, 2022
388524e
AP_Logger: prevent long loops due to parameter logging
tridge Dec 3, 2022
4651281
AP_Camera: fixed CAM_MIN_INTERVAL
tridge Nov 7, 2022
dfa00f4
Plane: ensure we init z controller when inactive
tridge Dec 3, 2022
f6f6575
HAL_ChibiOS: fixed a bug in processing STORAGE_FLASH_PAGE
tridge Dec 4, 2022
e936367
hwdef: stop defining STORAGE_FLASH_PAGE in hwdef-bl.dat
tridge Dec 4, 2022
1abc191
Tools: added --only-bl option to configure_all.py
tridge Dec 4, 2022
968934e
hwdef: use only USB for bootloader on MatekF405-Wing
tridge Dec 4, 2022
6a8a8e9
Tools: rebuilt bootloaders affected by STORAGE_FLASH_SIZE bug
tridge Dec 4, 2022
179ab1e
Plane: added turn corrdination to autotune yaw rate tuning
tridge Nov 29, 2022
e6d9b68
Plane: ensure smoothed airspeed is > 0
tridge Dec 4, 2022
c98fd04
AP_Logger: PM msg gets LR field
rmackay9 Dec 5, 2022
e163263
AP_Scheduler: add get_filtered_loop_rate_hz
rmackay9 Nov 30, 2022
34e14ab
AP_Scheduler: load_average returns 1 if main loop running slowly
rmackay9 Nov 30, 2022
05cba0f
AP_Arming: add system check of main loop rate
rmackay9 Dec 5, 2022
2e0be87
Plane: added FAST_TASK() for key scheduler tasks
tridge Dec 5, 2022
f62ce07
AP_Scheduler: guarantee that FAST_TASK tasks do run on every loop
tridge Dec 5, 2022
6263867
.github: move to compiling 64-bit Windows executables
peterbarker Dec 7, 2022
41e6dca
Tools: move to compiling 64-bit Windows executables
peterbarker Dec 7, 2022
217246b
hwdef: save flash space on boards that are over
tridge Dec 9, 2022
5bac7da
AP_HAL_ChibiOS: make EKF running on second IMU primary
bugobliterator Nov 9, 2022
3e65c43
Rover: 4.3.0-beta6 release notes
rmackay9 Dec 8, 2022
9488f0a
Rover: version to 4.3.0-beta6
rmackay9 Dec 8, 2022
10072fb
Copter: 4.3.2-rc1 release notes
rmackay9 Dec 8, 2022
a6714ad
Copter: version to 4.3.2-rc1
rmackay9 Dec 8, 2022
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
6 changes: 3 additions & 3 deletions .github/workflows/cygwin_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ jobs:
submodules: 'recursive'
- uses: cygwin/cygwin-install-action@master
with:
packages: install cygwin32-gcc-g++ python37 python37-future python37-lxml python37-pip python37-setuptools python37-wheel git libexpat procps gettext
- name: Install cygwin
packages: cygwin64 gcc-g++=10.2.0-1 python37 python37-future python37-lxml python37-pip python37-setuptools python37-wheel git procps gettext
- name: Prepare Python environment
env:
HOME: ${{ runner.workspace }}/ardupilot
run: |
Expand All @@ -33,7 +33,7 @@ jobs:
id: check_files
uses: andstor/file-existence-action@v1
with:
files: "artifacts/ArduPlane.elf.exe, artifacts/ArduCopter.elf.exe, artifacts/ArduHeli.elf.exe, artifacts/ArduRover.elf.exe, artifacts/ArduSub.elf.exe"
files: "artifacts/*"
allow_failure: true

- name: Archive build
Expand Down
30 changes: 30 additions & 0 deletions ArduCopter/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
ArduPilot Copter Release Notes:
------------------------------------------------------------------
Copter 4.3.2-rc1 10-Dec-2022
Changes from 4.3.1
1) Arming check that main loop is running at configured speed (e.g. SCHED_LOOP_RATE)
2) uBlox M10 support
3) Autopilot specific changes
a) CubeOrange defaults to using 2nd IMU as primary
b) SIRF and SBP GPS disabled on BeastF7v2, MatekF405-STD, MAtekF405-Wing, omnibusf4pro
4) Bug fixes
a) AutoTune gains loaded correctly during pilot testing
b) Camera driver's CAM_MIN_INTERVAL fixed if pilot manually triggers extra picture
c) EKF3 fix when using EK3_RNG_USE_HGT/SPD params and rangefinder provides bad readings
d) Main loop slowdown after arming fixed (parameter logging was causing delays)
e) Main loop's fast tasks always run (caused twitches in Loiter on heavily loaded CPUs)
f) MAVLink commands received on private channels checked for valid target sysid
g) ModalAI cameras support fixed (ODOMETRY message frame was consumed incorrectly)
h) Param reset after firmware load fixed on these boards
- BeastF7v2
- CubeYellow-bdshot
- f405-MatekAirspeed
- FlywooF745Nano
- KakuteF4Mini
- KakuteF7-bdshot
- MatekF405-bdshot
- MatekF405-STD
- MatekF405-Wing-bdshot
- MatekF765-SE
- MatekF765-Wing-bdshot
i) Siyi A8 gimbal support fixed
j) Windows builds move to compiling only 64-bit executables
------------------------------------------------------------------
Copter 4.3.1 05-Dec-2022 / 4.3.1-rc1 17-Nov-2022
Changes from 4.3.0
1) Autopilot specific enhancements
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.3.1"
#define THISFIRMWARE "ArduCopter V4.3.2-rc1"

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

#define FW_MAJOR 4
#define FW_MINOR 3
#define FW_PATCH 1
#define FW_TYPE FIRMWARE_VERSION_TYPE_OFFICIAL
#define FW_PATCH 2
#define FW_TYPE FIRMWARE_VERSION_TYPE_RC

#include <AP_Common/AP_FWVersionDefine.h>
11 changes: 7 additions & 4 deletions ArduPlane/ArduPlane.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include "Plane.h"

#define SCHED_TASK(func, rate_hz, max_time_micros, priority) SCHED_TASK_CLASS(Plane, &plane, func, rate_hz, max_time_micros, priority)
#define FAST_TASK(func) FAST_TASK_CLASS(Plane, &plane, func)


/*
Expand All @@ -49,16 +50,18 @@ SCHED_TASK_CLASS arguments:
- expected time (in MicroSeconds) that the method should take to run
- priority (0 through 255, lower number meaning higher priority)

FAST_TASK entries are run on every loop even if that means the loop
overruns its allotted time
*/
const AP_Scheduler::Task Plane::scheduler_tasks[] = {
// Units: Hz us
SCHED_TASK(ahrs_update, 400, 400, 3),
FAST_TASK(ahrs_update),
FAST_TASK(update_control_mode),
FAST_TASK(stabilize),
FAST_TASK(set_servos),
SCHED_TASK(read_radio, 50, 100, 6),
SCHED_TASK(check_short_failsafe, 50, 100, 9),
SCHED_TASK(update_speed_height, 50, 200, 12),
SCHED_TASK(update_control_mode, 400, 100, 15),
SCHED_TASK(stabilize, 400, 100, 18),
SCHED_TASK(set_servos, 400, 100, 21),
SCHED_TASK(update_throttle_hover, 100, 90, 24),
SCHED_TASK(read_control_switch, 7, 100, 27),
SCHED_TASK(update_GPS_50Hz, 50, 300, 30),
Expand Down
4 changes: 3 additions & 1 deletion ArduPlane/Attitude.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -618,7 +618,9 @@ void Plane::calc_nav_yaw_coordinated(float speed_scaler)
// user is doing an AUTOTUNE with yaw rate control
const float rudd_expo = rudder_in_expo(true);
const float yaw_rate = (rudd_expo/SERVO_MAX) * g.acro_yaw_rate;
commanded_rudder = yawController.get_rate_out(yaw_rate, speed_scaler, false);
// add in the corrdinated turn yaw rate to make it easier to fly while tuning the yaw rate controller
const float coordination_yaw_rate = degrees(GRAVITY_MSS * tanf(radians(nav_roll_cd*0.01f))/MAX(aparm.airspeed_min,smoothed_airspeed));
commanded_rudder = yawController.get_rate_out(yaw_rate+coordination_yaw_rate, speed_scaler, false);
using_rate_controller = true;
} else {
if (control_mode == &mode_stabilize && rudder_in != 0) {
Expand Down
23 changes: 23 additions & 0 deletions ArduPlane/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
Release 4.3.2-beta1 Nov 21st 2022
---------------------------------

Changes from 4.3.1
- ARKV6X support
- MatekH743 supports 8 bi-directional dshot channels
- Pixhawk1 boards support MS5607 baros
- SpeedbyBee F405v3 support
- DroneCAN Airspeed sensor support including hygrometer readings
- Pre-arm warning if multiple UARTs with SERIALx_PROTOCOL = RCIN
- Siyi gimbal support
- Arm check warning loses duplicate "AHRS" prefix
- AtomRCF405NAVI bootloader file name fixed
- BRD_SAFETY_MASK fixed on boards with both FMU safety switch and IOMCU
- Compass calibration continues even if a single compass's cal fails
- Gremsy gimbal driver sends autopilot info at lower rate to save bandwidth
- Invensense 42605 and 42609 IMUs use anti-aliasing filter and notch filter
- OSD stats screen fix
- RC input on serial port uses first UART with SERIALx_PROTOCOL = 23 (was using last)
- RunCam caching fix with enablement and setup on 3-pos switch
- RTK CAN GPS fix when GPSs conneted to separate CAN ports on autopilot
- fixed yaw rate for fixed wing autotune

Release 4.3.1 24th Oct 2022
---------------------------

Expand Down
4 changes: 2 additions & 2 deletions ArduPlane/navigation.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@ void Plane::calc_airspeed_errors()
// Get the airspeed_estimate, update smoothed airspeed estimate
// NOTE: we use the airspeed estimate function not direct sensor
// as TECS may be using synthetic airspeed
float airspeed_measured = 0;
float airspeed_measured = 0.1;
if (ahrs.airspeed_estimate(airspeed_measured)) {
smoothed_airspeed = smoothed_airspeed * 0.8f + airspeed_measured * 0.2f;
smoothed_airspeed = MAX(0.1, smoothed_airspeed * 0.8f + airspeed_measured * 0.2f);
}

// low pass filter speed scaler, with 1Hz cutoff, at 10Hz
Expand Down
2 changes: 1 addition & 1 deletion ArduPlane/quadplane.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -963,7 +963,7 @@ void QuadPlane::run_z_controller(void)
// never run Z controller in tailsitter transtion
return;
}
if ((now - last_pidz_active_ms) > 20) {
if ((now - last_pidz_active_ms) > 20 || !pos_control->is_active_z()) {
// set vertical speed and acceleration limits
pos_control->set_max_speed_accel_z(-get_pilot_velocity_z_max_dn(), pilot_velocity_z_max_up, pilot_accel_z);

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.3.1"
#define THISFIRMWARE "ArduPlane V4.3.2beta1"

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

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

#include <AP_Common/AP_FWVersionDefine.h>
28 changes: 28 additions & 0 deletions Rover/release-notes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
Rover Release Notes:
------------------------------------------------------------------
Rover 4.3.0-beta6 10-Dec-2022
Changes from 4.3.0-beta5
1) Arming check that main loop is running at configured speed (e.g. SCHED_LOOP_RATE)
2) uBlox M10 support
3) Autopilot specific changes
a) CubeOrange defaults to using 2nd IMU as primary
b) SIRF and SBP GPS disabled on BeastF7v2, MatekF405-STD, MAtekF405-Wing, omnibusf4pro
4) Bug fixes
a) Camera driver's CAM_MIN_INTERVAL fixed if pilot manually triggers extra picture
b) Main loop slowdown after arming fixed (parameter logging was causing delays)
c) Main loop's fast tasks always run (caused twitches in Loiter on heavily loaded CPUs)
d) MAVLink commands received on private channels checked for valid target sysid
e) ModalAI cameras support fixed (ODOMETRY message frame was consumed incorrectly)
f) Param reset after firmware load fixed on these boards
- BeastF7v2
- CubeYellow-bdshot
- f405-MatekAirspeed
- FlywooF745Nano
- KakuteF4Mini
- KakuteF7-bdshot
- MatekF405-bdshot
- MatekF405-STD
- MatekF405-Wing-bdshot
- MatekF765-SE
- MatekF765-Wing-bdshot
g) Siyi A8 gimbal support fixed
h) Windows builds move to compiling only 64-bit executables
------------------------------------------------------------------
Rover 4.3.0-beta5 17-Nov-2022
Changes from 4.3.0-beta4
1) Autopilot specific enhancements
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.3.0-beta5"
#define THISFIRMWARE "ArduRover V4.3.0-beta6"

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

#define FW_MAJOR 4
#define FW_MINOR 3
Expand Down
15 changes: 13 additions & 2 deletions Tools/autotest/autotest.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
import atexit
import fnmatch
import copy
try:
import distutils.dir_util
except ImportError:
# we copy with this with try/except in copy_tree, below
pass
import glob
import optparse
import os
Expand All @@ -20,7 +25,6 @@
import sys
import time
import traceback
from distutils.dir_util import copy_tree

import rover
import arducopter
Expand Down Expand Up @@ -661,6 +665,13 @@ def generate_badge(self):
f.write(badge)


def copy_tree(f, t, dirs_exist_ok=False):
try:
distutils.dir_util.copy_tree(f, t)
except Exception:
shutil.copytree(f, t, dirs_exist_ok=dirs_exist_ok)


def write_webresults(results_to_write):
"""Write webpage results."""
t = mavtemplate.MAVTemplate()
Expand All @@ -671,7 +682,7 @@ def write_webresults(results_to_write):
f.close()
for f in glob.glob(util.reltopdir('Tools/autotest/web/*.png')):
shutil.copy(f, buildlogs_path(os.path.basename(f)))
copy_tree(util.reltopdir("Tools/autotest/web/css"), buildlogs_path("css"))
copy_tree(util.reltopdir("Tools/autotest/web/css"), buildlogs_path("css"), dirs_exist_ok=True)
results_to_write.generate_badge()


Expand Down
Binary file modified Tools/bootloaders/BeastF7v2_bl.bin
100644 → 100755
Binary file not shown.
Loading