Skip to content

Instantly share code, notes, and snippets.

@mrpollo
Last active November 3, 2019 15:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mrpollo/3af778f7f6cdbad1f0433ba18b4b7204 to your computer and use it in GitHub Desktop.
Save mrpollo/3af778f7f6cdbad1f0433ba18b4b7204 to your computer and use it in GitHub Desktop.

Changelog

v1.10.0-beta4 (2019-10-21)

CollisionPrevention

  • remove unnecessary double precision floating point math

Dataman

  • fix invalid use of px4_sem_timedwait

FlightTaskDescend

  • set no vertical thrust when commanding velocity

FlightTasks

  • add Descend task to land without GPS
  • remove unnecessary double precision floating point math

Io_timer

  • fix potential invalid memory access

Logger

  • fix uninitialized coverity warnings

Mavlink

  • fix uninitialized mavlink warnings

Mc_att_control

  • remove TPA

Mc_pos_control

  • execute failsafe with invalid setpoints

MicroRTPS

  • templates: only decode ros2_distro when possible and nedeed

Mixer_module

  • avoid using an enum as px4::atomic argument
  • add support for test_motor (motor_test CLI command)
  • more robust logic to set 'stop_motors' flag

MixingOutput

  • remove safety button check

Mpu6000

  • remove factory test for fmu-v2

Msg

  • don't implement print_message for fmu-v2

Platforms

  • initialize strings

Px4_posix

  • increase posix stack overhead (mostly for ASan)

ROMFS

  • rc.vtol_defaults limit inner loop rate (#13196)

Sensors

  • split out analog battery handling to new standalone battery_status module

Top

  • decrease priority below IMU sensor WQ threads

UORBManager

  • print errno for advertisement failures

Uavcan_virtual_can_driver

  • fix invalid use of px4_sem_getvalue

Vtol_att_control_main

  • only reset thrust when disarmed

WorkQueue

  • avoid potential semaphore counter overflow

v1.10.0-beta3 (2019-10-16)

AttitudeControlTest

  • fix adaptAntipodal() function
  • include all corner case combinations
  • add first controller convergence test

CI

  • bump container tags to 2019-10-04 (#13095)
  • microRTPS: deploy templates to px4_ros_com

Cmake

  • use gold linker if available
  • show sitl_gazebo build output and improve rebuild

Commander

  • update parameter strings to class enum

Commander

  • bugfix: get all available messages on the subsystem_info topic
  • improve message for RC override event
  • add const qualifiers for clarity

Dshot

  • allow boards to enable dshot only on a subset of the timers
  • update timer generation before DMA request
  • check if DMA still in progress
  • reduce static buffer size
  • add support to send commands via CLI
  • add telemetry and publish esc_status message
  • move implementation to a separate directory & library
  • handle dcache, flush cache before DMA transfer
  • add dshot driver

Ekf2

  • move to WQ with uORB callback scheduling

Ekf2_params

  • correct typo

Esc_status

  • trim the message and remove unused fields

FlightTasks

  • fix switchTask() comment typo
  • orbit and obstacle test use new uORB::Publication<>
  • switch to uORB::Subscription

Fmu

  • remove unused include and variable

Generate_microRTPS_bridge

  • fix fastrtpsgen version check handler

Github

  • tone stalebot down

Gyro_calibration

  • use constexpr instead of const

Kakutef7

  • enable dshot

LandDetector

  • switch to uORB::Publication
  • switch land flags to properies instead of one state

Land_detector

  • move to same WQ as estimator
  • Remove recently added vehicle_attitude.timestamp check from MulticopterLandDetector::_get_maybe_landed_state(). (#13072)

Matrix

  • pull explicit constructors

Mavlink

  • only send ATTITUDE/ATTITUDE_QUATERNION msgs on vehicle_attitude update
  • add protection against setting wrong type of parameters
  • fix boot complete without lockstep
  • disable sending RC override

Mc_att_control

  • move rate control to RateControl class

Mc_pos_control

  • improve failsafe handling
  • move to WQ

MicroRTPS

  • templates: fix support for ROS2 Dashing

Mixer_module

  • extend printf status output

Navigator

  • fix save mission state. (#12468)
  • bugfix to prevent NaN setpoints
  • when setting pos_sp_triplet yaw, also set the yaw valid flag to true

Omnibusf4sd

  • add dshot timer config

PULL_REQUEST_TEMPLATE

  • change order of titles (#13174)

Parameters

  • defer auto-saving to after disarming for flash-based params
  • update perf counter for flash-based param_save_default()

PreflightCheck

  • refactor failureDetectorCheck return value
  • add const qualifiers to parameters
  • remove goto from imu consistency check

Px4_micro_hal

  • add PX4_ARCH_DCACHE_LINESIZE definition

Px4_work_queue

  • command line status output and shutdown empty queues

Px4io

  • move to uORB::Publication<>

ROMFS

  • add dshot startup support

Rc_input

  • move to uORB::PublicationMulti<>

Sensors

  • organize vars in voted_sensors_update.h

Sf1xx

  • Fix max distance for SF/LW20/b

UAVCAN

  • add battery support (uavcan::equipment::power::BatteryInfo)

Voted_senors_update

  • remove memset 0 initializations because of zero initializer in header

Voted_sensors_update

  • fix style
  • parameter CAL_EN enables sensor with id CAL_ID
  • set priority properly in case of late mag subscriptions or sensors enabled param changes

Vscode

  • restore editor.smoothScrolling to default

Vtol_att_control

  • update parameter strings to class enum

WIP

  • commander re-evaluate RC mode switch when local position becomes valid

Reverts

  • vtol_att_control: update parameter strings to class enum
  • commander: update parameter strings to class enum

v1.10.0-beta2 (2019-09-30)

Appveyor

  • update to Windows Toolchain v0.6 (#13016)

Cm8jl65

  • move to PX4Rangefinder and cleanup

CollisionPrevention

  • limit collision warning to every 3 seconds and minor cleanup
  • fix integer rounding (#13028)
  • update orb_publish to uORB::Publication<>

Commander

  • allow RC to override during RTL
  • remove not disarming by RC message

Commander

  • rc_calibration move to uORB::Subscription

Controllib

  • fix for undefined sanitizer

Drivers

  • set CM8JL65 signal_quality invalid beyond bounds

EKF2

  • move handling of invalid range into ECL (#12988)

Ekf2

  • update to latest ecl version [continued] (#13023)
  • temporarily hardcode new quality information to unkown

FlightTask

  • use inline assignment initializer for reset_counters struct

FlightTaskAutoLineSmooth

  • Fix comment to be style compliant

Frsky_telemetry

  • move to uORB::Subscription
  • increase stack by 60 bytes

Fw_att_control

  • update orb_publish to uORB::Publication<>

Fw_pos_control_l1

  • update orb_publish to uORB::Publication<>

Ll40ls

  • fixed typo errors.
  • simplified probe logic and lowered max readable distance.
  • fix v3hp signal quality and modified probe to detect v3hp.
  • unify maximum operational distance to 35m
  • refactor driver start on i2c.
  • [Wingtra docet] fix for properly resetting v3 and v3hp modules.
  • fix for lidar lite v3hp

Load_mon

  • update orb_publish to uORB::Publication<>

Mavlink

  • ifdef networking code
  • wait for boot complete before sending or receiving anything

Mavlink

  • typo fix att -> act
  • prevent race if shut down immediately
  • optimize normal mode for typical GCS usage over serial radio
  • always check stream subscriptions (#13018)
  • update orb_publish to uORB::Publication<>

PMW3901

  • use quality metric

Platforms

  • fix main function signature

Pwm_out_sim

  • don't advertise garbage

Px4_log

  • publish all PX4_INFO messages as well (#12954)

Px4_tasks

  • reduce POSITION_CONTROL priority

Qshell

  • rename qshell sequence fields so they can be parsed on fastrtpsgen

Sensors

  • update orb_publish to uORB::Publication<>

Test_matrix

  • remove duplicate namespace accesses

TrajMath

  • move from FlightTasks/Utility into mathlib library because the function is also used by other libraries
  • replace type placeholder with floats

UORB

  • SubscriptionCallback cleanup naming

Uavcan

  • fix limit actuator poll interval.

VTOL

  • fix front transition rate publication (enable FW attitude controller to run instantly when transition is started). For that the vehicle_status_poll is moved before vehicle_control_module_poll in FW att C

VelocitySmoothing

  • refactor local scope t variables instead of array

v1.10.0-beta1 (2019-09-02)

Adc

  • refactor into arch-specific directories
  • allow board to not define BOARD_ADC_HIPOWER_5V_OC or BOARD_ADC_PERIPH_5V_OC

Airframes

  • add Kopis 2

Airframes

  • rename normal S500 to generic and remove PX4 defaults
  • add Holybro S500 Kit which was tested at dev summit

AirspeedSelector

  • added RTPS ID for airspeed_validated message

Airspeed_validated

  • move it out of the alias space

Ak09916

  • fixed driver not reporting magnetometer as external

Appveyor

  • fix PX4 version format check

Attitude_estimator_q

  • move most orb subscriptions to uORB::Subscription

Atxxxx

  • fix comment

BlockingQueue

  • default initialize _data

Bmp280

  • fix device_id initialization

Board_defaults

  • remove unnecessary 'set MIXER_AUX none'

Boards

  • add Holybro KakuteF7
  • simplify RC port configuration by using NuttX ioctl's

CBRK_BUZZER

  • allow to disable startup sound

CI

  • ensure 'git fetch --tags' is executed for all Firmware builds

Camera_trigger

  • move to new WQ and uORB::Subscription

Cm8jl65

  • use paramter to set sensor orientation
  • add field of view
  • Refactor driver, employ uniform initialization, format, and deprecate ringbuffer and IOCTL. (#11853)

CollisionPrevention

  • address PX4/PX4-Autopilot#12179 review comments
  • compute the attitude_sensor_frame outside for loop
  • use the maximum timestamp between offboard and distance sensor such that if one of the two fails the vehicle goes into failsafe, do not switch off CollisionPrevention if it fails
  • use FlightTasks convention for private/public methods, add doxygen on header file
  • add failsafe for stale distance data
  • make sure that vehicle tilt compensation is correct for all sensor orientation
  • refactor code to make it more readable
  • make sure that the timestamp is updated for distance sensors even if they are out of range
  • map distance_sensor data to obstacle distance

Commander

  • cleanup COM_POSCTL_NAVL parameter
  • move esc_status as local variable.
  • added esc_status prearm checks
  • make RC override multicopter only
  • pure refactor of RC override conditions

Commander

  • refactor module usage output
  • add 'commander arm -f' command to force arming
  • fix arming auth param translation
  • use shutdown_if_allowed() to check for shutdown safety
  • do not reboot on USB disconnect when armed
  • fix disarming for rovers
  • prevent potential disarms in-air
  • refactored state-machine strings

Commander_params

  • enable RC override by default
  • enable automatic disarming after land detection by default

Console

  • add simple dmesg functionality (enable only on v5)

Deltaquad

  • remove deprecated parameter MAN_R_MAX

Distance_sensor

  • add horiontal and vertical fov, add quaternion for sensor orientation

Drv_led_pwm

  • move to arch-specific directory

Ekf2

  • fixed calculation of static pressure error
  • reduce GPS initialization time for SITL from 10s to 0.5s

FW

  • set default RTL_TYPE = 1 for fixed wing

FixedWingAttitudeControl

  • don't lock integrator during transition - airframes that are not well trimmed rely on the integrator to learn the offset. This change can help improve altitude hold during transitions

FlightTaskOrbit

  • don't apply yaw feed forward in circle approach
  • only reapproach circle if center changed
  • use StraightLine library to approach circle

Fmu

  • remove unused _num_failsafe_set
  • remove unused write() interface
  • fix comments & documentation
  • fix implicit fallthrough
  • remove unused functions

Fw_att_control

  • move to WQ with uORB callback scheduling

Fw_pos_control_l1

  • move to WQ with uORB callback scheduling

GPS

  • Prevent injection from choking the driver (#12710)

Generate_microRTPS_bridge

  • remove commented code

Gpssim

  • don't advertize uninitialized data

Hardfault_log

  • fix NULL terminator truncation

Hysteresis

  • switch unit test file name to convention

Hysteresis

  • remove dependency/side effect on time
  • move out of systemlib, move to gtest

IO

  • respect actuator_armed.prearmed flag

JMAVSim

  • disable GUI using HEADLESS=1
  • use PX4_SIM_SPEED_FACTOR, not cli arg

Jenkins

  • archive catkin test logs on failure
  • pub_test needs to start px4 in daemon mode

Land_detector

  • Add and max_altitude and timestamp validity checks to MulticopterLandDetector class. (#12681)
  • Implement ModuleParams inheritance in the FixedwingLandDetector class.
  • cleanup actuator_armed and battery_status naming

Landing_target_estimator

  • update to uORB Subscription and Publication

Launch

  • multiple sdf models (#12306)

LeddarOne

  • Refactor the driver to standardize against other distance sensor drivers. (#11858)

Ll40ls

  • correct a write_reg issue (#12604)
  • cleanup and create PX4Rangerfinder helper class (#12567)
  • fix LIDAR-Lite v3 initialization (#12453)

Log_writer_file

  • increase stack size by 20 bytes
  • fix race condition for fast consecutive stop & start calls

Logger

  • fix multiple format definitions for multi-instance topics
  • unconditionally call _writer.notify()
  • log obstacle_distance_fused instead of obstacle_distance
  • handle 'char' type in messages
  • add Ulog sync bytes at 1Hz and tagged log message definition (#12144)
  • fix uninitialized member variable
  • add arming/disarming via AUX1 RC channel logging mode

MC_AIRMODE

  • move parameter definition to mixer_module

MPC_MAN_Y_MAX

  • changed default from 200 to 150 deg/s - we have set the maximum yaw-rate MC_YAWRATE_MAX to 200 degrees and it makes senses to leave a bit of margin between what the user can demand and what the limits of the vehicle are

MPC_Z_VEL_I

  • changed default from 0.02 to 0.1 - generally better attitude tracking - much better altitude control immediately after takeoff (hover throttle offset) - faster landing detection

Manual_contol_setpoint

  • fix mode slot numbering (#12578)

Mavlink

  • Fix forwarding of messages with target system/component id (#12559)
  • fixed temperature for batteries (#12605)
  • Use MAV_BROADCAST only in context of ethernet
  • Fill in thrust field correctly for offboard rates setpoints on fixed wing (#12311)
  • Enable gimbal control using SET_ACTUATOR_CONTROL_TARGET while controlling the vehicle offboard (#12146)

Mavlink

  • match commands aimed at any sysid/compid
  • added check if instance mode is serial when trying to find if instance exists (#12642)
  • fix race condition in mavlink_command_sender - if we receive an ack for a command through a specific mavlink channel then do not drop the corresponding command in the queue if this specific mavlink channel did not issue the command. If we don't do this we can end up in a situation where we associate an ack coming through a specific mavlink channel to a command in the queue which was not requested by this mavlink channel. Moreover, the actual command for which the ack was meant remains in the queue and eventually triggers a timeout.
  • split BATTERY_STATUS from SYS_STATUS update and handle all bricks (#12034)
  • add new extvisionmin mode (#12279)

Mavlink_command_sender

  • don't try to resend command to instance which did not request this command

Mavlink_main

  • stream OBSTACLE_DISTANCE to GCS

Mb12xx

  • Refactor driver class to allow for multiple sensors and cleanup (#11859)

Mc_att_control

  • output zero throttle in manual mode when landed - MPC_MANTHR_MIN is used as minimum throttle in attitude control mode when the vehicle is in air. This is useful to retain some control around roll and pitch axis if airmode is not enabled and the user demands zero throttle. However, when the vehicle is landed there is not need to keep the throttle at a higher value than zero.
  • Increase default rate integral gain
  • fix vehicle_rates_setpoint_poll() error due to merge timing

Mc_att_ctrl

  • added yawrate control from offboard.

Mc_pos_control

  • takeoff fix implicit switch fallthrough
  • increase stack size by 100 bytes
  • Explicitly convert tilt variables to radians during check and assignments

Mc_pos_control_main

  • Fixed missing semicolon

MicroRTPS_bridge

  • structural change to make possible to generate pub/sub code for multi-topics/aliased msgs

Mixer_group

  • improved get_multirotor_count () code readbility.

Mixer_module

  • create MixingOutput library and use in fmu

MixingOutput

  • make scheduling configurable
  • make mixer loading thread-safe

Motor_ramp

  • set fmu in test mode and cleanup (#11249)

MultiCopterLandDetector

  • Implement ModuleParams inheritance (#12356)

Navigator

  • fix vehicle_status update (#12364)

Navigator

  • VTOL: set heading of transition of a VTOL_TAKEOFF to the VTOL_TAKEOFF waypoint (and enforce heading)
  • VTOL: fix mission yawing timeout (MIS_YAW_TMT)
  • VTOL: disable weather vane during yaw aligning before front transition

ObstacleAvoidance

  • update empty_trajectory_waypoint
  • use hysteresis on z to check progress towards the goal
  • hysteresis on failsafe
  • fix comment
  • use convention for paramter name
  • fix bug in requesting update of the mission item. During takeoff you're always in the condition within xy acceptance radius and more than altitude radius away from the takeoff waypoint

Obstacle_distance

  • use only one increment in float directly CollisionPrevention: rename a few variables to make the code more readable

Obstacle_distance

  • add fields from mavlink extension

Omnibus

  • take out local_position_estimator from build as was out of flash after ecl update for airspeed selection module

Omnibus

  • enable dmesg buffer (3kb)

Param

  • fix potential nullptr dereferencing on param import

Pga460

  • Change variable initialization to uniform initialization style, format whitespace, and change baud rate unsigned to speed_t type. (#11861)

Platform

  • restructure (NuttX) architecture-specific code

Platforms

  • match usb-Hex_ProfiCNC device (#12772)
  • remove px4_backtrace

Posix

  • add argument to change the CWD (#12482)
  • remove segfault handler
  • restore original SEGV signal handler upon first entry of our handler

Precland

  • store result of _target_pose_sub.update() for later use

PreflightCheck

  • improve output in case of mag inconsistency

Pwm_limit

  • rename to output_limit

Px4_middleware

  • remove that header and move px4::init to px4_init.h

Px4fmu

  • move to WQ with uORB callback scheduling (#12224)
  • cleanup - removed duplicate const MAX_ACTUATORS definition

Px4io

  • force io firmware build

Px_generate_uorb_topic_files

  • cleanup uneeded conditions

Px_mkfw

  • add git commit hash to .px4 file

ROMFS

  • fix airframe incremental build
  • add explicit dependency to parser scripts

RTPS

  • add check for ID space

RcS

  • reduce a few LOC in AUTOCNF logic (#12467)

Rc_input

  • add RC_PORT_CONFIG param to configure RC port

Rebase

  • sync up submodules

Replay

  • close replay log file after replay is finished, then exit (#11264)

Rover

  • Enable Offboard support for Rover position control
  • Rewrote gnd_pos_control and removed gnd_att_control (#12239)

Rover_pos_control

  • refactor to ModuleBase and use C++ Param API

Rpi_rc_in

  • fix typo that was causing build to fail rpi

Rtl

  • implemented RTL based on cone shape

Rtps

  • ids: add missing aliased topics
  • generation scripts: make indexing of lists possible in both Python 2 and 3

SYS_COMPANION

  • remove this parameter

SYS_MC_EST_GROUP

  • add q estimator only option and activate on omnibus

Sensors

  • uniform initialization and whitespace formatting in voted_sensors_update.h
  • create vehicle_acceleration module (#12597)
  • create vehicle_angular_velocity module (#12596)
  • mag reload calibration parameters when first seen (#12586)

Shellcheck

  • disable SC2181

Sih

  • fix code style
  • move to PX4Accelerometer/PX4Gyroscope/PX4Magnetometer/PX4Barometer helpers

Simulator

  • fixing missing declaration

StraightLine

  • rewrite old implementation

TRIG_PINS

  • clarify TRIG_PINS on FMU (#12714)

Testing

  • hotfix to recover test coverage CI

Tfmini

  • migrate driver class member variable initialization to declarations (#11893)

ToneAlarmInterface

  • move to drivers/drv_tone_alarm
  • add support for non-pwm-based buzzers

Tools

  • remove decode_backtrace.py

Topic_listener

  • document how to exit

Tune_control

  • use orb queue advertisement consistently

Uavcan

  • limit actuator controls poll interval
  • add optical flow support (Here Flow)

Uavcan_main

  • replaced printf messages with PX4_INFO

Ulanding

  • refactor driver to utilize ScheduledWorkQueue class inheritance (#11894)

Uorb_rtps_classifier

  • improve way to check base type of alias

Uorb_rtps_message_ids

  • enlarge id space for base type msgs

VTOL

  • set RTL_TYPE default for VTOL to 1 (return to home via mission landing if available)
  • only run on actuator publications corresponding to VTOL mode

Vehicle_angular_velocity

  • sensor_selection callback

Vehicle_status

  • replace ARMING_STATE_REBOOT with ARMING_STATE_SHUTDOWN

Version

  • more tests to check tags with - prefix
  • add beta tag
  • validate format of the git tag

Vl53lxx

  • migrate variable initialization from constructor list to declaration uniform initialization (#11896)

Voted_sensors_update

  • refactor to camelCase function names
  • refactor out matrix:: because of using namespace

Vscode

  • add PX4_SIM_SPEED_FACTOR
  • use lockstep
  • start gzclient GUI for Gazebo simulation
  • remove matter of taste tabs customization

Vtol_att_control

  • limit state updates to input availability and always publish both FW/MC actuator controls
  • use VT_MOT_ID instead of VT_MOT_COUNT - VT_MOT_COUNT assumed that motors were always the first outputs. This does not have to be true always. VT_MOT_ID allows to specify precisely how many motors we have for hovering and to which channel they are connected.
  • apply multicopter takeoff hotfix also for vtol (#12250)

Vtol_configs

  • replaced VT_MOT_COUNT with VT_MOT_ID

Wqueue

  • check before dereferencing

YAML

  • use Loaders and safe_load (#11910)

Yaml

  • use safe_load(f) instead of load(f, Loader=yaml.FullLoader)

Reverts

  • CollisionPrevention only process distance_sensor updates
  • hotfix for logger: use '%i' instead of '%zu'
  • VTOL: add parameter to prevent flight if roll direction was not checked
  • Revert "simulator: remove hack for diff_pressure noise"

Pull Requests

  • Merge pull request #12063 from PX4/fix_custom_tune
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment