mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-10-05 14:28:52 +08:00
c967cade47bf63aae0bdc543330ff8981e21b6b9
backport 3cd66af889b42b036d6c9d88e067fc3b8abbdb2a and pr 258 Applies to STM32F4 and STM32F7 STM32, STM32 F7, and STM32 L4: Clone Freddie Chopin's I2C change to similar STM32 I2C drivers. Save elapsed time before handling I2C in stm32_i2c_sem_waitstop() This patch follows the same logic as in previous fix to stm32_i2c_sem_waitdone(). It is possible that a context switch occurs after I2C registers are read but before elapsed time is saved in stm32_i2c_sem_waitstop(). It is then possible that the registers were read only once with "elapsed time" equal 0. When scheduler resumes this thread it is quite possible that now "elapsed time" will be well above timeout threshold. In that case the function returns and reports a timeout, even though the registers were not read "recently". Fix this by inverting the order of operations in the loop - save elapsed time before reading registers. This way a context switch anywhere in the loop will not cause an erroneous "timeout" error.
PX4 Pro Drone Autopilot
This repository holds the PX4 Pro 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.
- Official Website: http://px4.io (License: BSD 3-clause, LICENSE.md)
- Supported airframes (more experimental types than listed here are supported):
- Multicopters
- Fixed wing
- VTOL
- Releases: Downloads
Weekly Dev Call
The PX4 Dev Team syncs up on its weekly dev call (connect via Mumble client).
- When: Tuesday 17:00 Central European Time, 11:00 Eastern Time, 08:00 Pacific Standard Time
- Server: sitl01.dronetest.io
- Port: 64738
- Password: px4
- The agenda is announced in advance on the PX4 Discuss
- Issues and PRs may be labelled "devcall" to flag them for discussion
Please refer to the user documentation and user forum for flying drones with the PX4 flight stack.
Developers
Maintenance Team
- Project / Founder - Lorenz Meier
- Dev Call - Mark Whitehorn, Ramon Roche
- Communication Architecture - Beat Kueng, Julian Oes
- UI / UX - Gus Grubba
- Multicopter Flight Control - Dennis Mannhart, Matthias Grob
- VTOL Flight Control - Roman Bapst, Andreas Antener, Sander Smeets
- Fixed Wing Flight Control - Daniel Agar, Paul Riseborough
- Racers - Anton Matosov / Mark Whitehorn
- OS / drivers - David Sidrane
- UAVCAN / Industrial - Pavel Kirienko
- State Estimation - James Goppert, Paul Riseborough
- VIO - Mohammed Kabir, Christoph Tobler
- Obstacle Avoidance - Vilhjalmur Vilhjalmsson
- Snapdragon - Mark Charlebois
- Intel Aero - Lucas de Marchi, Simone Guscetti
- Raspberry Pi / Navio - Beat Kueng
- Parrot Bebop - Michael Schaeuble
Supported Hardware
This repository contains code supporting these boards:
- Snapdragon Flight
- Intel Aero
- Raspberry PI with Navio 2
- Parrot Bebop 2
- FMUv1.x
- FMUv2.x (Pixhawk and Pixfalcon)
- FMUv3.x (Pixhawk 2)
- FMUv4.x (Pixhawk 3 Pro and Pixracer)
- FMUv5.x (ARM Cortex M7, future Pixhawk)
- AeroCore (v1 and v2)
- STM32F4Discovery (basic support) Tutorial
- MindPX V2.8 Tutorial
- MindRacer V1.2 Tutorial
Project Milestones
The PX4 software and Pixhawk hardware (which has been designed for it) has been created in 2011 by Lorenz Meier.
Languages
C++
51.2%
C
38.5%
CMake
4.7%
Python
3.9%
Shell
1.3%
Other
0.1%