mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-02-07 12:36:21 +08:00
global: fix MD007 unordered list indentation in markdown files Normalize unordered list indentation to use 2-space multiples: - Top-level list items start at column 0 - Nested list items use 2 additional spaces per level Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> global: fix MD009 trailing whitespace in markdown files Remove trailing whitespace from all affected markdown files. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> global: fix MD010 hard tabs in markdown files Replace hard tab characters with 4 spaces. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> global: fix MD012 multiple consecutive blank lines in markdown Collapse multiple consecutive blank lines to single blank lines across all markdown files (excluding vendored code). Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> global: fix MD007 list indentation base level in markdown Shift list indentation left by 2 spaces so top-level list items start at column 0 instead of column 2. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD022 blank lines around headings in markdown Ensure headings are surrounded by blank lines as required by markdownlint MD022 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD032 blank lines around lists in markdown Ensure lists are surrounded by blank lines as required by markdownlint MD032 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD031 blank lines around code blocks in markdown Ensure fenced code blocks are surrounded by blank lines as required by markdownlint MD031 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD047 files should end with single newline Ensure all markdown files end with exactly one newline character as required by markdownlint MD047 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD023 headings must start at beginning of line Remove leading whitespace from heading lines as required by markdownlint MD023 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD007 remaining list indentation in markdown Fix unordered list indentation to use correct spacing as required by markdownlint MD007 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD030 spaces after list markers in markdown Reduce multiple spaces after list markers to single space as required by markdownlint MD030 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD022 blank lines around setext headings Ensure setext-style headings (underlined with === or ---) are surrounded by blank lines as required by markdownlint MD022 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD018 missing space after hash in headings Add space after hash marks in atx-style headings as required by markdownlint MD018 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD019 multiple spaces after hash in headings Reduce multiple spaces after hash marks to single space in atx-style headings as required by markdownlint MD019 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD012 multiple consecutive blank lines in markdown Remove multiple consecutive blank lines and ensure files end with exactly one newline as required by markdownlint MD012 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD023 headings with leading whitespace Remove leading whitespace from setext-style heading text lines as required by markdownlint MD023 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD022 blank line after heading in markdown Add missing blank line after heading as required by markdownlint MD022 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD009 trailing non-breaking space in markdown Remove trailing non-breaking space (U+00A0) as required by markdownlint MD009 rule. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Tools/scripts: fix MD012 remaining multiple blank lines in markdown Remove leading blank lines and whitespace-only lines that create multiple consecutive blank lines. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
68 lines
2.5 KiB
Markdown
68 lines
2.5 KiB
Markdown
# AP_Scripting
|
|
|
|
## Enabling Scripting Support in Builds
|
|
|
|
Scripting is automatically enabled on all boards with more than 1MB of flash space.
|
|
The following example enables scripting, builds the ArduPlane firmware for the Cube, and uploads it.
|
|
|
|
```
|
|
$ waf configure --board=CubeBlack
|
|
|
|
$ waf plane
|
|
|
|
$ waf plane --upload
|
|
```
|
|
|
|
To run SITL you can simply use the `sim_vehicle.py` script which will wrap the configuration, compilation,
|
|
and launching of the simulation into one command for you.
|
|
|
|
```
|
|
$ Tools/autotest/sim_vehicle.py -v ArduPlane
|
|
```
|
|
|
|
Once you have a vehicle flashed with scripting you need to set the `SCR_ENABLE` parameter to 1 to enable scripting and reboot.
|
|
|
|
## Adding Scripts
|
|
|
|
The vehicle will automatically look for and launch any scripts that are contained in the `scripts` folder when it starts.
|
|
On real hardware this should be inside of the `APM` folder of the SD card. In SITL this should be in the working directory (typically the main `ardupilot` directory).
|
|
|
|
An example script is given below:
|
|
|
|
```lua
|
|
function update () -- periodic function that will be called
|
|
local current_pos = ahrs:get_location() -- fetch the current position of the vehicle
|
|
local home = ahrs:get_home() -- fetch the home position of the vehicle
|
|
if current_pos and home then -- check that both a vehicle location, and home location are available
|
|
local distance = current_pos:get_distance(home) -- calculate the distance from home in meters
|
|
if distance > 1000 then -- if more then 1000 meters away
|
|
distance = 1000; -- clamp the distance to 1000 meters
|
|
end
|
|
SRV_Channels:set_output_pwm(96, 1000 + distance) -- set the servo assigned function 96 (scripting3) to a proportional value
|
|
end
|
|
|
|
return update, 1000 -- request "update" to be rerun again 1000 milliseconds (1 second) from now
|
|
end
|
|
|
|
return update, 1000 -- request "update" to be the first time 1000 milliseconds (1 second) after script is loaded
|
|
```
|
|
|
|
## Examples
|
|
|
|
See the [code examples folder](https://github.com/ArduPilot/ardupilot/tree/master/libraries/AP_Scripting/examples)
|
|
|
|
## Working with bindings
|
|
|
|
Edit bindings.desc and rebuild. The waf build will automatically
|
|
re-run the code generator.
|
|
|
|
## Lua Source Code
|
|
|
|
The Lua 5.3.6 source code is vendored in `lua/`. This is a customized
|
|
version of the [official
|
|
distribution](https://www.lua.org/ftp/lua-5.3.6.tar.gz). Where possible,
|
|
differences have been marked of the code.
|
|
|
|
Lua (not including modifications) is distributed under the terms of the
|
|
MIT license.
|