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/Rover/Plane: 4.5.0-beta1 release #26081

Merged
merged 6 commits into from
Jan 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
281 changes: 281 additions & 0 deletions ArduCopter/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,286 @@
ArduPilot Copter Release Notes:
------------------------------------------------------------------
Copter 4.5.0-beta1 30-Jan-2025
Changes from 4.4.4
1) New autopilots supported
- ACNS-F405AIO
- Airvolute DCS2 onboard FMU
- Aocoda-RC-H743Dual
- BrainFPV RADIX 2 HD
- CAN-Zero
- CM4Pilot
- CubeRed
- Esp32-tomte76, esp32nick, esp32s3devkit
- FlyingMoonH743
- Flywoo F405 Pro
- FlywooF405S-AIO with alternative IMUs
- Here4 GPS as flight controller
- Holybro 6X revision 6
- Holybro6X-45686 with 3x ICM45686 IMUs
- JAE JFB110
- KakuteH7 using ICM42688
- PixFlamingo (uses STM32L4PLUS CPU)
- PixPilot-C3
- PixSurveyA1-IND
- QiotekAdeptF407
- Sierra TrueNavIC
- SPRacing H7RF
- SW-Nav-F405
- YJUAV_A6
- YJUAV_A6SE, YJUAV_A6SE_H743
2) Autopilot specific changes
- 1MB boards lose features to save flash (Payload Place, some battery monitors, NMEA Output, bootloaders, Turtle mode)
- CubeOrangePlus supports IMU high resolution sampling (works with ICM42688, ICM42652, ICM42670, ICM45686 IMUs)
- F4 processors with only 1 IMU gain Triple Harmonic Notch support
- F765-SE bdshot support on 1st 4 pin
- F7 and H7 boards lose DMA on I2C ports (not required, limited DMA better used elsewhere)
- FlyingMoonH743, FlyingMoonF427 2nd and 3rd IMU order swapped
- HEEWING-F405 supports CRSF
- MatekL431-RC bootloader added, DMA used for RC and GPS
- PH4-mini, PH4-mini-bdshot, Swan-K1 and TBS-Colibri-F7 BRD_SER4_RTSCTS param conflict fixed
- Pixhawk6C supports BMI088 baro
- TMotorH743, Heewing-F405 serial parameter definitions fixed
3) AHRS/EKF enhancements and fixes
- AHRS_OPTIONS supports disabling fallback to DCM
- BARO_ALT_OFFSET slews more slowly (was 20sec, now 1min)
- EKF2 removed (can be re-enabled with Custom build server)
- External AHRS support for multiple GPSs
- InertialLabs INS-U external AHRS support
- Lord external AHRS renamed to MicroStrain5
- MAV_CMD_EXTERNAL_POSITION_ESTIMATE supports setting approximate position during dead-reckoning
- Microstrain7 (aka 3DM-QG7) external AHRS support
4) Driver enhancements
rmackay9 marked this conversation as resolved.
Show resolved Hide resolved
- 3DR Solo supports up to 6S batteries
- Airspeed health checks vs GPS use 3D velocity
- BDshot on the first four channels of boards with F103-based IOMCUs (e.g. Pixhawk 6X)
- Dshot on all IOMCU channels on all boards with an IOMCU (e.g. all CubePilot autopilots)
- Dshot commands (e.g. motor reversal abd beeps) and EDT supported on IOMCU
- DroneCAN battery monitors calculate consumed energy if battery doesn't provide directly
- DroneCAN RC and Ghost RC protocol support
- EFI MAVLink driver
- Extended DShot Telemetry support (requires BLHeli32 ver 32.10 or BlueJay, set SERVO_DSHOT_ESC=3 or 4)
- GPS L5 band health override to enable L5 signal use (see GPS_DRV_OPTIONS)
- GPS-for-yaw works at lower update rate (3hz minimum)
- GSOF GPS supports GPS_COM_PORT parameter
rmackay9 marked this conversation as resolved.
Show resolved Hide resolved
- Hirth ICEngine support
- ICE option to enable/disable starting while disarmed
- ICE support for starter via relay
- IMUDATA serial protocol outputs raw IMU data on serial port (only available using custom build server)
- Innomaker LD06 360deg lidar support
- Intelligent Energy fuel cells new protocol support
- IRC Tramp supports 1G3 bands A and B
- IRC Ghost support
- JAE JRE-30 radar
- KDECAN driver rewrite (params moved to KDE_, works on all vehicles)
- MCP9601 temperature sensor support
- NanoRadar NRA24 rangefinder support
- NeoPixelsRGB support
- NoopLoop TOFSense, TOFSenseF-I2c rangefinder support
- OSD shows flashing horizon when inverted
- OSD2 support (e.g. second OSD)
- QMC5883P compass support
- Relay refactored to support RELAYx_FUNCTION, RELAY_STATUS message support added
- Reventech fuel level support (extends existing analog driver, see BATT_FL_xx parameters)
- RPLidarS1 360 deg lidar support and improved reliability for all RPLidars
- SBF GPS supports yaw from dual antennas
- Temperature sensor using analog voltages supported
- Trimble PX-1 support added as a GPS
- Winch driver enhancements including stuck protection, option for spin-free on startup
5) Control and navigation changes and enhancements
- Auto missions can always be cleared while disarmed (would fail if mission still running)
- DO_ENGINE_CONTROL allows starting engine even when disarmed
- DO_SET_MISSION_CURRENT command can reset mission (see Reset Mission field)
- DO_SET_SERVO, DO_REPEAT_SERVO work with servo outputs set to RCInxScaled
- Fractional Loiter Turn Support in missions
- HarmonicNotch supports up to 16 harmonics
- JUMP command sends improved text msg to pilot (says where will jump to)
- MAV_CMD_AIRFRAME_CONFIGURATION can control landing gear on all vehicles
- MOT_OPTIONS allows voltage compensation to use raw battery voltages (instead of current corrected voltage)
- PID controllers get DFF/D_FF (derivative feed-forward), NTF (target notch filter index) and NEF (error notch filter index)
rmackay9 marked this conversation as resolved.
Show resolved Hide resolved
- PID controllers get PDMX param to limit P+D output (useful for large vehicles and/or slow actuators)
- PID notch filter configured via new filter library using FILT parameters
- RTL mode uses RTL_CLIMB_MIN even if within cone slope (previously always climbed 2m)
6) Copter specific enhancements
- MOT_SPOOL_TIM_DN allows slower spool down of motors
- Precision landing gets fast descent option (see PLND_OPTIONS)
- Throw mode min and max altitude support (see THROW_ALT_MIN/MAX)
- TKOFF_TH_MAX allows lower throttle during takeoff
- ZigZag mode sends position target to GCS
7) TradHeli specific enhancements
- Arming checks improved
- Motor test removed (it was non-functional)
- OSD shows main rotor RPM
- RPM based dynamic notch can track below reference (e.g. below INS_HNTCH_FM_RAT)
- Thrust linearization for DDFP tails
- Heli_idle_control.lua closed loop throttle control Lua script
8) Parameters renamed
- COMPASS_TYPEMASK renamed to COMPASS_DISBLMSK
9) ROS2 / DDS support
10) Camera and gimbal enhancements
- Calculates location where camera gimbal is pointing (see CAMERA_FOV_STATUS)
- CAMx_MNT_INST allows specifying which mount camera is in
- Camera lens (e.g. live video stream) selectable using RC aux function
- Follow mode can point gimbal at lead vehicle
- Circle mode can point gimbal at circle center (see CIRCLE_OPTIONS)
- Interval timer (for taking pictures at timed intervals)
- Image tracking support (ViewPro only)
- MAVLink Gimbal Protocol v2 support for better GCS integration
- MNTx_SYSID_DFLT allows easier pointing gimbal at another vehicle
- MOUNT_CONTROL, MOUNT_CONFIGURE messages deprecated
- RangeFinder support (only logged, only supported on Siyi, Viewpro)
- Pilot's RC input re-takes manual control of gimbal (e.g. switches to RC_TARGETING mode)
- Siyi driver gets Zoom control, sends autopilot attitude and time (reduces leans)
- Video recording may start when armed (see CAMx_OPTIONS)
- ViewPro driver (replaces equivalent Lua driver)
- Xacti camera gimbal support
- Zoom percentage support (for both missions and GCS commands)
11) Logging and reporting changes
- Battery logging (e.g. BAT) includes health, temperature, state-of-health percentage
- CAM and MNT messages contain camera gimbal's desired and actual angles
- INS_RAW_LOG_OPT allows raw, pre-filter and post-filter sensor data logging (alternative to "batch logging", good for filtering analysis)
- PID logging gets reset and I-term-set flags
- Rangefinder logging (e.g. RFND) includes signal quality
- RC aux functions sorted alphabetically for GCS
- RC logging (RCI, RCI2) include valid input and failsafe flags
- RTK GPS logging includes number of fragments used or discarded
12) Scripting enhancements
- Autopilot reboot support
- Baro, Compass, IMU, IOMCU health check support
- Battery cell voltage bindings
- Battery driver support
- BattEsimate.lua applet estimates SoC from voltage
- Camera and Mount bindings improved
- CAN input packet filtering reduces work required by Lua CAN drivers
- DJI RS2/RS3 gimbal driver supports latest DJI firmware version (see mount-djirs2-driver.lua)
- EFI drivers for DLA serial, InnoFlight Inject EFI driver
- EFI bindings improved
- Fence support
- Generator drivers for Halo6000, Zhuhai SVFFI
- GCS failsafe support
- Hobbywing_DataLink driver (see Hobbywing_DataLink.lua)
- is_landing, is_taking_off bindings
- led_on_a_switch.lua sets LED brightness from RC switch
- MAVLink sending and receiving support
- Mission jump_to_landing_sequence binding
- mount-poi.lua upgraded to applet, sends better feedback, can lock onto Location
- Networking/Ethernet support
- Proximity driver support
- Rangefinder drivers can support signal quality
- revert_param.lua applet for quickly reverting params during tuning
- RockBlock.lua applet supports setting mode, fix for battery voltage reporting
- Serial/UART reading performance improvement using readstring binding
- sport_aerobatics.lua rudder control fixed
- Thread priority can be set using SCR_THD_PRIORITY (useful for Lua drivers)
- Wind alignment and head_wind speed bindings
13) Safety related enhancements and fixes
- Arm/Disarmed GPIO may be disabled using BRD_OPTIONS
- Arming check of compass vs world magnetic model to detect metal in ground (see ARMING_MAGTHRESH)
- Arming check of GPIO pin interrupt storm
- Arming check of Lua script CRC
- Arming check of mission loaded from SD card
- Arming check of Relay pin conflicts
- Arming check of emergency stop skipped if emergency stop aux function configured
- Arming failures reported more quickly when changing from success to failed
- ARMING_OPTIONS allows supressing "Armed", "Disarmed" text messages
- BRD_SAFETY_MASK extended to apply to CAN ESCs and servos
- Buzzer noise for gyro calibration and arming checks passed
- Dijkstras object avoidance supports "fast waypoints" (see AVOID_OPTIONS)
- FENCE_OPTIONS supports union OR intersection of all polygon fences
- FLTMODE_GCSBLOCK blocks GCS from changing vehicle to specified modes
- GCS failsafe action to switch to Brake mode (see FS_GCS_ENABLE)
- Main loop lockup recovery by forcing mutex release (only helps if caused by software bug)
- Rally points supports altitude frame (AMSL, Relative or Terrain)
- SERVO_RC_FS_MSK allows outputs using RC passthrough to move to SERVOx_TRIM on RC failsafe
- TKOFF_RPM_MAX aborts takeoff if RPM is too high (for cases where a propeller has come off)
14) System Enhancements
- CAN port can support a second CAN protocol on the same bus (2nd protocol must be 11 bit, see CAN_Dn_PROTOCOL2)
rmackay9 marked this conversation as resolved.
Show resolved Hide resolved
- CAN-FD support (allows faster data transfer rates)
- Crash dump info logged if main thread locksup (helps with root cause analysis)
- Ethernet/Networking support for UDP and TCP server and client (see NET_ENABLED) and PPP (see SERIALx_PROTOCOL)
- Firmware flashing from SD card
- Linux board SBUS input decoding made consistent with ChibiOS
- Linux boards support DroneCAN
- Parameter defaults stored in @ROMFS/defaults.parm
- SD Card formatting supported on all boards
- Second USB endpoint defaults to MAVLink (instead of SLCAN) except on CubePilot boards
- Serial over DroneCAN (see CAN_D1_UC_SER_EN) useful for configuring F9P DroneCAN GPSs using uCenter
15) Custom Build server include/exclude features extended to include
- APJ Tools
- Brake mode
- Bootloader flashing
- Button
- Compass calibration
- DroneCAN GPS
- ExternalAHRS (e.g. MicroStrain, Vectornav)
- Generator
- Highmark Servo
- Hobbywing ESCs
- Kill IMU
- Payload Place
- Precision landing
- Proximity sensor
- RC Protocol
- Relay
- SBUS Output
- ToneAlarm
- Winch
16) Developer specific items
- ChibiOS upgrade to 21.11
- UAVCAN replaced with DroneCAN
- AUTOPILOT_VERSION_REQUEST message deprecated (use REQUEST_MESSAGE instead)
- PREFLIGHT_SET_SENSOR_OFFSETS support deprecated (was unused by all known ground stations)
- MISSION_SET_CURRENT message deprecated (use DO_SET_MISSION_CURRENT command instead)
- MISSION_CURRENT message sends num commands and stopped/paused/running/complete state
- Python version requirement increased to 3.6.9
- mavlink_parse.py shows all suported mavlink messages
- COMMAND_INT messages can be used for nearly all commands (previously COMMAND_LONG)
17) Bug fixes:
- 3DR Solo gimbal mavlink routing fixed
- Airspeed health always checked before use (may not have been checked when using "affinity")
- Auto mode fix for DO_CHANGE_SPEED commands placed immediately after TAKEOFF (previously were ignored)
- Bootloop fixed if INS_GYRO_FILTER set too high
- Button Internal Error caused by floating pin or slow device power-up fixed
- CAN Compass order maintained even if compass powered up after autopilot
- Compass device IDs only saved when calibrated to ensure external compasses appear as primary on new boards
- Cut corners more by defaulting WPNAV_ACCEL_C to 2x WPNAV_ACCEL
- Currawong ECU EFI does not send exhaust gas temperature
- DJI RS2/RS3 gimbal reported angle fix
- DO_SET_ROI, ROI_LOCATION, ROI_NONE bug fix that could lead to gimbal pointing at old target
- Generator parameter init fix (defaults might not always have been loaded correctly)
- GPS_TC_BLEND parameter removed (it was unused)
- Guided mode protection against targets with NaN values
- Guided mode yaw fix (vehicle might rotate too slowly)
- Harmonic Notch gets protection against extremely low notch filter frequencies
- IE 650/800 Generators report fuel remaining
- INS calibration prevents unlikely case of two calibrations running at same time
- LPS2XH Baro supported over I2C fixed
- MatekH743 storage eeprom size fixed
- MAVLink routing fix to avoid processing packet meant for another vehicle
- Mount properly enforces user defined angle limits
- MPU6500 IMU filter corrected to 4k
- NMEA output time and altitude fixed
- OSD gets labels for all supported serial protocols
- OSD RF panel format fixed
- RobotisServo initialisation fix
- RPM accuracy and time wrap handling improved
- Sagetech ADSB MXS altitude fix (needs amsl, was sending alt-above-terrain)
- SageTechMXS ADSB climb rate direction fixed
- SBUS out exactly matches SBUS in decoding
- Serial port RTS pins default to pulldown (SiK radios could getting stuck in bootloader mode)
- SERIALx_ parameters removed for ports that can't actually be used
- Servo gimbal attitude reporting fix
- Servo output fix when using scaled RC passthrough (e.g. SERVOx_FUNCTION = RCinXScaled)
- Siyi continuous zoom stutter fixed
- Siyi gimbal upside-down mode fixed (avoid bobbing if upside-down)
- SmartRTL premature "buffer full" failure fixed
- ST24 RC protocol fixed
- STM32L496 CAN2 init fix (AP_Periph only?)
- Tricopter, SingleCopter, CoaxCopter fins centered if using BLHeli/DShot
- VFR_HUD climb rate reports best estimate during high vibration events (previously it would stop updating)
- Visual Odometry healthy check fix in case of out-of-memory
- VTX_MAX_POWER restored (allows setting radio's power)
- Yaw limit calculations fixed
------------------------------------------------------------------
Copter 4.4.4 19-Dec-2023 / 4.4.4-beta1 05-Dec-2023
Changes from 4.4.3
1) Autopilot related enhancement and fixes
Expand Down
6 changes: 3 additions & 3 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.0-dev"
#define THISFIRMWARE "ArduCopter V4.5.0-beta1"

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

#define FW_MAJOR 4
#define FW_MINOR 5
#define FW_PATCH 0
#define FW_TYPE FIRMWARE_VERSION_TYPE_DEV
#define FW_TYPE FIRMWARE_VERSION_TYPE_BETA

#include <AP_Common/AP_FWVersionDefine.h>