PX4 Autopilot Software
Go to file
Julian Oes cb2b09b80f protocol_splitter: implement with one read buffer
This is an attempt to implement the protocol_splitter with one
read buffer only. The idea is to prevent additional copy
operations from an incoming buffer to the respective protocol buffer.

Right now the benefit is not really there because we are not using a
ringbuffer and have to shift data around quite a bit.

We also try to parse and copy data to the reader immediately without
doing a read from the device which potentially takes 100ms.

We further use a timeout mechanism to prevent starvation if one reader
disconnects and the buffer would fill up from unread data.
2021-08-12 08:44:53 +02:00
.ci boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061) 2021-08-04 17:15:24 -04:00
.devcontainer ci: update container version to 2021-05-04 2021-07-07 21:38:09 -04:00
.github boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061) 2021-08-04 17:15:24 -04:00
.vscode boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061) 2021-08-04 17:15:24 -04:00
Documentation DriverFramework purge 2020-01-13 14:07:03 -05:00
ROMFS ROMFS cmake remove directory VERBATIM 2021-08-11 13:29:14 -04:00
Tools sih: add fixed-wing support 2021-08-05 09:16:14 +02:00
boards boards: px4_fmu-v6x_test disable attitude_estimator_q to save flash 2021-08-08 14:20:58 -04:00
cmake px4_add_board: infer VENDOR, MODEL & LABEL from cmake file name 2021-08-03 10:36:25 +02:00
integrationtests/python_src/px4_it fw_pos_control_l1: add takeoff minimum pitch parameter 2021-02-12 13:57:15 -05:00
launch Fix roslaunch multivehicle regression caused by #16497 2021-01-12 21:19:36 +01:00
mavlink/include/mavlink Update submodule v2.0 to latest Sun Aug 1 16:12:42 UTC 2021 2021-08-01 13:54:18 -04:00
msg urtps: rectify comment 2021-08-12 08:44:53 +02:00
platforms boards: Advanced Technology Labs (ATL) Mantis EDU support and airfarme (SYS_AUTOSTART 4061) 2021-08-04 17:15:24 -04:00
posix-configs purge broken qurt support and atlflight boards 2021-07-16 08:53:36 -04:00
src protocol_splitter: implement with one read buffer 2021-08-12 08:44:53 +02:00
test mavsdk tests: remove hover missions for VTOL 2021-07-30 21:27:53 -04:00
test_data ghst: keep the previous values for channels that are not updated 2021-02-20 11:29:57 +01:00
validation config: cleanup ethernet configuration 2021-04-04 21:20:36 -04:00
.ackrc
.clang-tidy
.gitattributes gitattributes eol=lf for nearly all file types 2020-08-05 11:32:26 -04:00
.github_changelog_generator
.gitignore drivers/distance_sensor: New Broadcom AFBR-S50LV85D distance sensor driver 2021-06-15 12:12:24 -04:00
.gitmodules Add ignition gazebo support for PX4 Software-In-The-Loop simulations 2021-07-19 19:59:41 -04:00
.travis.yml travis: change coverity to run on master 2020-01-16 13:31:41 -05:00
.ycm_extra_conf.py update C++ standard (c++11 -> c++14) 2020-01-21 21:49:10 -05:00
CMakeLists.txt uorb graph: some minor fixes, add full graph w/o mavlink 2021-08-03 07:54:41 +02:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Update CONTRIBUTING.md 2020-04-29 22:49:30 +01:00
CTestConfig.cmake
Firmware.sublime-project
Jenkinsfile Jenkinsfile: deploy uorb graph 2021-08-03 07:54:41 +02:00
LICENSE Update current year in LICENSE 2021-02-02 23:05:48 +01:00
Makefile uorb graph: some minor fixes, add full graph w/o mavlink 2021-08-03 07:54:41 +02:00
PULL_REQUEST_TEMPLATE.md
README.md README: update slack invite and badge 2021-07-28 07:39:20 +02:00
appveyor.yml appveyor: switch to Cygwin toolchain v0.9 2020-03-24 13:31:41 +00:00
eclipse.cproject
eclipse.project
package.xml

README.md

PX4 Drone Autopilot

Releases DOI

Nuttx Targets SITL Tests

Slack

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

See also maintainers list (px4.io) and the contributors list (Github).

Supported Hardware

This repository contains code supporting Pixhawk standard boards (best supported, best tested, recommended choice) and proprietary boards.

Pixhawk Standard Boards

Manufacturer and Community supported

Additional information about supported hardware can be found in PX4 user Guide > Autopilot Hardware.

Project Roadmap

A high level project roadmap is available here.