Skip to content

Instantly share code, notes, and snippets.

@mrpollo
Created August 27, 2020 19:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mrpollo/7173f6c89d2fdacb923eb4481b486e41 to your computer and use it in GitHub Desktop.
Save mrpollo/7173f6c89d2fdacb923eb4481b486e41 to your computer and use it in GitHub Desktop.
PX4 v1.11 Changelog

v1.11.0-rc3 (2020-08-17)

Boards

  • cubepilot/cubeorange small fixes and improvements
  • cubepilot/cubeyellow small fixes and improvements
  • add CUAV Nora support

Commander

  • preflight power check ignore module count if USB connected

Hmc5883

  • cleanup device interface on destruction

Icm20602

  • accumulated minor improvements and cleanup

Icm20608g

  • accumulated minor improvements and cleanup

Icm20649

  • accumulated minor improvements and cleanup

Icm20689

  • accumulated minor improvements and cleanup

Icm20948

  • accumulated minor improvements and cleanup

Icm40609d

  • accumulated minor improvements and cleanup

Icm42688p

  • accumulated minor improvements and cleanup

Lis2mdl

  • remove read error message
  • cleanup device interface on destruction

Lis3mdl

  • remove read error message
  • cleanup device interface on destruction

Logger

  • by default, log the onboard_computer_status topic

Mavlink_timesync

  • print sender comp id for 'RTT too high for timesync' msg (#15539)

Mpu6000

  • accumulated minor improvements and cleanup

Mpu6500

  • accumulated minor improvements and cleanup

Mpu9250

  • accumulated minor improvements and cleanup

Qmc5883

  • cleanup device interface on destruction

Rm3100

  • remove read error message
  • cleanup device interface on destruction

Sensors

  • keep legacy params active (BAT_V_DIV/BAT_A_PER_V) for QGC SITL

Tools

  • Ubuntu setup remove "set -e" to prevent grep early exit
  • Ubuntu setup update arm-none-eabi-gcc to 9-2020-q2-update

Uavcan

  • libuavcan submodule remove redundant libuavcan_drivers

Uuv_att_control

  • removed redundant code, switched to new uORB API

v1.11.0-rc2 (2020-08-12)

AttitudeControl

  • only normalize attitude setpoint once on update

Bmi055

  • accel periodically read temperature

Boards

  • mRo X2.1-777 fixes
  • add new Holybro Pix32v5
  • rename Hex -> CubePilot
  • hex cube yellow fix STM32F7 selection (STM32F765II -> STM32F777VI)
  • fmu-v5 debug variant disable unnecessary modules to save flash
  • NuttX disable posix message queues

Camera_capture

  • remove board-specific ifdef

Cdev

  • remove unnecessary virtuals and increase opt level
  • posix remove std::map usage

Cm8jl65

  • avoid flooding console with errors if errno is EAGAIN

Cmake

  • only allow gold linker for posix builds

Commader

  • save 53 unnecessary characters of output string

Commander

  • update vehicle_status with at least 2Hz
  • fix takeoff and land CI test
  • rephrase or change message importance for some errors/warnings that happen often

Commander

  • update home position yaw in case of EKF yaw reset

FlightTaskAuto

  • fix yaw reset issue during takeoff
  • allow rc assist to stop descend
  • use new Sticks class for assisted land speed

FlightTaskAutoMapper

  • clarify influence of sticks

FlightTaskOrbit

  • reset approach if radius gets changed
  • reset reached when new parameters are set
  • simplify tangential yaw_setpoint and pi wrap
  • set initial heading for every new command
  • move start_to_circle to more local scope & const reference parameters
  • use yaw setpoint from Altitude task with RC yaw mode
  • move line break causing comments before
  • correct acceleration feed-forward

FlightTasks

  • Sticks methods naming refactor according to comments
  • make gear switch independent of sticks
  • move stick handling into library

Flight_tasks

  • pass previous setpoint as const reference

Frsky_telemetry

  • add support for inverted single-wire S.Port on F7

Fw_att_control

  • pass time through from run

Fw_pos_control_l1

  • pass time through from run
  • if using air data (baro) copy every cycle
  • replace sensor_baro with vehicle_air_data

Generate_microRTPS_bridge

  • make sure that the ROS2 version of FastRTPS is grabbed in a colcon build

Jenkins

  • hardware print vehicle_air_data
  • hardware print cpuload
  • holybro durandal-v1 switch to generic multicopter with dshot
  • set IMU_GYRO_RATEMAX to 4kHz on holybro_durandal-v1_default
  • set IMU_GYRO_RATEMAX to 2kHz on px4_fmu-v5_default

Land_detector

  • multicopter ground contact fixes, improvements, and cleanup

Load_mon

  • add linux support
  • slightly longer cpu average (300 -> 500 ms)
  • remove obsolete rate comment in description
  • split out header

Logger

  • SDLOG_PROFILE remove estimator replay from default to minimize log rate
  • decrease try subsribe interval 1000 ms -> 20 ms
  • record message gaps
  • add full commander and safety logging by default

Makefile

  • fix mavsdk_tests invocation

Math

  • add unit tests for everything in Functions.hpp

Mavlink

  • publish telemetry_status per instance with all HEARTBEATS from the same system
  • GLOBAL_POSITION_INT send without lat/lon availability
  • mission manager fix signed sequence debug print type
  • publish RAW_RPM

Mavlink_ftp

  • close session without activity

Mavsdk_tests

  • add workaround to prevent failsafe
  • increase the poll time resolution
  • load all os environment variables for gazebo client

Mc_att_control

  • don't use auto for primitive types
  • don't store vehicle_status copy
  • don't store full vehicle_land_detected copy
  • don't keep att copy and avoid unnecessary Quatf construction and copies
  • inline control attitude call and rate publication
  • use attitude timestamp for dt
  • add gradual3 function to cover hover thrust rescaling

Mc_hover_thrust_estimator

  • validity flag and other small improvements/fixes

Mc_pos_control

  • use local position timestamp for dt

Mc_rate_control

  • use angular velocity timestamp for dt

MicroRTPS

  • client: properly set task/thread naming
  • client: reserve the minimum required stack to the send/receive tasks
  • client: dynamically allocate the uORB pub/subs
  • transport: do not discard message from rx_buffer if a CRC error occurs
  • remove the need for the eClock util
  • client: use structs for pub/subs to avoid increasing the stack usage
  • transport: make seq_number non-atomic
  • micrortps_timesync: reduce max RTTI to 50ms
  • minor adjustements so to improve the readings; add more baud rate options
  • add debug verbose option '-v'; use while loop for reads; ease the RTTI check on timesync
  • add possibility to set HW or SW flow control; improve verbosity aesthetics
  • move buffer size to transport
  • transport: hotfix to skip data packets that that don't fit the buffer and continue the readings
  • fix FastRTPS version check on agent templates

Mixer_module

  • add subscription option to limit additional actuator_control callbacks
  • use math:constrain

Mpu9250

  • mag relax scheduling and checks

Nuttx

  • update submodule

Orbit

  • Add RC controlled yaw mode
  • Adjust yaw setpoint on circle approach
  • add more yaw behaviours

PAW3902

  • document that the driver is also compatible with PAW3903 module
  • align mode change logic with the spec

Parameters

  • move XML injection to the group level (#15403)

Params

  • generate param metadata as MAVLink-compatible JSON component info (#15389)

PreFlightchecks

  • remove duplicated VTOL mode prearm check

Pwm_out

  • limit actuator control callbacks to primary groups

Px4_work_queue

  • rename navigation_and_controllers -> nav_and_controllers

Px4io

  • delete broken test and unnecessary limit
  • servorail_status -> px4io_status and log all flags
  • only publish safety at 1 Hz or immeidately on change

README

  • remove broken jenkins build status badge

ROMFS

  • remove remaining RC_FLT_CUTOFF
  • remove unnecessary parameter zero padding

Rc_loss_alarm

  • remove unimplemented declaration

Sdp3x

  • introduce State enum
  • add '-k' option to keep retrying even if probing fails
  • improve robustness, try to reconfigure on transfer error

Sensors

  • throttle vehicle_air_data publication (SENS_BARO_RATE)
  • VehicleIMU improve scheduling

Setup

  • only install homebrew if not already there
  • move the OSX.sh script to macos.sh
  • we no longer need Java 8
  • mark Ubuntu 16.04 as unsupported
  • Java 14 is fine now
  • clean up macOS setup script

Spracing_h7extreme

  • OSD enabled with added internal SPI bus flag

StraightLine

  • allow resetting reached flag

Subscription

  • correct doxygen comment

TRIG_MODE

  • update description to support 78

TRIG_PINS

  • allow triggering on 78 while still using the lower 6 pins for pwm

Tools

  • retry gz model if gzserver is not ready yet
  • abort SITL start if gzserver fails

UORB

  • remove lost message count per DeviceNode
  • print individual bits of fields

Uavcan

  • stm32h7: Fix improper loopback handling

Uuv_att_control

  • added bodyrate setpoint to the geometric controller

V5x

  • use board-specific camera capture pin PI0

Vehicle_local_position

  • rename yaw -> heading and add reset logic

Vehicle_status

  • add latest arming/disarming reason

Vehicles

  • add new vehicle type: Airship (#14862)

Vtol_att_control

  • limit excessive scheduling

Vtol_type

  • use correct pwm device path in init function
  • reset quadchute filter states if TECS is not running

Workflows

  • OSX.sh is now called macos.sh

Reverts

  • mavlink: GLOBAL_POSITION_INT send without lat/lon availability

v1.11.0-rc1 (2020-07-06)

4050_generic_250

  • update default filter parameters

Airspeed_calibration

  • Fix FD leak

BMI088

  • accel get max rate from PX4Accelerometer

Battery

  • use AlphaFilter class

Battery_params

  • relax maximum for capacity thresholds

Bmi055

  • fix accel schedule interval
  • gyro don't publish duplicates

Bmi088

  • fix accel schedule interval
  • accel & gyro don't publish duplicated reads

Bmp388

  • fix variable shadowing warning
  • some cleanup

Board_comnmon

  • indent BOARDBRICK_VALID_LIST to correct level

Boards

  • create px4_fmu-v5_debug build with assertions enabled
  • centralize optional external I2C sensor start
  • delete old board.h boilerplate
  • move rgbled_pwm startup to appropriate boards
  • mRo Control Zero fix IMU rotations
  • pixhawk mini add unused MPU9250 CS & DRDY pins

Build

  • use ninja default for -jN unless set
  • actually pass number of cores to ninja

Build

  • properly read -j argument

CBRK_FLIGHTTERM

  • Does not affect takeoff failure safety detection (#14972)

Cmake

  • sitl_gazebo build limit to 2 cores (-j2)

Commander

  • CMD_COMPONENT_ARM_DISARM don't block disarm if maybe_landed

Commander

  • failure detector, automatically disarm on a ESC failure
  • make optional tilt-check after takeoff (failure detector).

Controllib

  • fix implicit cast warn with clang 10

CubeOrange

  • Move console back to CONS (UART7)

Drivers

  • add ST LPS33HW baro driver

Ekf2

  • Ignore optical flow samples with too large integration time spans. Fixes #14165
  • decrease default GPS horizontal velocity noise
  • increase default baro noise 2 -> 3.5 m

FixedWingAttitudeControl

  • removed parachute from gimbal control group - parachute is handled separately based on flight termination in px4io

FlightTask

  • correct activate() doxygen comment

FlightTaskAuto

  • Update prev and next waypoint depending on validity
  • check yawspeed saturation before constraining
  • add missing wrap_pi and do not override yaw_sp_aligned
  • Create artificial yaw speed sp for feedforward

FlightTaskManualAltitude

  • add an optional stick tilt input filter

Fxas21002c

  • sample at nyquist rate, drop duplicates, throttle temperature updates

Fxos8701cq

  • sample at nyquist rate, drop duplicates, throttle temperature updates

Gps

  • workaround spurious GCC 10.1 warning

INA226

  • revise read() and collect() error handling
  • refactor spacing and return codes

JMAVSim

  • try new libs with newer Java versions

Jenkins

  • limit metadata generation to master
  • hardware mRo Control Zero skip tests for now
  • SITL temporarily disable failing offboard tests

Kopis2

  • update tuning and filter parameters

Load_mon

  • decrease warning threshold for stack check builds

Lockstep_scheduler

  • add generic lockstep component API

Logger

  • fix hardfault for invalid SDLOG_PROFILE setting
  • use subscription interval also in polling mode
  • reduce poll timeout to 20ms
  • add raw FIFO high-rate IMU logging profiles

Makefile

  • fix j for clang-tidy calls

Mavlink

  • mission minor whitespace fixes and initialization
  • send MISSION_CURRENT respect signed sequence number
  • DISTANCE_SENSOR: propagate signal_quality metric
  • HIL_SENSOR receiver respect fields_updated
  • remove outdated comment
  • handle stream not updated
  • address review comments
  • add missing copyright header, pragma once
  • use send() instead of using reset flag
  • don't send streams with interval 0
  • create stream if needed and trigger once
  • create stream even if rate is 0
  • remove incorrect outdated comment
  • add support for legacy requests back in
  • new args to request message, omit param1
  • Move request message logic to function
  • fix odometry frames of reference setup
  • bring class LogListHelper into MavlinkLogHandler (#14452)
  • remove unneeded TIMESYNC stream from MAVLINK_MODE_EXTVISION
  • reorder streams to optimize latency
  • move ulog handling after stream updates

Mavlink_log_info

  • always print to console and merge with mavlink_and_console_log_info

Mavlink_messages

  • send EAS instead of IAS (#14858)

Mavlink_receiver

  • handle LANDING_TARGET message: publish irlock_report when landing target position invalid

Mavsdk_test

  • remove flaky tests

Mavsdk_tests

  • add test back in
  • temporarily disable offboard position control test
  • add iris_dual_gps tests
  • add iris_dual_gps to the test pipeline
  • bump library from v0.24.0 to v0.27.0
  • relax timeout for offboard goto
  • make offboard tests more accurate
  • at normal speed RTL can take a while
  • relax requirement to land at home
  • wait until home is set properly
  • more verbose output on fail
  • more debug info
  • remove intermittently failing tests
  • prevent exception if log_fd is None
  • map stderr to stdout
  • also use sleep workaround locally
  • collect buffered up stdout output

Mc_att_control

  • grab attitude setpoint before processing estimate reset
  • adapt setpoint on estimation reset
  • add an optional stick tilt input filter

Mc_attitude_control

  • keep last attitude setpoint as member

Mc_pos_control

  • migrate MPC_VEL parameter to acceleration scaling

Mc_pos_control_params

  • set the ground slow down speed to the default maximum speed

Mission

  • keep current heading if close to ROI while heading sp is invalid
  • handle precision landing inactivation properly

Ms5611

  • prevent starting as ms5607 type on ms5611 hardware

Msg

  • timestamp_sample print elapsed from timestamp

MulticopterLandDetector

  • remove arbitrary maximum altitude based on battery percentage

Navigator

  • always make sure that we set target lat/lon for fixed wing takeoff
  • RTL minor whitespace and style fixes
  • RTL destination throttle dataman access
  • allow mission items with same position

Param

  • also show unused params for 'param show -c'

PowerCheck

  • add power redundancy check
  • make 5V warning threshold 0.1V lower

Precland

  • set the previous position setpoint to invalid, in the position setpoint triplet
  • add a method to check if precland is activated

Px4_log

  • flush each line

Px4_work_queue

  • minor status changes

README

  • remove experimental/legacy boards
  • fix 404 link

ROMFS

  • microsd prevent MacOS and Ubuntu trash and indexing files
  • holybro s500 decrease filter defaults

RTL

  • enable precision landing at the end of RTL, configurable by parameter

Rc_update

  • remove obsolete RC filtering

Refactor

  • Name manual_control_setpoint the same way everywhere

Replay

  • use lockstep scheduler

Rtl

  • do not use cone logic for vehicle flying as fixed wing

SYS_HITL

  • reserve value -1 for external HITL

Sensors

  • throttle mavlink emergency log messages

Serial_test

  • fix build for linux

Setup

  • don't require exact matplotlib version

Simulator

  • break out standalone battery simulator module
  • only use temperature if baro updated
  • rename parameter variable according to convention

Sitl

  • enable spawning different vehicle types for multivehicle SITL in gazebo (#15147)
  • use lockstep components API

Tools

  • fix ubuntu setup script

UAVCAN

  • Fix STM32H7 message RAM for FDCAN2
  • Add STM32H7 FDCAN Driver

UavcanNode

  • Add sensor_type to range_sensor pub.

V5x

  • fix icm20602 sensor orientation

VTOL

  • reject transition command in certain flight modes

Reverts

  • kakutef7 spi: disable IMU drdy

v1.11.0-beta2 (2020-05-10)

ADC

  • replace ioctl with uorb message (#14087)

ATTITUDE_QUATERNION

  • fill repr_offset_q for tailsitters (#13249)

Adis16497

  • add sensor model autodetection (#13863)

Aerfofc_adc

  • move to PX4 WQ and cleanup

Airframe

  • IFO-S setup is added.

Airframes

  • delete 4004 H4 680mm
  • delete 4012 quad x can
  • delete 4002 quad x mount
  • add ThunderFly Auto-G2 autogyro (#14015)
  • add config for px4vision devkit drone (#13683)

Airspeed_selector

  • fix airspeed subscription

Ak09916

  • minor cleanup
  • fix mag spikes
  • cleanup only

Appveyor

  • switch to Cygwin toolchain v0.9
  • switch to toolchain version 0.8

Att_control

  • remove resetting the attitude setpoint

AttitudeControl

  • let the user set yaw weight directly via parameter
  • Take advantage of Quaternion.canonical()

AttitudeControlTest

  • add scale testing for yaw weight

Attitude_estimator_q

  • enable lockstep without LPE
  • move to WQ, module base and module params

AutoLineSmoothVel

  • don't use _velocity_setpoint for constraints
  • fix constrain priority for autocontinue. The constrainAbs function was not prioritizing the minimum value that produces the autocontinue behaviour. This caused zig-zag paths when the waypoints were almost -but not exactly- aligned.

AutoMapper2

  • re-introduce gradual vertical speed limitation during landing between alt1 and alt2

AutoSmoothVel

  • desynchronize XY from Z for small changes in speed

BMI055

  • Bug fix scheduling interval.

BMI088

  • Bug fix scheduling interval.

BMM150

  • Fix priority assignment

Batt_smbus

  • use driver base class
  • fix potential buffer overrun bug (#13904)
  • fix incorrect CLI description
  • add missing PRINT_MODULE_USAGE_DEFAULT_COMMANDS()
  • fix getopt arguments (-A does not have an argument)
  • exit/continue correctly when no device is on the bus
  • make bus_options const and rename to smbus_bus_options
  • remove unused defines
  • variable init cleanup + remove unused declarations

Battery

  • add requirements to ESCs as battery
  • check source param inside battery lib
  • add ESCs source, remove wrong unit
  • cell voltage fill refactor
  • delete unused armed
  • make battery states not sticky

Beaglebone

  • treat robotcontrol as system include

Bl_update

  • build and include board bootloader if config available

BlockingList

  • fix unsafe getLockGuard() API

Bma180

  • move to PX4Accelerometer and cleanup

Bmi160

  • cleanup

Bmm150

  • add self-test
  • cleanup, slightly increase data accuracy
  • more explicit data conversion & reduce to 30Hz
  • move to PX4Magnetometer and cleanup

Bmp280

  • fix device id (device type not set)
  • build on linux and qurt

Bmp388

  • fix double free in case the driver probing fails
  • remove dead code
  • use default stack size of 2048, fixes stack check failure
  • cleanup main and add to px4_fmu-v5x board_config.h

Board_identity

  • move to platforms/nuttx/src

Board_mcu_version

  • move to platforms/nuttx/src/px4

Boards

  • px4_fmu-v5_optimized don't build all mags
  • holybro_durandal-v1_stackcheck don't build all mags
  • include all procfs entries on boards that aren't flash constrained
  • remove all CONFIG_NXFONTS_DISABLE*
  • initial CUAV X7Pro support (not complete)
  • add nxp fmuk66-v3 and rddrone-uavcan146 socketcan builds
  • temporarily disable UART TX DMA
  • delete obsolete commented config systemcmd
  • px4_io-v2 defconfig optimizations to save memory
  • always change default IMU_GYRO_RATEMAX on px4_fmu-v2/v3 and mro_x21
  • px4/fmu-v4pro cleanup rc.board_sensors
  • fmu was renamed pwm_out
  • STM32F76xxx/STM32F77xxx linker add ITCM RAM and .ramfuncs handling
  • add esc_battery to build
  • reduce CONFIG_NFILE_DESCRIPTORS 20 -> 15
  • mro_ctrl-zero-f7 fix i2c
  • omnibus/f4sd add board_dma_map.h
  • airmind mindpx-v2 switch to new mpu6000 and mpu6500 drivers
  • airmind mindpx-v2 fix L3GD20 DRDY pin
  • update all NuttX configs CONFIG_NSH_MAXARGUMENTS 12 -> 15
  • fmu-v2/v3 rc.board_sensors remove obsolete hmc5883 argument
  • remove deprecated SPI + I2C defines from board_config.h
  • enable NuttX SPI DMA buffers
  • add px4_fmu-v4 and px4_fmu-v5 optimized (-O3) build variants
  • stm32f4/f7 enable SPI_DMATHRESHOLD=32
  • increase STDIO buffer size where we can afford it
  • increase LPWORKSTACKSIZE 1536 -> 1600
  • add new spi+i2c config
  • fmu-v2/v3 limit rate loop by default
  • alphabetize and sync common drivers and modules
  • start adc in rc.board_sensors
  • increase CONFIG_MAX_TASKS 32->64 on all F7s (#13285)

CBRK_AIRSPD_CHK

  • Doc driver not started

CI

  • bump container tags to 2020-04-01
  • bump container tags to 2020-03-16
  • update all docker tags

Calibration

  • shorten too long messages

Camera_feedback

  • move to WQ callback and uORB::Subscription

Camera_trigger

  • lower the polling rate from 200Hz to 20Hz to reduce the CPU load

Ci

  • github: sitl_tests: add matrix for parallel build in Ubuntu Bionic and Focal
  • github: bloaty: add matrix for parallel build in Ubuntu Bionic and Focal
  • github: build_tests: add matrix for parallel build in Ubuntu Bionic and Focal
  • github: ccpp: use 'matrix' to set the containers to run
  • github: ccpp: add Ubuntu Focal build job

Circleci

  • update to latest docker tag

Clang

  • Force absolute paths This helps with some diagnostics tools as we have various compile units in different paths.

Cm8jl65

  • move to UART WQ

Cmake

  • fix warning
  • fix Python 3 libs name
  • add custom error messsage about Python 3
  • move jinja2 check to Python modules

Codecov

  • remove notifications until we can address false reporting
  • try to relax notifications

Codecov

  • Adjust target to current range This is required to enable CI.

ColPrev

  • No direction change if no obstacle (#13398)

CollisionPrevention

  • set frame for obstacle_distance_fused topic
  • No movement if FOV is zero
  • avoid unnecessary cast from uint16_t to int

Collision_prevention

  • fix sensor range float rounding
  • don't unadvertise mavlink_log in destructor
  • improve behavior in case of range data loss

Commander

  • update EKF accel & gyro bias arming limits
  • only report manual control lost if found once
  • skip continuous preflight check if calibrating
  • reject PREFLIGHT_CALIBRATION and PREFLIGHT_STORAGE if armed or shutting down
  • changes when USB connected
  • reboot/shutdown usability fixes
  • Clarify airspeed calibration failure warning msg
  • add check for VTOL airfame on fmu-v2 (#14633)
  • fix preflight check spam
  • set home position on takeoff
  • increment is 1 for int params
  • unify offboard timeouts
  • fix broken 'commander arm/disarm' CLI
  • don't run preflightCheck during calibration on reconnect
  • fix prearm flag to preflightCheck
  • fix mission topic publication
  • fix variable naming
  • safety button disarm require land detector
  • use arm_disarm() helper for safety button disarm
  • fix regression issue preventing RC override from working
  • remove ekf2 preflight ratio param units
  • move most static variables and parameters to class
  • remove manual mode before geofence handling
  • skip all mag checks if SYS_HAS_MAG is 0
  • don't allow arming during VTOL transition
  • make battery warning state sticky while armed
  • add pre-flight check and parameter for magnetic field strength
  • add vehicle-status nav_state change timestamp
  • Added a parameter to control the timeout period for disarming after the kill switch is engaged. (#13325)
  • fix capitalization of mavlink messages
  • fix battery failsafe without GPS
  • check center throttle for POSCTL/ALTCTL
  • add missing manual modes
  • fully support MAVLink force arming
  • improve msg when trying to arm in air
  • battery failsafe action back to warning
  • make battery failsafes sane by default
  • add COM_MOT_TEST_EN parameter to enable/disable motor testing
  • do not beep on successful commands
  • answer to VEHICLE_CMD_DO_ORBIT
  • add support for DO_MOTOR_TEST

Commander

  • Add more documentation around USB reboots If the user disconnects USB we reboot the system to bring it back into a nominal condition before arming. Otherwise we would either have the USB stack running without a cable connected (code running for no reason, which is violating the principle of not running unnecessary code in aviation). Or we would not allow to arm at all if USB was ever connected, which can be confusing if the system is powered off a battery.
  • replace deprecated warnx by PX4_WARN
  • Exclude shell commands for constrained flash These are convenience commands for developers and are not required for flash constrained targets.
  • Do not print health flags on constrained flash Boards with constrained flash are not classic development targets and do not need this.
  • Streamline preflight and arming checks The checks did previously only report the first failure (to not overload the radio link). As we are moving to buffered messages and higher bandwidth links this design choice is not any more in the best interest of the drone operator. We are now reporting all detected failures. To ensure architectural consistency more checks have been moved from the commander mainloop into the respective classes.
  • Add function to print health flags consistently This enables us to have better situational awareness during development and when inspecting a system in the field as to which subsystem is currently faulty. These flags are from standard MAVLink and are not sufficient nor do they match well the actual critical path to a safe flight. This will be addressed in a second step with the addition of a new MAVLink message and new flags.
  • Run continuous pre-flight checks silently As we are checking the current pre-flight state and validate wether the system could be armed, we do not want to spam the console or user with continously failing checks. These checks are reported to the GCS separately and are processed and displayed there.
  • Add reporting of preflight and prearming state This is essential for the operator to know if the system is ready to fly.
  • enable RC override in takeoff
  • clarify the rc override message
  • fix preflight check condition to fail if not in HIL mode
  • remove variable duplication for geofence and rc override
  • Add COM_ARM_AUTH_REQ for enabling Arm Authorization
  • start pulling arming related parts into separate folder

Commander_params

  • subedit com_rc_override
  • remove duplicate rc override title
  • mention definition of battery states in the description of the battery failsafe mode parameter

ControlMath

  • adding limitTilt() helper function
  • add addIfNotNan helper functions
  • refactor thrustToAttitude calculation
  • switch to gtest for unit tessting

ControlMathTest

  • consistent short float literal notation
  • switch back to direct EXPECT_EQ calls for Vectors

Coverage

  • Ignore examples and unused apps These paths are unused code that is not part of the supported set.
  • Run lcov separate to fix paths Without this the paths of the different compile units do not match up.
  • Fix build for Mac OS These changes are needed for Mac OS.

Crazyflie

  • use hw description methods for timer configuration
  • fix PWM channel ordering

DShot

  • updated driver to use NuttX DMA functions (#13233)

Dataman

  • add read and write perf counters

Drivers

  • add lis2mdl mag driver
  • up_udelay -> px4_usleep
  • add PCF8583 RPM sensor (#14018)
  • heater: fix module build and startup

Drv_mag

  • delete unused MAGIOCSRANGE, MAGIOCCALIBRATE, MAGIOCEXSTRAP, MAGIOCSTEMPCOMP

Dshot

  • sync with fmu module

ECL

  • Clean velPos logging, deprecate ekf2_innovations msg

EKF2

  • use fixed time constant for GPS blending
  • Fix GPS blending time jitter

Ecl

  • update submodule

Ekf

  • use PDOP instead of GDOP as TDOP (part of GDOP) is not given by the GNSS receiver

Ekf2

  • Stop getting velocity variance from pose covariance matrix (#14779)
  • remove unused function declatation
  • define max number of range finders seperate from max number of mutli uORB topics
  • Fix heading not stable issue. The prblem was that a large dt could drive the alpha filter crazy because of the small dt approximation during the computation of the coefficient. - Remove unused bitmask packing of the innovation checks

Ekf2

  • Add bitmask to select terrain estimator aiding sources

Ekf2_main

  • simplify "if true else false" with direct boolean assignment
  • extract gps mgs fill

Ekf2check

  • add COM_ARM_MAG_STR to en/disable mag field strength preflight check

Ekf_main

  • fill gps gdop topic with pdop (combination of hdop and vdop)

Enhancement

  • 0.3 for TFMini was too low, as TFmini outputs slightly more than 0.3 when it is very near to the ground. This cause EKF not fallback to barometer in worst case.

EscBattery

  • only publish data if all the ESCs are online

Esc_battery

  • several review fixes
  • fix timeout check

Esc_report

  • remove unused fields to reduce message size

Examples

  • add simple work_item example module

FMUv2

  • Exclude some multicopter targets These are rarely used airframes that should not be missed.
  • Exclude some fixed wing targets These are rarely used airframes that should not be missed.
  • Exclude rover targets This is reasonable as these boards are very old and rovers are a new area of activity.

FW

  • Allow counterclockwise loiter

FixedWingPositionControl

  • set waypoint straight ahead for front transition - this fixes the case where the navigator publishes a loiter waypoint or any waypoint which is too close to the vehicle.
  • ommit */ with ///< doxygen comments

FlighTasks

  • remove FlightTaskSport

FlightTask

  • Fix ekf2 reset race condition during task switch (#14692)
  • use centralized _dist_to_ground computed in FlightTask instead of recomputing it in AutoMapper, AutoMapper2 and AutoLine
  • add 1st order lpf on yawrate satepoint for smooth motion

FlightTaskAuto

  • accept invalid triplet_setpoint (and interpret as loiter)

FlightTaskManualAltitude

  • Fix sign error in terrain hold setpoint reset
  • Rename _min_speed_down -> _max_speed_down as it is the maximum allowed downward speed
  • Follow altitude limit given by the estimator
  • yawspeed filter remove line with no effect, comments
  • Use dedicated member variable for yawspeed filter state insted of using the previous setpoint

FlightTaskManualPosition

  • use new Matrix available functions to cast from a vector of 4 elements to Vector2f and from Vector2f to Vector3f.
  • Remove MPC_ACC_HOR_ESTM parameter. This was used back in time when no soothing was done to avoid large steps when the estimator stops sending a maximum velocity (e.g.:GPS gained during optical flow flight). Since smoothing is applied later, this is not required anymore.

FlightTaskOffboard

  • fix header comment

FlightTaskTransition

  • don't overwrite setpoints with estimates

FlightTasks

  • do not adjust tilt limit of the position control
  • adapt to acceleration based control
  • remove deprecated AutoLine mission task
  • refactor NAN initializations, spacing
  • shift DEFINE_PARAMETERS to end of access modifiers

Flight_tasks

  • getPositionSetpoint() initialize entire vehicle_local_position_setpoint_s

Fw_att_control

  • move ecl/attitude_fw into fw_att_control module
  • move to px4::params

Fw_pos_control_l1

  • move to px4::params

Fw_pos_ctrl_l1

  • enable loiter type offboard position setpoint for Fixedwing vehicles

Gazebo

  • Do not run verbose There is no need in day-to-day development to run verbose and it is preventing regular PX4 status output from properly rendering

Geofence

  • reposition to current location when violating geofence in hold mode

Github

  • try to get latest tools using pip
  • new check for MAVSDK tester Python scripts

Gps

  • only use injected data if copy successful

HTE

  • enable by default

Hmc5883

  • move to PX4Magnetometer and cleanup
  • build on linux and qurt

HoverThrustEstimator

  • Add convergence tests With noisy accel and thrust in hover, climb and descent conditions.
  • add a new single state estimator with measurement noise auto-tuning

I2c_spi_buses

  • improve info output for external buses
  • print an error if a driver does not pass the I2C address

I2cdetect

  • remove use of PX4_I2C_BUS_EXPANSION

IMU

  • parameterize IMU integration time (IMU_INTEG_RATE)

INA226

Includes

  • remove unused global include directories

InnovationLpf

  • initialize state to zero

Irlock

  • remove ioctl(), read(), and RingBuffer

Ist8310

  • move to PX4Magnetometer and cleanup
  • remove calibration code

JMAVSim

  • link to devguide instead of issue
  • accept AdoptOpenJDK Java version

Jenkins

  • hardware rack show df, mount, sensor_combined, vehicle_imu per board
  • hardware print more status and cleanup SD card
  • hardware print px4io status, pwm info for all outputs, pwm_out status
  • increase history for remaining builds
  • fix timesync filenames
  • hardware test exit from failed hardware check with error, so the check will fail
  • move "Cppcheck" stage to ROS Melodic container, as cppcheck-hmtlreport requires Python (2) pygments
  • reactivate ROS2-related deployment
  • export PYTHONPATH before Catkin build
  • update snapdragon container tag
  • bump docker tags
  • update all docker tags
  • updated all docker tags
  • re-enable microRTPS bridge templates and scripts deployment
  • compile px4_io-v2_default directly and archive

KakuteF7

  • enable SPI DMA for SPI 4

Kakutef7

  • fix baro startup

L3gd20

  • split into separate header, implementation, and main

LPE

  • make compatible with lockstep simulation

Land_detector

  • relax data timeouts uniformly

Landing_target_estimator

  • initialize all fields

Leddar_one

  • split into separate header, implementation, and main
  • move to UART WQ

Lib

  • name folders consistently

License

  • It is 2020 now

Lights

  • use driver base class

Linux_pwm_out

  • fix strncpy length and task main signature

Lis3mdl

  • move to PX4Magnetometer and cleanup

List

  • handle re-inserting

Ll40ls

  • Fix rotation argument parse bug

Local_position_estimator

  • move to WQ and delete unused SubscriptionPollable

Logger

  • dynamic number of subscriptions

Logger

  • keep typical log path within a single mavlink message
  • add data format version tag
  • fix initial subscribing to topics
  • using ModuleParams (#14316)
  • add RPM sensor messages
  • fix thread deadlock
  • style fix
  • fix unused variable build error
  • disable logger_status publiation in replay builds
  • reduce rate_ctrl_status rate to 50 Hz for high-rate logging
  • restore buffer statistics update
  • choose logged instances by logger_topics file
  • publish initial logger_status orb message
  • add safety (switch) at minimal rate
  • refactor start_stop_logging
  • Refactor new boot_bat logic into separate function
  • Add support for logging only on bat power
  • log all raw sensor data at a minimal rate

Lps22hb

  • move to PX4Barometer and cleanup

Lps25h

  • move to PX4Barometer and cleanup

Lsm303agr

  • move to PX4Magnetometer and cleanup

Lsm9ds1

  • cleanup + consistency with other drivers

Lsm9ds1_mag

  • minor cleanup
  • cleanup + consistency with other drivers
  • fix orientation (#13925)

MAVLink

  • Add support for new gate command

MCLandDetector

  • fix low thrust detection in stabilized mode HTE runs based on the position controller so, even if we whish to use the estimate, it is only available in altitude and position modes. Therefore, we need to always initialize the hoverThrottle using the hover thrust parameter in case we fly in stabilized

MC_HTE

  • Stability improvements

MPC

  • initialize hover thrust with parameter even if using HTE
  • limit tilt to maximum safe value of 89 degrees
  • add updateHoverThrust function

Makefile

  • Improve the error message if a target is not found The previous error message was misleading. The new more verbose error indicates that either the target does not exist or the ordering is wrong.
  • clang-tidy use unmodified run-clang-tidy

ManualPosition

  • Limit horizontal speed during landing

Mathlib

  • get rid of now duplicate sign() function

Mavlink

  • increment cmd confirmation field (#14808)
  • move tune publication to separate class
  • copy tune to buffer to play later
  • add support for PLAY_TUNE_V2
  • move tune publication to a method
  • use static_cast instead of C-style cast
  • add missing uORB publication of tunes
  • Enable offboard attitude for coaxial airframes
  • fix potential busy loop upon USB disconnect
  • add ACTUATOR_CONTROL_TARGET1 to stream list
  • replace MavlinkOrbSubscription with uORB::Subscription
  • timesync: readd timesync_status uORB to report Mavlink timesync
  • support mission transfer cancellation (#14139)
  • forward everything except what is for us
  • remove unused get_uart_fd(unsigned index) method
  • remove implicit cast from int to bool
  • don't interfere in ongoing transfers
  • fix warning on do jump
  • delete SERVO_OUTPUT_RAW_{2, 3}
  • temporarily disable ACTUATOR_CONTROL_TARGET{1, 2, 3}
  • stream battery status fields (#13420)
  • handle cellular_status messages for logging
  • warning for actuator offboard & lockstep
  • only ignore messages on UDP before init
  • accept msgs without source initialized

Mavlink

  • Implemented SET_CAMERA_ZOOM
  • split ESTIMATOR_STATUS and VIBRATION streams
  • implemented SCALED_PRESSURE streams
  • Add MAV_x_RADIO_CTL parameter to disable RADIO_STATUS flow control

Mavlink_main

  • add osbstacle_distance stream to extvisionmin mode

Mavlink_messages

  • add frame field to obstacle distance and correct typo

Mavlink_mission

  • beautify mission download error
  • robustify against dropped ack

Mavlink_receiver

  • Set distance_sensor id field equal to mavlink msg
  • Reject own autopilot messages for battery status.
  • simplify and fix statustext.severity handling
  • write STATUSTEXT messages from the same system to log
  • Fit in 'flash' region
  • vtol_vehicle_status changed to vehicle_status subscription

Mavsdk_tests

  • don't fail if DISPLAY is not set
  • only apply workaround in GitHub CI
  • remove waitforgz helper, add sleep
  • raise timeout for czspawn
  • raise overall timeouts
  • make sure all log output is printed
  • wait a bit longer for gazebo command
  • don't stall on timeout
  • fix wait script output
  • wait for gz to run for model spawn
  • improve usage text
  • c++ test_runner is now mavsdk_tests
  • only env vars that are set
  • pass PX4_HOME_ env variables on
  • remove commented out code
  • a timeout of 5min should be enough
  • remove unused import
  • fix error for Python < 3.8
  • name files consistently
  • add header and fix style
  • add filter for cases
  • fix missing space after number
  • print where to find logfiles
  • print error on failure
  • improve and fix colors/result
  • add combined log
  • improve log file folder structure
  • print overall results
  • satisfy mypy type checks
  • further argument cleanup, some types
  • import naming, easier coloring
  • split up Python script
  • initialize Tester class in ctor
  • properly exit on Ctrl+C
  • improve output, allow log and stdout
  • improve test name/description
  • improve test output readability
  • only print error on failure
  • output less verbose unless needed
  • write output to logs folder
  • try using tags as intended
  • use CHECK if we don't need to abort
  • remove unused/not working test
  • add missing unit
  • consolidate level of abstraction
  • improve naming of argument
  • add more config into JSON
  • without speedup the VTOL takes time
  • move config into json file
  • remove plane tests
  • use the min of the speed factors
  • remove opt_flow test
  • add max speed factor
  • PEP8 fixes
  • MAVSDK is required
  • fix model name of plane
  • enable VTOL, fix TEST_CASE name
  • DISPLAY env for gazebo, --verbose
  • fix build instructions
  • actually use chosen model
  • refactor/cleanup
  • don't constrain speed factor to int
  • fix PEP8 issues
  • build should be independant of px4
  • fix verbose output
  • remove output to logfile for now
  • add option for gzclient GUI
  • don't use SIGINT, just terminate
  • end the logfiles with .log
  • return error if not ready
  • env vars need to be strings
  • use subprocess instead of sys stdout
  • fix bugs in readyness checks
  • restart SITL after each test case
  • enable VTOL tests as well
  • check if build everything is built
  • use SIGINT before SIGTERM
  • rename C++ executable
  • print overall result
  • properly handle timeout
  • option for speed factor
  • better process management
  • run test runner, speed up sim
  • add termination/kill, custom log dir
  • added test runner
  • add to PX4 Makefile/CMakeLists.txt
  • raise timeout for realtime sim speed
  • add manual RTL after mission
  • wait until mission is done
  • Split tests and test main

Mc_pos_control

  • suppress vertical acceleration feed-forward during takeoff ramp
  • align updates with ekf2
  • correct sign of acceleration state
  • allow zero thrust during takeoff and landing
  • handle takeoff and landing thrust limit the same way
  • prevent takeoff with thrust setpoint
  • switch order of setpoint amendment
  • hotfix for takeoff ramp stuck with NAN
  • do not warn when going into failsafe while disarmed
  • fix derivative spike when regaining velocity estimate
  • do not use invalid vz estimate
  • do not ignore EKF vz with terrain following
  • adopt to module internal include convention
  • start flight task already when disarmed
  • fix position setpoints being logged as zero when NAN (#13557)
  • reset velocity derivatives
  • fix cutting thrust when landed
  • remove unused function declarations
  • reuse timestamp to reduce hrt calls
  • reduce scope of attitude setpoint
  • address @bresch's review comments

Mc_pos_control_main

  • remove obsolete input setpoint assignments

Mc_pos_control_params

  • update MPC_POS_MODE description
  • lower jerk configuration

Mc_rate_control

  • use vehicle_angular_acceleration topic instead of differentiating

MicroRTPS

  • fix topic name when ROS2 is not being used
  • only use '-typeros2' FastRTPSGen option for Dashing and later ROS2 distros
  • use FastRTPSGen '-typeros2' option to generate the typenaming required to interface the bridge with ROS2 topics
  • templates: use full version comparison when checking for version 1.7
  • templates: check only the major and minor of FastRTPS to set the 'discovery_config' namespace
  • use package.version to compare FastRTPS lib versions
  • timesync: fix comment indentation
  • RtpsTopics: code specialization simplification
  • agent: simplify Publisher code specialization
  • agent: simplify Subscriber code specialization
  • timesync: add getters and setter to generalize interface
  • use FastRTPS version instead of FastRTPSGen version to generate conditional code
  • RtpsTopics: generalize types and member functions access
  • timesync: cleanup and style fix
  • timesync: fix unit conversion
  • timesync: interpolate
  • timesync: properly apply offsets
  • add timesync handshake
  • client: add client response to timesync
  • microRTPS_timesync: fix template indentation
  • agent: make sure that is able to subscribe a timesync stream from itself
  • timesync: template generalization for both ROS2 and non-ROS2
  • delete run() functions as they are not needed
  • use char-by-char comparison instead of stringstream comparison
  • make sure that Sub/Pubs do not exchange data in loop (i.e. for the same entity)
  • timesync: apply offset atomically
  • add timesync for the agent side
  • Fix C++11 remnant
  • update headers licenses

MicroRTPS_client

  • use updated uORB API; improve usage

Micrortps_client

  • more cleanup

Mission

  • explicitly set backtransition mission item altitude
  • ensure precland::on_inactivation() is called once landed

Mission_test

  • fix px4tools func import
  • let's try to run this with Python 3

Mixer

  • organize by type
  • px_generate_mixer use static constexpr
  • update to List<> container
  • move MixerGroup out of Mixer hierarchy and delete mixer.h header
  • delete copy constructors and operators
  • move scale() and scale_check() to SimpleMixer
  • delete unused SimpleMixer::pwm_input()

Mixer_module

  • fix poll error in SITL lockstep
  • do not enter test mode if kill switch is engaged

Motor_test

  • remove note about supported drivers

Mpl3115a2

  • move to PX4Barometer and cleanup

Mpu6000

  • remove unnecessary CDev

Mpu9250

  • more small fixes and cleanup
  • main handle init and alloc failures separately
  • fix error return on reset fail
  • improve AK8963 init (fixes raspberry pi support)
  • fully remove dead interval perf counter
  • cleanup main
  • start building "NuttX" driver for Linux and QuRT
  • fix mag spikes on fmu-v4pro

Mro_x21

  • add board_dma_map.h and enable SPI1 DMA

Ms5611

  • move to PX4Barometer and cleanup
  • fix start_bus() logic to work on linux and add RPi I2C bus config (#13814)
  • build on linux (navio2)

Msg

  • fix battery source enum
  • fix typo
  • extend field definition in msg/esc_report (arming & failure states)
  • rename sensor_bias -> estimator_sensor_bias
  • generation and parsing scripts: add Python3 support
  • remove gencpp and genmsh submodules; remove gencpp imports
  • urtps: change the topic Data Type name to match expected on ROS2
  • add a deprecated uORB msgs list to CMake

Mtd

  • switch to c++ and use px4_find_spi_bus

MultirotorMixer

  • allow for longer mixer geometry names (16 instead of 8)

Navigator

  • check _navigation_mode_array before run
  • fix loiter_time for FW missions
  • fix edge case with valid idle setpoint
  • do not set a mode while disarmed
  • add position setpoint reset helper with safe defaults
  • mission WORK_ITEM_TYPE_MOVE_TO_LAND altitude isn't relative
  • set acceptance radius even for IDLE position setpoint
  • do not use fixed wing acceptance readius if in rotary wing mode
  • improve if structure for vtol/mc/fw
  • don't allow Land together with RTL item
  • check fixedwing mission for VTOL
  • fix VTOL RTL corner case
  • fix triplet resetting/publication logic (#13534)
  • remove double member initialization
  • convert to radians in configuration getter
  • run immediately on vehicle_status updates
  • set position setpoint timestamp

Navigator

  • Improve documentation of mission block The default for the gate check condition is to pass and this needed to be explicitly documented
  • Improve code readibility This diff does not contain any functional changes but just makes the code more readable and adds comments.
  • Warn only for non-zero missions Previously a zero-length mission that failed checks (e.g. because a mandatory element was not present) would lead to a warning.
  • Add ability to wait for a position gate with executing the mission
  • make weather vane work in all auto modes, not just mission (#13761)

Navigator_main

  • allow altitude change when the current lat and lon are still nan

Navio_sysfs_rc_in

  • only publish input_rc if connected and all channels are non-zero
  • move to PX4 WQ and cleanup

NuttX

  • math.h drop extra math defines carried in PX4 defines.h

Nuttx

  • update submodule

Omnibus

  • enable DMA on SPI2 (SD Card)
  • enable SPI dma + use new ICM-20602 driver (disabled DLPF)

Omnibusf4sd

  • disable landing_target_estimator

PAW3902

  • fix mode change shutter thresholds

PX4Magnetometer

  • add external() getter and default temperature to NAN

PX4Rangerfinder

  • delete unused CDev

PX4Vision

  • tune MPC_LAND_ALT

Param

  • fix param_get_cplusplus type check
  • automatically update calibration ID params on import

Parameters

  • lock shutdown earlier in param_save_default()
  • handle MC_DTERM_CUTOFF -> IMU_DGYRO_CUTOFF migration

Pga460

  • fix documentation

Platforms

  • don't catch floating point errors
  • prevent stackoverflow for ekf2 sideslip
  • split posix hrt for qurt
  • remove unnecessary i2c platform abstraction
  • link libatomic only on emlid navio2 (raspberry pi)

PositionControl

  • deconflict hover thrust estimator, acceleration control
  • fix horizontal integral anti-windup
  • acceleration based control strategy
  • remove confusing uMin uMax alias
  • replace interfacemapping checks
  • handle yaw NAN inputs
  • calculate velocity integral once using Vector3f
  • simplify horizontal thrust limiting
  • readd direct thrust setpoint support
  • add feed-forwards with addIfNotNan()
  • calculate velocity PID once using Vector3f
  • temporarily remove direct thrust setpoint support
  • isolate skip controller, leave away unnecessary include
  • remove complicated internal control flags
  • remove speed_xy constraint since it's anyways unused
  • simplify constraint conditions
  • clear setter interface naming, order, description
  • remove unwanted debug printfs
  • correct float initialization literals
  • add unit tests for directions and limits
  • remove parameter dependency
  • fix attitude setpoint timestamp
  • make getters const functions
  • add getter for output attitude setpoint
  • add getter for output position setpoint
  • make it self contained library

Posix

  • micro_hal.h add empty px4_arch_gpiosetevent to build new Invensense drivers on linux
  • exit if the startup script is not ok

PreFlightCheck

  • add checks for CPU and RAM load
  • check for RC action switches
  • fix magnometer typo

PreFlightChecker

  • update unit tests
  • add spike limit argument for innovation check and increase optical flow test limits.

PrearmCheck

  • vtol cleanup

Pwm_out

  • update pwm outputs up to twice as fast as actual pwm frequency
  • delete fake() test command

Px4_arch

  • add hw description constexpr util methods

Px4_micro_hal

  • add PX4_MAKE_GPIO_INPUT and PX4_MAKE_GPIO_OUTPUT

Px4_platform_common

  • add bitmask.h for templated type safe bitmask operations

Px4_simple_app

  • UPdate copyright to last modification

Px4_work_queue

  • increase wq:attitude_ctrl stack
  • sem_wait add loop as the wait may be interrupted by a signal
  • increase SPI stack uniformly to silence warnings
  • add WorkItemSingleShot
  • revert inherited sched attr and run wq:manager and max priority
  • don't inherit pthread attributes from creating thread
  • increase hp_default stack 1800 -> 1900 bytes
  • increase wq:hp_default stack 1500->1800 bytes (found by stackcheck)
  • stack size rounded to page size on posix

Px4io

  • fix array regs[] size (#14135)
  • fix argv index & avoid empty 'unknown argument: ' warning
  • When running HITL, don't publish actuator_outputs. Fixes #13471.
  • add support for test_motor
  • add missing lock()/unlock() in ioctl

Px4iofirmware

  • add PX4IO_PERF define to completely disable perf counters
  • convert atomic macro into methods

Px4modulesdoc

  • move to Python3

Pxh

  • initialize all fields

Qmc5883

  • move to PX4Magnetometer and cleanup

README

  • update list of supported boards

ROMFS

  • start esc_battery if param is set
  • Exclude uncommon board configs (Generic 250)
  • Exclude uncommon board configs (Beta75x)
  • Exclude uncommon board configs (Reaper)
  • Exclude uncommon board configs (3DR Quad)
  • Exclude uncommon board configs (Solo)
  • Exclude uncommon board configs (HK Micro)
  • Exclude uncommon board configs (HB PX4 Vision)
  • Exclude uncommon board configs (HB S500)
  • Exclude uncommon board configs (S500)
  • Exclude uncommon board configs (QAV250)
  • Exclude uncommon board configs (QAVR5)
  • Exclude uncommon board configs (TBS Caipi)
  • Exclude uncommon board configs (Parrot Disco)
  • Exclude uncommon board configs (Pigeon Airframe)
  • Exclude uncommon board configs (Viper)
  • Exclude uncommon board configs (FX79)
  • Exclude uncommon board configs (Wing Wing)
  • Exclude uncommon board configs (Skywalker)
  • Exclude uncommon board configs (Phantom)
  • Exclude uncommon board configs (Camflyer)
  • Exclude uncommon board configs (Generic Wing)
  • Exclude uncommon board configs (Dodeca Cox)
  • Exclude uncommon board configs (Mini Talon)
  • Exclude uncommon board configs (Albatross)
  • Exclude uncommon board configs (Maja)
  • Exclude uncommon board configs (Standard Plane)
  • Exclude uncommon board configs (AutoG2)
  • Exclude uncommon board configs (Helicopter)
  • Exclude uncommon board configs (Coax Heli)
  • Exclude uncommon board configs (Tri Y-)
  • Exclude uncommon board configs (Tri Y)
  • Exclude uncommon board configs (S250)
  • Exclude uncommon board configs (QAV250)
  • Exclude uncommon board configs (Kopis 2)
  • Exclude uncommon board configs (DJI Matrice 100)
  • Exclude uncommon board configs (Aero)
  • Exclude uncommon board configs (IFO)
  • Exclude uncommon board configs (Draco)
  • Exclude uncommon board configs (ZMR250)
  • Exclude uncommon board configs (Nanomind)
  • Exclude uncommon board configs (Tilt Quad)
  • Exclude uncommon board configs (Teal)
  • Exclude uncommon board configs (Clover4)
  • Exclude uncommon board configs (Crazyflie)
  • Exclude uncommon board configs (Generic Ground)
  • Exclude uncommon board configs (Axialracing AX10)
  • Exclude uncommon board configs (Traxxas Stampede)
  • Exclude uncommon board configs (AION Robotics)
  • Exclude uncommon board configs (DFrobot GPX Asurada)
  • Exclude uncommon board configs (Quad +)
  • Exclude uncommon board configs (UUV Generic)
  • Exclude uncommon board configs (UUV HippoCambus)
  • Exclude uncommon board configs (Hexa X)
  • Exclude uncommon board configs (Draco R)
  • Exclude uncommon board configs (Hexa +)
  • Exclude uncommon board configs (Octo X)
  • Exclude uncommon board configs (Octo +)
  • Exclude uncommon board configs (VTOL Tailsitter)
  • Exclude uncommon board configs (VTOL Octo)
  • Exclude uncommon board configs (Babyshark)
  • Exclude uncommon board configs (Convergence)
  • Exclude uncommon board configs (Claire)
  • Exclude uncommon board configs (Ranger)
  • Exclude uncommon board configs (QuadRanger)
  • Exclude uncommon board configs (VTOL AAVVT)
  • Exclude uncommon board configs (VTOL Standard Delta)
  • Exclude uncommon board configs (VTOL AAERT)
  • Exclude uncommon board configs (Quad+)
  • Exclude uncommon board configs (Firefly 6)
  • Exclude uncommon board configs (Steadidrine Mavrik)
  • Exclude uncommon board configs (Octo COX)
  • Exclude uncommon board configs (Hexa COX)
  • Exclude uncommon board configs (TBS Endurance)
  • Exclude uncommon board configs (Steadidrone Q4D)
  • Exclude uncommon board configs (3DR Iris)
  • Exclude uncommon board configs (TBS Dicovery)
  • prevent auto-disarm before takeoff in CI
  • prevent high accel bias in SITL

ROMS

  • delete caipirinha_vtol.main.mix and instead use vtol_tailsitter_duo.main.mix

RTPS

  • add IDs to 'orb_test' related multitopics

RcS

  • fixes for SYS_USE_IO=0
  • do not wipe next flight UUID parameter when resetting parameters

Rc_input

  • move to PX4 WQ

Rc_update

  • make specific RC loss check only on PPM
  • cleanup parameter usage

Replay

  • apply replay module params before starting ekf2 (#14478)
  • remove GPS relative timestamps

Rgbled_pwm

  • remove unnecessary CDev

Rm3100

  • move to PX4Magnetometer and cleanup

Roboclaw

  • Link to user manual updated

Rostests

  • add PYTHONPATH export path so to find Python 2 packages

Rover

  • Handle velocity frames correctly for offboard velocity control

RoverPositionContro

  • Enable driving backwards in attitude control

RoverPositionControl

  • make offboard attitude usable without GPS

SITL

  • create a parameter file for each airframe
  • add SYS_AUTOCONFIG support
  • adds 'iris_rtps' target

SPI

  • disable SPI locking where possible

Safety_button

  • fix missing return when module exits
  • add support for pairing command (3x pressing the button)

Script

  • As recent driver refactoring checkes start argument first, we change script accordingly.

Sdp3x

  • reduce verbosity when no device on the bus

Sensors

  • use sensor_gyro timestamp_sample for sensor_combined timestamp
  • checkFailover() remove verbose failure messages
  • failover don't print remaining disabled sensors
  • refresh parameters on sensor init
  • inconsistency checks explicitly skip disabled
  • complete move to uORB::Subscription
  • move baro aggregation to new sensors/vehicle_air_data
  • move to WQ
  • filter sample rate calculate with simple interval average instead of perf count
  • refactor common corrections and rotation code
  • move accel filtering to sensors/vehicle_acceleration
  • compute and publish vehicle_angular_acceleration
  • move gyro filtering to sensors/vehicle_angular_velocity
  • ensure angular velocity publication on selected sensor update
  • own BAT_V_DIV and BAT_A_PER_V params (#13299)

Set_attitude_target

  • get vehicle_status every time.
  • set rate thrust according to VTOL mode

Setup

  • only run usermod if $USER is available
  • select Java 8 after installation
  • prevent prompt during install
  • add pyros-genmsg, sort list
  • prevent debconf asking about tzdata
  • fix script fail if check fails
  • remove duplicate
  • remove unused dependencies
  • don't forget to install wheel
  • remove unusual Python dependencies
  • remove Python 2 requirements for Ubuntu
  • another try to install pip dependencies
  • fix call to pip/pip3
  • stop on error
  • we need a newer pip
  • use pip as user, don't forget python3-dev

Sf0x

  • move to PX4Rangefinder and cleanup
  • split into separate header, implementation, and main
  • move to UART WQ

Sf1xx

  • move to PX4Rangerfinder and cleanup

Simulation

  • Set scheduling policy RR for lockstep This should ensure that all processes do still run at full load.

Simulator

  • temperature only updated with baro
  • remove redundant semicolon
  • move enum declaration out of preprocessor condition
  • make sensor update rate dependent of the HIL_SENSOR bitmask
  • improve misleading TCP message
  • remove strange disarmed PWM
  • add flag to indicate lockstep
  • add support for multi-distance_sensor instances (#14143)
  • replace gpssim with simple orb publication
  • cleanup and wait for startup
  • fix distance_sensor ORB_ID()
  • don't reset battery when disarmed

Simulator

  • Remove EKF2 based wait This is cleaner and needs testing.

Smbus

  • fix invalid memory access in read_word()

Spi

  • do not deselect other chip-selects

Srf02

  • move to PX4Rangefinder and cleanup

Stm32f3

  • add libs and stubs for F3 build (thiemar_s2740vc-v1)

TECS

  • remove height rate complementary filter

Tailsitter

  • remove unused code

Takeoff

  • add proper unit test

Takeoff

  • only set _can_loiter_at_sp if takeoff position has been set

Temperature_compensation

  • enable parameters set reboot_required

Teraranger

  • move to PX4Rangefinder and cleanup

Tests

  • IntrusiveQueue test re-insert case
  • microbench uorb add sensor_gyro_fifo copy
  • microbenchmarks reduce iterations and sleep inbetween
  • workaround against astyle 3.1 bug

Tests

  • Add VTOL test This is a first initial VTOL test.
  • Add further instrumentation
  • Speed up boot The previous boot configuration took at minimum one second to boot. This is in particular significant in tests when the system is often started and stopped

Tfmini

  • reduce sampling rate from 10kHz to 143Hz
  • move to UART WQ

Tiltrotor

  • enable l1 and deceleration control during transition
  • improve comments and renaming of one variable
  • limmit the adapted thrust for tilt to [0,1]

Tools

  • present nicer error for missing packaging

Tools

  • setup: add 'packaging' to the requirements list
  • check style of mavsdk_tests files
  • exit as straightaway with DONT_RUN set
  • make Python import error more readable
  • check for Java 8 on Linux
  • use Python 3, improve import checks
  • use Python3 for upload_log.py
  • use Python 3 in validate_yaml.py
  • update sitl_gazebo submodule
  • fix 'Assistive technology not found error'

Travis

  • change coverity to run on master

UAVCAN

  • Overhaul SensorBridge drivers
  • GNSS sensor bridge: Support multiple pubs
  • Fixed CAN battery status
  • Optical Flow: Bug fix (missing integration_timespan field in optical_flow topic). (#13257)

UORB

  • SubscriptionInterval last update shift forward with interval
  • top output improvements
  • add bitset for faster orb_exists check and remove uORB::Subscription lazy subscribe hack/optimization
  • introduce SubscriptionBlocking

UORBDeviceNode

  • use px4::atomic instead of volatile for _generation

UORB_test

  • initialize timings storage

UORB_tests

  • fix queue simulation and cleanup initializations

Uavcan

  • bug fix sensor bridge init failure
  • Add device IDs to baro, flow publishers
  • move to work queue and use MixingOutput
  • remove actuator_direct (no publisher)

Uavcan_kinetis

  • fix flexcan code style

Uavcannode

  • add distance_sensor (all possible instances)
  • Fix Kelvin/Celcius in RawAirData pub
  • fix format
  • battery info publishing
  • GPS add timestamp, covariance, and corrected integer overflow on lat/lon

Ulanding

  • move to UART WQ

Ulanding_radar

  • move to PX4Rangefinder and cleanup

Uorb

  • do not open a node exclusively for an advertiser
  • fix several race conditions during topic initialization

Uorb_rtps_message_ids

  • add hover_thrust_estimate msg

Update

  • sitl_gazebo

Uvify_core

  • add board_dma_map.h and enable SPI1 DMA

VTOL

  • Pusher assist: add configuration for enabling it in LAND /disable below some altitude (#14706)
  • add parameter to set the PWM_OUTPUT_DEVICE_PATH (#14732)
  • run vtol state update not only when mc or fw sp are updated, but always
  • flight task auto: disable weather vane when not stationary
  • Manual Pos Flight Task: do not use yawrate sp from weather vane if position isn't locked
  • Make pusher assist generic to enable also for tiltrotor
  • instantly do VTOL mode changes if landed and disarmed
  • explicitly start all FW & MC controllers in VTOL mode

Vehicle_attitude_setpoint

  • get rid of unused q_d_valid flag

Vehicle_control_mode

  • fix invalid comment for flag_armed

Vehicle_global_position

  • remove velocity fields (duplicates of local vx, vy, vz)

Vehicle_local_position

  • delete unused and redundant dist_bottom_rate

Vehicle_local_position_setpoint

  • make acceleration and jerk arrays

Vehicle_odometry

  • add timestamp_sample field for latency monitoring

Vehicle_status_flags

  • remove unused circuit_breaker_engaged_gpsfailure_check

Vmount

  • Fixes max AUX number for MNT_MAN_ROLL, MNT_MAN_PITCH and MNT_MAN_YAW parameters.
  • fix float casting, simplify loop
  • properly initialize last_active
  • fix input for test command
  • fix implicit double promotion
  • set all DO_MOUNT_CONFIGURE params
  • first step to support absolute angles
  • tell user how to use vmount test
  • remove commented out code
  • set correct MAV_MOUNT_MODE

Vscode

  • possible improvements for cpp extension cpu usage
  • commit auto added c++ header associations

Vtol

  • do not control deceleration during backtransition manual, acro or stabilized

Vtol_att_control

  • got rid of VT_B_DEC_SP
  • apply_pwm_limits() don't spam error
  • convert angle in one line

Vtol_type

  • calculate backtransition acceleration in forward direction - use track angle to calculate the current forward acceleration
  • added explicit control over deceleration during backtransition

WIP

  • mavlink send hacks

WeatherVane

  • only update with last row of rotation matrix

Workflows

  • file within docker not accessible
  • upload can't access outside of docker
  • upload px4 coredump and binary
  • add core dumps and backtrace to CI
  • add more tests outside of Europe
  • adapt to mavsdk_tests cli changes
  • build pull requests and master
  • Install mavsdk from GitHub release
  • update docker tag

ZeroOrderHoverThrustEstimatorTest

  • add hover thrust jump test case

Reverts

  • Simulator: Remove EKF2 based wait
  • Simulation: Set scheduling policy RR for lockstep
  • SITL shell: Do math using the shell
  • linux_pwm_out update orb usage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment