e90e8ae0ea
nxp/rt117x:Fix Pin IRQ nxp/rt117x:Support 4 i2c busses nxp/rt117x:Add px4io_serial support nxp/imxrt:Expand ToneAlarmInterface to GPT 3 & 4 px4_fmu-6xrt:Using imxrt_flexspi_nor_octal px4_fmu-6xrt:Entry is start px4_fmu-6xrt:Add Proper MTD px4_fmu-6xrt:Set I2C Buses px4_fmu-6xrt:Proper SPI usage px4_fmu-6xrt:Adjust memory Map to use the 2 MB px4_fmu-6xrt:Bring in ROMAPI px4_fmu-6xrt:Push FLASH to 200Mhz px4_fmu-6xrt:Use BOARD_I2C_LATEINIT px4_fmu-6xrt:Clock Config remove unused devices px4_fmu-6xrt:Remove EVK SDRAM IO px4_fmu-6xrt:Enable SE550 using HW_VER_REV_DRIVE px4_fmu-6xrt:Use MTD to mount FRAM on Flex SPI px4_fmu-6xrt:Manifest px4_fmu-6xrt:Restore board_peripheral_reset px4_fmu-6xrt:Set I2C buss Interna/Externa and startup nxp/rt117x:Set 6 I2C busses px4_fmu-6xrt:Correct Clock Sources and Freqency Settings px4_fmu-6xrt:Correct ADC Settings px4_fmu-6xrt:Tune FlexSPI config and sync header with debug variant Linker prep for rodata ahb partitioning px4_fmu-6xrt:FlexSPI prefetch partition split .text and .rodata Current config 1KB Prefetch .rodata 3KB Prefetch .text px4_fmu-6xrt:Run imxrt_flash_setup_prefetch_partition from ram with barriers px4_fmu-6xrt:Use All OCTL setting from FLASH g_flash_config SANS lookupTable px4_fmu-6xrt:Octal spi boot/debug problem bypass px4_fmu-6xrt:Add PWM test px4_fmu-6xrt:Fix clockconfig and USB vbus sense px4_fmu-6xrt: Use TCM px4_fmu-6xrt: Ethernet bringup imxrt: use unique_id register for board_identity px4_fmu-6xrt: update ITCM mapping, todo proper trap on pc hitting 0x0 px4_fmu-6xrt:correct rotation icm42688p onboard imu rt117x: Add SSARC HP RAM driver for memory dumps px4_fmu-6xrt: Enable hardfault_log px4_fmu-6xrt: Enable DMA pool px4_fmu-6xrt: fix uart mapping px4_fmu-6xrt: enable SocketCAN & DroneCAN px4_fmu-6xrt:Command line history TAB completion px4_fmu-6xrt:Fix pinning duplication px4_fmu-6xrt:Support conditional PHY address based on selected PHY px4_fmu-6xrt:Add Pull Downs on CTS, use GPIO for RTS px4_fmu-6xrt:Set TelemN TX Slew rate and Drive Strenth to max px4_fmu-6xrt::Set TELEM Buffers add HW HS px4_fmu-6xrt:Turn off DMA poll px4_fmu-6xrt:RC_SERIAL_PORT needed to be px4io to disable rc_input using TELEM2! px4_fmu-6xrt: bootloader (#22228) * imxrt:Add bootloader support * bootloader:imxrt clear BOOT_RTC_SIGNATURE * px4_fmu-6xrt:Add bootloader * px4_fmu-6xrt:bootloader removed ADC * px4_fmu-6xrt:bootloader base bootloader script off of script.ld * px4_fmu-6xrt:add _bootdelay_signature & change entry from 0x30000000 to 0x30040000 * px4_fmu-6xrt:hw_config Bootloader has to have 12 bytes px4_fmu-6xrt:Default to use LAN8742A PHY px4_fmu-v6xrt:VID Set to Drone Code board_reset:Enable ability to write RTC GP regs px4_fmu-6xrt:Fix CMP0079 error rt117x:micro_hal Add a PX4_MAKE_GPIO_PULLED_INPUT px4_fmu-v6xrt:Set CTS High before VDD_5V applided to ports to avoid radios fro entering bootloaders fmu-v6xrt: increase 5v down time fmu-v6xrt:Ready for Release DEBUGASSERTS off and Console 57600, Bootloder updated. imxrt:board_hw_rev_ver Rework for 3.893V Ref px4_fmu-v6xrt:Move ADC to Port3 |
||
---|---|---|
.ci | ||
.clusterfuzzlite | ||
.devcontainer | ||
.github | ||
.vscode | ||
Documentation | ||
ROMFS | ||
Tools | ||
boards | ||
cmake | ||
integrationtests/python_src/px4_it | ||
launch | ||
msg | ||
platforms | ||
posix-configs | ||
src | ||
srv | ||
test | ||
test_data | ||
validation | ||
.ackrc | ||
.clang-tidy | ||
.gitattributes | ||
.github_changelog_generator | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
.ycm_extra_conf.py | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
CTestConfig.cmake | ||
Firmware.sublime-project | ||
Jenkinsfile | ||
Kconfig | ||
LICENSE | ||
Makefile | ||
README.md | ||
SECURITY.md | ||
_last_entry | ||
appveyor.yml | ||
eclipse.cproject | ||
eclipse.project | ||
package.xml |
README.md
PX4 Drone Autopilot
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.
- Official Website: http://px4.io (License: BSD 3-clause, LICENSE)
- Supported airframes (portfolio):
- Multicopters
- Fixed wing
- VTOL
- Autogyro
- Rover
- many more experimental types (Blimps, Boats, Submarines, High altitude balloons, etc)
- Releases: Downloads
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
- FMUv6X and FMUv6C
- FMUv5 and FMUv5X (STM32F7, 2019/20)
- FMUv4 (STM32F4, 2015)
- FMUv3 (STM32F4, 2014)
- FMUv2 (STM32F4, 2013)
Manufacturer supported
These boards are maintained to be compatible with PX4-Autopilot by the Manufacturers.
- ARK Electronics ARKV6X
- CubePilot Cube Orange+
- CubePilot Cube Orange
- CubePilot Cube Yellow
- Holybro Durandal
- Airmind MindPX V2.8
- Airmind MindRacer V1.2
- Holybro Kakute F7
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.