PX4 Autopilot Software
Go to file
PX4 BuildBot 374f256584 Update submodule cyclonedds to latest Mon Mar 25 12:39:30 UTC 2024
- cyclonedds in PX4/Firmware (1797e4b13f): https://github/commit/314887ca403c2fb0a0316add22672102936ed36c
    - cyclonedds current upstream: https://github/commit/b6fe21d5206e0d5195abfb2340e853fa1ae86ddb
    - Changes: https://github/compare/314887ca403c2fb0a0316add22672102936ed36c...b6fe21d5206e0d5195abfb2340e853fa1ae86ddb

    b6fe21d5 2023-08-24 Erik Boasson - dynsub: fix bounded strings
72d6d6d7 2023-08-22 Erik Boasson - Fix ddsi_tran_write_msgfrags_t alignment on stack
19ac0090 2023-08-18 Wade Hunkapiller - Issue #1312: Generated include guards are insufficient
2b65deb9 2023-08-19 Erik Boasson - Reject NaN in uf_int64_unit
71fe82b0 2023-08-11 Erik Boasson - Avoid qsort_r because of older MUSL versions
a6954ca0 2023-06-14 Marcel Jordense - Update raweth to DDS-TSN spec with vlan-tagging
2864be6a 2023-07-27 Erik Boasson - Clean up and move add_addresses_to_addrset
46876ef4 2023-07-27 Erik Boasson - Generalize uf_int64_unit and use it more often
ff972d47 2023-08-14 Erik Boasson - OSS-Fuzz now needs position indepenedent code
7fcd6bef 2023-08-14 Dennis Potman - Fix cdrstream bug for union types (#1800)
d6cdd367 2023-08-10 reicheratwork - Separated idl to c code generator off into own library (#1752)
bde20096 2023-08-07 Dennis Potman - Add CI build for Python language binding and tests
63f702e9 2023-08-08 Michel van den Hoek - add missing DDS_EXPORT in ddsi_sertype.c
3b0f8f8f 2023-08-03 Dennis Potman - Cdrstream fix for extracting key from delimited type
ef2f6e39 2023-08-01 Dennis Potman - Fixes in typebuilder
fe916533 2023-08-03 Dennis Potman - Fix duplicate condition in validate_remote_identity test and add missing copyright headers in security plugin tests
f7688ce7 2023-08-03 Patrick Masselink - Improve Zephyr port in-tree build support
4f6fe9f6 2023-08-03 Patrick Masselink - Add version info to the Zephyr port usage instructions
2bfc386f 2023-07-17 Patrick Masselink - Update Zephyr port to support Zephyr V3.4.0
8638e1fa 2023-08-01 Dennis Potman - Add typelib ifdefs in include files
96eecce2 2023-08-01 Dennis Potman - Export additional typebuilder and cdrstream functions that are used in python binding
e40a2005 2023-07-31 Dennis Potman - Fix unused parameter warning in ddsi_wait_for_type_resolved (in case of a release build with typelib, without type discovery)
a4e00a76 2023-07-26 Dennis Potman - Add ENABLE_TYPELIB build option
23864587 2023-07-31 Dennis Potman - Some minor improvements in cdrstream xcdrv1 key-size calculation
beca5b04 2023-06-07 Dennis Potman - Fix field order in key-only sample serialization
aee37ee2 2023-07-27 Erik Boasson - Use a named constant for "random port number"
5fde54ec 2023-07-25 Erik Boasson - Test locator list parsing
c0b539ee 2023-07-25 Erik Boasson - Reject locators with port = 0 in discovery
f6a4c0cb 2023-07-21 Erik Boasson - Improve tests for sample_rank
085b8209 2023-07-21 Erik Boasson - improve ucunit fatal assert handling
cfb19e78 2023-07-20 Erik Boasson - Test sample ranks also when skipping some samples
cb969915 2023-07-20 Erik Boasson - Fix off-by-1 error in sample_rank, add test
41d2c746 2023-07-13 Erik Boasson - read_w_qminv_inst_validsamples: remove wrong comment
3c57f440 2023-07-13 Erik Boasson - Fix comment about sample info ranks in "collect"
d7f41b2b 2023-07-13 Erik Boasson - dds_read_with_collector: rank set in sample info
9b03d1ed 2023-06-30 Erik Boasson - Add dds_read/take_with_collector API and refactor
43af028d 2023-07-13 Martijn Reicher - Fix transientlocal unittest to also check sample contents
28f47061 2023-05-26 Martijn Reicher - Fixed qosmatch unittest no later matching assumption
44f20ecf 2023-07-13 Martijn Reicher - Fix instance handle tests
8b6989cf 2023-07-13 Martijn Reicher - Fix for entity status tests
4af76a1d 2023-07-13 Martijn Reicher - Fixes for entity hierarchy tests
b0eb340d 2023-07-24 Andrianov Roman - Fix MISRA rule 22-1. (#1765)
8d120b96 2023-07-24 Andrianov Roman - Fix MISRA-RULE 11.1 (#1757)
a1ed0ff0 2023-07-20 eboasson - Merge pull request #1776 from dpotman/dynsub-fixes
e06fc3ea 2023-07-19 Dennis Potman - Fix cleaning-up the type_hashid_map hash table
a2955279 2023-07-19 Dennis Potman - Fix type wrapper memory leak for custom annotations
1e50d475 2023-07-19 Dennis Potman - Fix static analyzer issue in dynsub
718e747f 2023-07-18 Erik Boasson - Remove incorrect assert in serdata_pserop_fix
7e538d22 2023-07-18 Dennis Potman - Split dynsub example into multiple files
2ae86e94 2023-07-18 Erik Boasson - Add support for additional data types in dynsub example
c4d81639 2023-07-06 mosfet80 - Delete .travis.yml
d9d6d556 2023-07-18 Erik Boasson - Remove some more superfluous asserts from tests
42db07c2 2023-07-14 Erik Boasson - Eliminate Conan, CUnit
748f19f0 2023-07-11 Dennis Potman - Fix type object validation for types with no members/labels
5ca03776 2023-07-06 Erik Boasson - Do not assert on encoding in serdata_pserop_new
c968671b 2023-07-06 Michel van den Hoek - sockets.h: add doxygen comments
fd1d979e 2023-07-05 Andrianov Roman - Fix MISRA rule 9-1 (#1732)
50d2daf0 2023-06-02 Erik Hendriks - Fixed missing callbacks for pending events When setting a listener, any pending (i.e. unhandled) event received before would not result in an immediate callback. Now the set_listener call also checks for pending events, and invokes the registered callbacks when appropriate. This fix is a prerequisite for #https://github.com/eclipse-cyclonedds/cyclonedds-cxx/issues/410
dd1e7ff1 2023-07-03 Erik Hendriks - Modify deadline testcase to become less sensitive to non-determinism in timing.
c334f863 2023-07-03 Splinter1984 - Fix MISRA rule 8-8
ddfd3982 2023-07-03 Andrianov Roman - Fix MISRA rule 22-8. (#1747)
dd43d2f5 2023-07-03 Andrianov Roman - Fix MISRA rule 8-3(1/2) 'declarations of a function same name and type' (#1742)
fa72b181 2023-06-30 Andrianov Roman - Fix misra rule 5 3 (#1745)
93ff10fc 2023-06-29 Michel - ifaddrs.h: add doxygen comments (#1734)
db27066f 2023-06-28 Julien Enoch - example/throughput/readme.rst fixes
2ce79ea2 2023-06-28 Michel - cdtors.h: add doxygen comments (#1727)
d38e63ff 2023-06-28 Andrianov Roman - Fix MISRA 17.4 (missing violation) (#1740)
cc11c7d1 2023-06-27 Erik Boasson - Use bool, format & document XML parser
5e18b0a4 2023-06-27 Erik Boasson - Use "bool" where applicable in RHC
fcfcb9db 2023-06-27 Erik Boasson - Use "bool" type in hopscotch hash tables
30203925 2023-06-27 Andrianov Roman - Fix misra rule 8 2 (missing files violations) (#1739)
56424c29 2023-06-26 Splinter1984 - fix MISRA rule 8.2
07caac2e 2023-06-16 Michel van den Hoek - bswap.h: fixup
c5857a2b 2023-06-15 Michel van den Hoek - bswap.h: add doxygen comments
367fa84a 2023-06-16 Michel van den Hoek - countargs.h: add doxygen comments
97e76fcc 2023-06-26 Erik Boasson - Fix sertype_plist_realloc_samples
fc51ab7e 2023-06-16 Splinter1984 - Fix MISRA rule 17-4
fd9ad36e 2023-06-15 Splinter1984 - update codeql rules
1bcbdf10 2023-06-15 Splinter1984 - Fix MISRA rule 21-19
5e0dfea0 2023-06-15 SeanYu81 - remove leading and trailing white spaces from distinguished name when… (#1719)
47c04a7c 2023-04-20 Michel van den Hoek - atomics: add doxygen comments for arm, sun, gcc, msvc
fd93d8f3 2023-04-14 Michel van den Hoek - atomics.h: add doxygen comments
0a2ff5ef 2023-06-14 Erik Boasson - Use enum for whether a HB requires an ACK
ff4f318d 2023-06-14 Erik Boasson - Document struct ddsi_hbcontrol
320f9e4a 2023-06-14 Erik Boasson - Clean up return type of write_flush
4a3f3ed5 2023-04-25 Erik Boasson - Support dds_write_flush on publisher, participant
ea8c2910 2023-04-25 Erik Boasson - oneliner: add a blocking read/take
7242a294 2023-04-25 Erik Boasson - Add test flag suppressing flush on piggybacked HB
0f9add5b 2023-04-25 Erik Boasson - oneliner: add writer batching + flushing
9e119b95 2023-06-08 Martijn Reicher - Fix for idl_generate_generic with files directly on BASE_DIR
3c50f321 2023-05-08 Michel van den Hoek - fibheap.h: process review
b0127986 2023-05-02 Michel van den Hoek - fibheap.h: add doxygen comments
edc5854c 2023-06-13 Erik Boasson - IDLC fix leak of multi-dim array bounds on failure
01b0ed4d 2023-06-13 Erik Boasson - IDLC: reject arrays of 0 elements
4d086a01 2023-06-13 Erik Boasson - Reject 0-dimensional arrays and empty arrays
d907eafa 2023-06-13 Erik Boasson - Add DDSRT_STATIC_ASSERT_IS_UNSIGNED definition
5dfd2c07 2023-06-06 Michel - add doxygen comments to mh3.h and md5.h (#1718)
c7b8a961 2023-04-25 Erik Boasson - Add netinet/tcp.h so TCP_NODELAY is defined
7c1e561a 2023-06-02 Erik Boasson - Fix "structurally dead code" in test (CID 442820)
97ab5b19 2023-06-02 Erik Boasson - assert that cdrstream_desc.ops is non-null in test (CID 436275)
c21cde3a 2023-06-02 Erik Boasson - Fix possible leak in secure ppant creation (CID 377025)
0bff56fb 2023-06-02 Erik Boasson - Check ddsi_type_new, add_typeobj result (CID 455743)
0f682399 2023-06-01 Erik Boasson - Fix buffer allocation size in test (CID 436274)
a52cc15e 2023-05-29 Plamen Terziev - Remove enum forward declarations
955288bf 2023-05-27 Timo Röhling - Move project() statements below cmake_minimum_required()
708b9211 2023-05-30 Dennis Potman - Fix error handling for aggregated types in add_[min/compl]_typeobj in xt wrapper
090b62ee 2023-05-30 Dennis Potman - Fix error handling for ddsi_type_ref_proxy in OSS fuzz type object test
aa35c3cc 2023-05-24 Julien Enoch - cdr target: add required bswap.c as source
f3790fa0 2023-05-17 Dennis Potman - Add test for dynamic type API that compares generated type-info and type-map with the IDLC generated ones
02780a13 2023-05-17 Dennis Potman - Dynamic type API fixes
495515e4 2023-05-17 Dennis Potman - Fix type-info and type-map construction in dynamic type API
48aa8b3c 2023-05-22 Erik Boasson - Avoid accessing xevent sync_state outside lock
a10ced3c 2023-05-15 Dennis Potman - Replace incorrect use of @see @ref in doxygen comments
33209b75 2023-05-03 Troy Karan Harrison - [CP-277] Fix MISRA 10.2 violation in `ddsi::type_is_numeric`
b7afe964 2023-05-03 Troy Karan Harrison - [CP-277] Fix simple violations of 10.2 via cast to `char`
a44179aa 2023-05-03 Troy Karan Harrison - Add regression check for MISRA rule 10.2
2024-03-25 12:39:30 +00:00
.ci Jenkinsfile: correct typo, missing comma 2024-02-27 13:32:46 +01:00
.clusterfuzzlite Add clusterfuzzlite to fuzz in CI 2022-01-07 10:17:12 -05:00
.devcontainer vscode add Makefile extension to recommended and devcontainer.json 2023-09-25 12:26:29 -04:00
.github boards: new ARK Septentrio GPS CAN node(ark_septentrio-gps) 2024-02-09 10:26:09 -05:00
.vscode boards: new ARK Septentrio GPS CAN node(ark_septentrio-gps) 2024-02-09 10:26:09 -05:00
Documentation msg ROS2 compatibility, microdds_client improvements (timesync, reduced code size, added topics, etc), fastrtps purge 2022-10-19 19:36:47 -04:00
ROMFS ekf2-mag_auto: always use mag 3D after takeoff 2024-02-27 12:33:43 -05:00
Tools VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
boards VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
cmake cmake: fix kconfig cache when setting to 0 or n 2023-10-18 15:30:36 -04:00
integrationtests/python_src/px4_it integrationtests: MAVROS mission_test.py relax yaw estimate STD check for now (#22061) 2023-09-08 15:27:39 -04:00
launch rename 'gazebo' simulation to 'gazebo-classic' (#20936) 2023-01-15 11:36:12 -05:00
msg uavcan: publish new can interface status as uorb topic (#22873) 2024-03-20 12:38:47 -04:00
platforms VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
posix-configs fw pos control: revert name until we delineate this module a bit more (#21442) 2023-04-13 17:00:04 +02:00
src Update submodule cyclonedds to latest Mon Mar 25 12:39:30 UTC 2024 2024-03-25 12:39:30 +00:00
srv Add srv/ folder and srv/VehicleCommand.srv 2023-11-14 11:29:17 -05:00
test MAVSDK tests: shorten Position, Altitude control flights 2024-02-22 15:29:13 +01:00
test_data lib/rc: Fix DSM2/DSMX guessing routine and DSM range checking (#18270) 2022-04-13 17:29:08 -04:00
validation GotoControl: add go-to control interface to mc position controller 2023-11-30 17:16:02 +01:00
.clang-tidy .clang-tidy: exclude some warnings 2022-07-20 01:14:04 -04:00
.editorconfig add `.editorconfig` for consistent code style across editors (#22916) 2024-03-21 20:56:20 -04:00
.gitattributes delete systemcmds/mixer 2022-09-09 09:14:09 -04:00
.gitignore .gitignore: ignore generate top level log/ folder (colcon) 2023-03-20 11:06:12 -04:00
.gitmodules VOXL2: HRT updates for synchronization with Qurt time (#22881) 2024-03-22 15:24:51 -04:00
CMakeLists.txt events: pass relative paths plus base path to source parser script (#22551) 2023-12-18 09:33:53 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2017-07-30 19:18:49 +02:00
CONTRIBUTING.md Docs are now in user guide and main (#19977) 2022-08-01 11:39:39 +10:00
CTestConfig.cmake gather test results 2017-01-02 10:14:41 +01:00
Jenkinsfile Jenkinsfile: add 'git fetch' to failsafe target 2023-11-15 14:23:06 +01:00
Kconfig Add Zenoh pico support 2023-10-18 15:30:36 -04:00
LICENSE Update current year in LICENSE 2023-01-21 12:57:27 -05:00
Makefile Jenkins compile remove obsolete target nxp_fmurt1062-v1_default 2023-11-22 11:16:22 -05:00
README.md README.md spelling mistake corrected 2023-10-19 10:01:47 -04:00
SECURITY.md Security Vulnerability Reporting 2023-11-06 09:32:16 +01:00
package.xml initial minimal PX4_ROS2 platform and px4_ros2_default build (#20689) 2022-12-08 23:03:44 -05:00

README.md

PX4 Drone Autopilot

Releases DOI

Nuttx Targets SITL Tests

Discord Shield

This repository holds the PX4 flight control solution for drones, with the main applications located in the src/modules directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.

PX4 is highly portable, OS-independent and supports Linux, NuttX and MacOS out of the box.

Building a PX4 based drone, rover, boat or robot

The PX4 User Guide explains how to assemble supported vehicles and fly drones with PX4. See the forum and chat if you need help!

Changing code and contributing

This Developer Guide is for software developers who want to modify the flight stack and middleware (e.g. to add new flight modes), hardware integrators who want to support new flight controller boards and peripherals, and anyone who wants to get PX4 working on a new (unsupported) airframe/vehicle.

Developers should read the Guide for Contributions. See the forum and chat if you need help!

Weekly Dev Call

The PX4 Dev Team syncs up on a weekly dev call.

Note The dev call is open to all interested developers (not just the core dev team). This is a great opportunity to meet the team and contribute to the ongoing development of the platform. It includes a QA session for newcomers. All regular calls are listed in the Dronecode calendar.

Maintenance Team

Note: This is the source of truth for the active maintainers of PX4 ecosystem.

Sector Maintainer
Founder Lorenz Meier
Architecture Daniel Agar / Beat Küng
State Estimation Mathieu Bresciani / Paul Riseborough
OS/NuttX David Sidrane
Drivers Daniel Agar
Simulation Jaeyoung Lim
ROS2 Beniamino Pozzan
Community QnA Call Ramon Roche
Documentation Hamish Willee
Vehicle Type Maintainer
Multirotor Matthias Grob
Fixed Wing Thomas Stastny
Hybrid VTOL Silvan Fuhrer
Boat x
Rover x

See also maintainers list (px4.io) and the contributors list (Github). However it may be not up to date.

Supported Hardware

Pixhawk standard boards and proprietary boards are shown below (discontinued boards aren't listed).

For the most up to date information, please visit PX4 user Guide > Autopilot Hardware.

Pixhawk Standard Boards

These boards fully comply with Pixhawk Standard, and are maintained by the PX4-Autopilot maintainers and Dronecode team

Manufacturer supported

These boards are maintained to be compatible with PX4-Autopilot by the Manufacturers.

Community supported

These boards don't fully comply industry standards, and thus is solely maintained by the PX4 public community members.

Experimental

These boards are nor maintained by PX4 team nor Manufacturer, and is not guaranteed to be compatible with up to date PX4 releases.

Project Roadmap

Note: Outdated

A high level project roadmap is available here.

Project Governance

The PX4 Autopilot project including all of its trademarks is hosted under Dronecode, part of the Linux Foundation.

Dronecode Logo Linux Foundation Logo