mirror of
https://github.com/ArduPilot/ardupilot.git
synced 2026-02-04 21:14:59 -06: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>
91 lines
3.3 KiB
Markdown
91 lines
3.3 KiB
Markdown
# Lua REPL
|
|
|
|
This script implements an interactive REPL (read-evaluate-print-loop) for the
|
|
Lua scripting engine accessible over serial, with line editing, history, and
|
|
output formatting.
|
|
|
|
The script can also act as a client for QGroundControl's MAVLink Console
|
|
functionality (within the Analyze view), subject to limitations detailed
|
|
below.
|
|
|
|
### Basic Usage
|
|
|
|
* Configure a serial port (e.g. `SERIALn_PROTOCOL`) to protocol 28 (Scripting).
|
|
* By default the first such port is used; this can be adjusted in the script
|
|
|
|
text.
|
|
|
|
* `SERIAL6` is the alternate USB serial port on Cube Orange, and convenient
|
|
|
|
for bench testing. CAN and network serial ports will also work.
|
|
|
|
* Load the `repl.lua` script onto the autopilot.
|
|
* Connect a terminal emulator to the port and enter Lua statements/expressions
|
|
|
|
at the `>` prompt, then press Enter to execute. Results and errors will be
|
|
printed back.
|
|
|
|
* A `>>` prompt indicates that more input is needed to complete the
|
|
|
|
statement.
|
|
|
|
* You can use the arrow keys to edit the current and previous inputs.
|
|
* Press ESC twice to clear the input and any incomplete statement then
|
|
|
|
return to an empty prompt.
|
|
|
|
### Autopilot Connection
|
|
|
|
* On Linux a convenient command is e.g. `minicom -w -D /dev/ttyACM1 -b 115200`,
|
|
|
|
assuming you have the minicom terminal emulator installed.
|
|
|
|
* Any terminal emulator on any platform should work; see notes below about
|
|
|
|
control codes and other configuration.
|
|
|
|
### SITL Connection
|
|
|
|
* Start SITL with a command like `Tools/autotest/sim_vehicle.py -A --serialN=tcp:9995:wait` to allow connection to the selected serial port.
|
|
* Connect a terminal emulator to localhost TCP port 9995
|
|
* On Linux a convenient command is `stty -icanon -echo -icrnl && netcat localhost 9995`.
|
|
* Note that you must execute `reset` to turn echo back on once disconnected.
|
|
* Scripting must be restarted after a TCP reconnection.
|
|
|
|
### MAVLink Connection
|
|
|
|
* Requires at least Ardupilot 4.6.
|
|
* Set the port in the script text to `nil` to enable.
|
|
* In addition to `repl.lua`, copy the `mavport.lua` file and `MAVLink` directory
|
|
|
|
from `AP_Scripting/modules` to `APM/SCRIPTS/MODULES` on your autopilot.
|
|
|
|
* The ESC key is not supported; cause a syntax error to reset the prompt.
|
|
* The experience over a radio link might be sub-par due to lack of any sort of
|
|
|
|
packet loss tracking or retransmission.
|
|
|
|
### Notes and Limitations
|
|
|
|
* Statements like `local x = 3` create a variable which immediately goes out of
|
|
|
|
scope once evaluated. Names must be global to survive to the next prompt.
|
|
|
|
* There is currently no facility for installing periodic update callbacks.
|
|
* While theoretically impossible to accidentally crash the autopilot software,
|
|
|
|
certain scripting APIs can cause damage to you or your vehicle if used
|
|
improperly. Use extreme caution with an armed vehicle!
|
|
|
|
* The script expects Enter to be `\r`, `\r\n`, or `\n`. It prints `\r\n` for a
|
|
|
|
new line, and uses ANSI cursor control codes for line editing and history.
|
|
Check your terminal configuration if Enter doesn't work or you see garbage
|
|
characters. Lines longer than the terminal width likely won't edit properly.
|
|
|
|
* Evaluating complex statements or printing complex results can cause an
|
|
|
|
`exceeded time limit` error, stopping the script and losing variables and
|
|
history. Increasing the vehicle's `SCR_VM_I_COUNT` parameter reduces the
|
|
chance of this occurring.
|