6d89a8cf71
When writting or reading a block, if the block doesn't fit the area where it begins, the next base address is always zero. Thus the calculations to define the next value of addr are unnecessary. Here's a quick validity proof using the previous calculations: First: Considering the case where the block doesn't fit it's first area: That means that (count + addr > length), what makes: count = length - addr; (1) So the following operations: addr += count; addr -= length; Are the same as doing: addr = addr + count - length; (2) Using (1) and (2) we have: addr = addr + length - addr - length = 0 Second: When the block fits the area where it's at: That means that variable count is not changed, thus (n -= count) evaluates to 0, which makes the loop exit. Another change was (b += count;) being moved after the condition to break the loop, since we just need to move the block pointer when it doesn't fit the first area. |
||
---|---|---|
AntennaTracker | ||
APMrover2 | ||
ArduCopter | ||
ArduPlane | ||
docs | ||
libraries | ||
mk | ||
modules | ||
Tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.pydevproject | ||
.travis.yml | ||
CONTRIBUTING.md | ||
COPYING.txt | ||
Doxyfile.in | ||
eclipse.cproject | ||
eclipse.project | ||
Makefile | ||
README.md | ||
reformat.sh | ||
uncrustify_cpp.cfg | ||
uncrustify_headers.cfg | ||
Vagrantfile |
#ArduPilot Project#
The ArduPilot project is made up of:
User Support & Discussion Forums
APM Forum: http://ardupilot.com/forum/index.php
Community Site: http://diydrones.com
Developer Information
Github repository: https://github.com/diydrones/ardupilot
Main developer wiki: http://dev.ardupilot.com
Developer email group: drones-discuss@googlegroups.com
Contributors
Dronecode.org
ArduPilot is part of Dronecode.org, a Linux Foundation collaborative project.
Dronecode encompasses projects that control flight, enable mission planning, and otherwise make drone flight and advanced functionality possible.
Dronecode development is done at the project level with coordinating and resource allocation performed by the TSC and the Board.
For information on the foundation please visit https://www.dronecode.org and https://github.com/Dronecode for further information or contact celder@dronecode.org
How To Get Involved
The ArduPilot project is open source and we encourage participation and code contributions: guidelines for contributors to the ardupilot codebase
We have an active group of Beta Testers especially for ArduCopter to help us find bugs: release procedures
Desired Enhancements and Bugs can be posted to the issues list.
Helping other users with log analysis on diydrones.com and the APM forums is always appreciated:
There is a group of wiki editors as well in case documentation is your thing: ardu-wiki-editors@googlegroups.com
Developer discussions occur on drones-discuss@google-groups.com
License
Maintainers
Ardupilot is comprised of several parts, vehicles and boards. The list below contains the people that regularly contribute to the project and are responsible for reviewing patches on their specific area. See CONTRIBUTING.md for more information.
- Andrew Tridgell
- Vehicle: AntennaTracker, Plane
- Board: APM1, APM2, Pixhawk
- Randy Mackay
- Vehicle: Copter
- Robert Lefebvre
- Vehicle: TradHeli
- Grant Morphett:
- Vehicle: Rover
- Matthias Badaire
- Subsystem: FRSky
- Paul Riseborough
- Subsystem: AP_NavEKF
- Lucas De Marchi
- Subsystem: Linux
- Peter Barker
- Subsystem: DataFlash
- Michael du Breuil
- Subsystem: uBlox GPS
- Víctor Mayoral Vilches
- Board: PXF
- Mirko Denecke
- Board: BBBmini
- Georgii Staroselskii
- Board: NavIO
- Emile Castelnuovo
- Board: VRBrain
- Mike McCauley
- Board: Flymaple
- [Jonathan Challinger] (https://github.com/3drobotics/ardupilot-solo)
- Vehicle: 3DRobotics Solo ArduPilot maintainer
- [Craig Elder] (https://github.com/CraigElder)
- Administration: Dronecode Technical Community Manager