Technical Glossary
TECHNICAL GLOSSARY
A
AC_AttitudeControl - The Angle Controller
The Attitude Controller is responsible for determining how fast the vehicle should rotate to achieve a desired Orientation (Roll, Pitch, Yaw). It sits betwee...
AC_AttitudeControl - The Rate Loops
The Rate Controller is the "Inner Loop" of the flight stack. It runs at the full loop rate (400Hz+) and is responsible for stabilizing the vehicle ...
AC_PosControl - The XYZ Controller
The Position Controller (AC_PosControl) is the "Middle Manager" of the flight stack. It takes orders from the Navigator ("Go to [10, 20, 5]&qu...
AC_WPNav - The Navigator
The Waypoint Navigator (AC_WPNav) is responsible for generating the "Perfect Path" for the drone to fly. It does not fly the drone directly. Instea...
Acro Mode (Copter)
Acro (Acrobatic) mode is the purest form of flight control, providing direct "Rate" control over the vehicle's angular velocity. Unlike Stabilize o...
ACRO Mode (Plane)
ACRO Mode for fixed-wing aircraft provides a rate-stabilized flight experience. Unlike "Manual" mode, where the sticks directly move the servos, AC...
ADS-B Collision Avoidance
ADS-B (Automatic Dependent Surveillance–Broadcast) allows the drone to see manned aircraft. ArduPilot doesn't just display these on the GCS; it can activel...
Advanced Modes: F, D, and K
ELRS is not static. It supports multiple modulation modes tailored for different environments. F-Mode (FLRC) is for pure racing speed. D-Mode (DVDA) is for r...
AirMode (Copter)
AirMode is not a distinct flight mode but a specific stabilization feature that can be enabled within modes like Acro, Stabilize, and AutoTune. Its primary p...
Airspeed Sensors (Pitot)
For fixed-wing aircraft, Airspeed is life. While GPS gives "Ground Speed", only a Pitot Tube measures "Airspeed" (the speed of air over t...
Altitude Hold (Copter)
Altitude Hold (AltHold) is a semi-autonomous flight mode that automatically maintains a consistent Z-axis altitude while allowing the pilot to manually contr...
AP_Motors - The Matrix & Mixer
The Motor Mixer (AP_MotorsMatrix) is the bottom layer of the control stack. It takes the normalized Torque (Roll/Pitch/Yaw) and Thrust (Throttle) commands fr...
AP_Periph: Building Custom Nodes
AP_Periph is a stripped-down version of ArduPilot designed to run on peripheral microcontrollers (like STM32F3 or F4) instead of a Flight Controller. It allo...
ArduPilot Configuration
Configuring Remote ID involves enabling the subsystem (DID_ENABLE), selecting the communication backend (Serial or CAN), and verifying the persistent "T...
ArduPilot Integration: Setup & Params
Integrating ELRS with ArduPilot is straightforward, but optimizing it for MAVLink requires specific settings. The default "Auto-Detect" works for R...
Auto Mode (Copter)
Auto Mode is the primary autonomous flight mode, executing a pre-programmed mission plan uploaded to the flight controller. It navigates through a series of ...
AUTO Mode (Plane)
AUTO mode is the primary autonomous flight mode for fixed-wing aircraft. It executes a pre-planned mission uploaded to the flight controller. Unlike multicop...
AutoTune Logic
AutoTune is a state machine that iteratively tunes the PID controller by injecting "Twitches" (step inputs) and measuring the vehicle's response. I...
AUTOTUNE Mode (Plane)
AUTOTUNE Mode is a utility mode designed to automatically calibrate the Roll, Pitch, and Yaw PID controllers while you fly. It removes the guesswork from tun...
Avoidance Architecture & Data Fusion
ArduPilot's avoidance system is a multi-layered stack that ingests raw sensor data (Lidar, Radar, Depth Cameras), fuses it into a unified "Boundary,&quo...
B
Barometer Physics
The Barometer is the primary source of relative altitude for most drones. It measures atmospheric pressure. However, pressure changes with Weather, Temperatu...
Board Configuration (hwdef)
Unlike traditional ChibiOS applications that manually edit board.h and mcuconf.h, ArduPilot uses a Python-based generator: chibios_hwdef.py. This script read...
Brake Mode (Copter)
Brake Mode is a dedicated safety mode designed to stop the vehicle as quickly as possible and hold its position. It is often assigned to a "Panic Switch...
C
ChibiOS & ArduPilot Architecture
Since 2017, ArduPilot has run on top of ChibiOS/RT, a high-performance Real-Time Operating System (RTOS). This replaced the older "Flymaple" and cu...
Circle Mode (Copter)
Circle Mode is an autonomous flight mode that makes the vehicle orbit a specific point of interest (POI). It allows for smooth, cinematic orbital shots with ...
CIRCLE Mode (Plane)
CIRCLE mode is a simple, non-GPS flight mode that forces the aircraft to fly in a circle at a fixed bank angle while maintaining its current altitude. Unlike...
Commercial Certification & Self-Declarations
Building a drone with ArduPilot and a Remote ID module does not automatically make it a "Standard Remote ID Drone" in the eyes of the FAA.
Companion Computer Failsafes
When a Companion Computer (Raspberry Pi/Jetson) takes control of a drone, it becomes a single point of failure. If your Python script crashes or the USB cabl...
Compass Fusion & Magnetic Interference
Magnetometers (Compasses) are the most fragile sensors on a drone. They are easily corrupted by power lines, metal bridges, or even the drone's own motors. T...
Control Link Architecture: ExpressLRS and MAVLink
CRITICAL In the ArduPilot ecosystem, the radio link is not just for control sticks; it is a bidirectional data pipeline for MAVLink telemetry. This fundament...
CRUISE Mode (Plane)
CRUISE Mode is the long-range pilot's best friend. It acts like Fly-By-Wire B (FBWB) for altitude and speed control but adds a Ground Course Lock. When you r...
Customizing Features
ArduPilot is designed to be modified. There are two primary ways to inject custom logic: User Hooks (for simple logic) and Build Configuration (for hardware/...
D
DataFlash Structure
ArduPilot logs are self-describing binary files. They do not require a separate schema file to decode. The first few kilobytes of every .bin log contain FMT ...
Debugging & Fault Analysis
When an STM32 crashes, it triggers a hardware exception (HardFault, MemManage, BusFault). Unlike a desktop OS that segfaults and keeps running, an embedded c...
Debugging Mixers: Motor Test & Logging
After defining a custom frame, the most terrifying moment is the first arming. Will it flip? To verify your mixer without flying, you use the Motor Test tool...
Defining Custom Mixers in C++
For standard frames (X, H), ArduPilot automatically calculates the motor mixer based on the frame angle (e.g., 45 degrees). However, for asymmetric frames, V...
Dijkstra Path Planning
While BendyRuler is great for local, reactive avoidance, it can get stuck in "cul-de-sacs" (U-shaped obstacles). Dijkstra's Algorithm solves this b...
Drift Mode (Copter)
Drift Mode completely reimagines the control scheme of a multicopter to mimic the behavior of a fixed-wing aircraft or a car. It provides "coordinated t...
DroneCAN: The Modern Bus
I2C and UART are legacy protocols. They are point-to-point, prone to noise, and have no standard configuration interface. DroneCAN (formerly UAVCAN v0) is a ...
DShot & ESC Telemetry Backend
DShot is a digital protocol for controlling ESCs. Unlike PWM (which varies pulse width), DShot sends a packet of data (Thrust + Telemetry Request + Checksum)...
E
EKF Innovations & Lane Switching
The Extended Kalman Filter (EKF) is the brain of the autopilot. It fuses data from IMUs, GPS, Compass, and Barometer to estimate position and attitude.
EKF Lane Switching & Redundancy
Modern flight controllers (like the Cube Orange) have multiple redundant IMUs (Accelerometers/Gyros). ArduPilot leverages this by running Multiple EKF Instan...
EKF Variance & Innovations
When the GCS screams "EKF Variance" or "Velocity Variance", it means the autopilot is confused. Specifically, it means the sensor data (G...
Electronic Speed Controllers (ESCs): The Power Translators
CRITICAL The ESC is the most hardworking computer on your aircraft. It must perform thousands of calculations per second to manage the violent collapse of ma...
ELRS Foundations: LoRa & CSS Physics
ExpressLRS (ELRS) represents a paradigm shift from traditional FSK (Frequency Shift Keying) radios. It utilizes LoRa (Long Range) modulation, a technology or...
Embedded MAVLink: Integrating with ESP32 & Arduino
For high-performance companion computers (like ESP32 or STM32), you cannot use Python (pymavlink). You must use the generated C/C++ headers. These headers pr...
F
Fixed Wing Airframe Principles
CRITICAL Unlike a multicopter, which is a brick that beats the air into submission with raw power, a fixed-wing aircraft is a refined instrument of aerodynam...
Flight Controller Architecture: The Compute Core
CRITICAL The Flight Controller (FC) is the central nervous system of the vehicle. In the ArduPilot ecosystem, the selection of the processor family dictates ...
Flip Mode (Copter)
Flip Mode is a pre-programmed aerobatic maneuver that makes the vehicle perform a 360-degree rotation on the Roll or Pitch axis. It is designed to be safe an...
FlowHold Mode (Copter)
FlowHold is a horizontal position-control mode designed for GPS-denied environments. It utilizes an Optical Flow sensor to arrest drift and maintain position...
Fly By Wire A (Plane)
Fly By Wire A (FBWA) is the most popular stabilized flight mode for fixed-wing aircraft. It provides "Angle Control" for Roll and Pitch, meaning th...
Fly By Wire B (Plane)
Fly By Wire B (FBWB) is an advanced assisted flight mode that builds upon FBWA. While FBWA stabilizes attitude, FBWB stabilizes Altitude and Airspeed. It fee...
Follow Mode (Copter)
Follow Mode allows the copter to autonomously track and follow another MAVLink-enabled vehicle (Lead Vehicle) or a Ground Control Station (GCS). It maintains...
Frame Class vs Type Architecture
When you configure a drone in Mission Planner, you select a Frame Class (e.g., Quad, Hexa) and a Frame Type (e.g., X, V, Plus). These are not just GUI labels...
Frequency Domain Analysis
In advanced tuning, we stop thinking of the drone as a time-domain machine (reacting to inputs) and start thinking of it in the Frequency Domain (reacting to...
G
GDB Debugging Setup
Debugging embedded firmware with printf is painful. GDB (GNU Debugger) allows you to freeze the processor, inspect memory, walk through code line-by-line, an...
GNSS & Magnetometry: State Estimation Sensors
CRITICAL An autonomous vehicle is a robot that makes decisions based on where it thinks it is. If the GPS drifts 5 meters, the drone moves 5 meters. If the C...
GPS Glitch Protection
GPS is imperfect. Multipath errors (signals bouncing off buildings) can cause the GPS reported position to jump 10 meters instantly. If the flight controller...
GPS Integration
Global Navigation Satellite Systems (GNSS), commonly referred to as GPS, provide the absolute position reference for autonomous vehicles. While a standard ph...
Guided Mode (Copter)
Guided Mode is the primary interface for "Offboard Control." While Auto mode runs a pre-uploaded mission, Guided mode listens for real-time command...
GUIDED Mode (Plane)
GUIDED Mode is designed for "Offboard Control". It allows a Ground Control Station (GCS) or Companion Computer to command the aircraft dynamically....
H
HAL & Hardware Drivers
The power of AP_HAL_ChibiOS lies in its ability to abstract complex STM32 peripherals into standard interfaces. The most complex and critical part of this is...
Hardware Integration
ArduPilot supports Remote ID hardware via two primary protocols: MAVLink (Serial) and DroneCAN. The hardware acts as the transmitter (WiFi/Bluetooth), while ...
Harmonic Notch Filtering
Propeller noise is the enemy of good tuning. It injects high-frequency vibration into the gyro signal, which the D-term amplifies, causing hot motors.
Heli Autorotate Mode (Copter)
This mode is exclusive to Traditional Helicopters. It automates the complex "Autorotation" maneuver required to land a helicopter safely after a mo...
I
IMU Architecture & Fusion
The Inertial Measurement Unit (IMU) is the heart of the flight controller. It consists of Gyroscopes (rotation rate) and Accelerometers (force/gravity). Mode...
Input Shaping & Jerk Limiting
Input Shaping (often called "S-Curves" in the CNC world) transforms a square-wave pilot input into a smooth, kinematically feasible curve. This pre...
L
L1 Control Logic
The L1 Controller is ArduPilot's primary guidance algorithm for fixed-wing aircraft and rovers. Unlike a simple PID controller that reacts to cross-track err...
Land Mode (Copter)
Land Mode initiates a vertical descent to the ground. Its primary goal is to bring the vehicle down safely, detecting the ground to shut off motors automatic...
Link Symmetry & TX-as-RX
Standard ELRS systems are Asymmetric. The Transmitter (Ground) has 1000mW of power. The Receiver (Air) often has only 100mW (telemetry). This means you can c...
Loiter Mode (Copter)
Loiter Mode is the default GPS-assisted flight mode for ArduCopter. It automatically holds position, altitude, and heading when the sticks are centered. When...
LOITER Mode (Plane)
LOITER Mode is the standard GPS-position-hold mode for fixed-wing aircraft. When engaged, the plane captures its current location and altitude, then orbits t...
Lua Scripting Mixers
For years, creating a custom airframe meant editing C++ code, recompiling, and flashing custom firmware. Now, with ArduPilot's Lua Scripting Engine, you can ...
Lua Scripting: The Onboard Companion
Historically, if you wanted custom logic (e.g., "If battery < 10% AND altitude > 50m, turn on LEDs"), you needed a Companion Computer (Raspbe...
M
Magnetometer Management
The Magnetometer (Compass) is critical for heading, but also the most problematic sensor due to electromagnetic interference. ArduPilot supports multiple com...
MANUAL Mode (Plane)
MANUAL Mode provides a direct pass-through connection between the pilot's RC sticks and the aircraft's control surfaces. It bypasses all stabilization, navig...
MAVLink Flow Control & Throttling
ArduPilot uses a "Pull-Based" flow control system. Instead of blindly pushing messages into a buffer and hoping for the best, the scheduler explici...
MAVLink FTP
MAVLink FTP (File Transfer Protocol) allows a Ground Control Station to interact with the flight controller's onboard filesystem (SD Card or Flash). It is us...
MAVLink over ELRS: The 'Airport' Bridge
Traditionally, Long Range pilots needed two radios: Crossfire for Control, and SiK Radio (900MHz) for MAVLink Telemetry. ELRS "Airport" combines th...
MAVLink Routing
ArduPilot does not just consume MAVLink data; it acts as a Packet Switch (Router). If you connect a telemetry radio to SERIAL1 and an OSD to SERIAL2, ArduPil...
MAVLink Scheduler & Stream Rates
You set SR1_POSITION to 50Hz, but your telemetry log shows only 10Hz. Why? The answer lies in the MAVLink Scheduler. ArduPilot uses a sophisticated "Buc...
MAVLink Serialization Architecture
MAVLink is designed for a specific hostile environment: Low-Bandwidth, High-Latency, Unreliable Serial Links (e.g., 57600 baud telemetry radios). In this dom...
MAVLink2 Signing & Security
Standard MAVLink is unencrypted and unauthenticated. Anyone with a radio on the same frequency can inject commands (e.g., "Disarm"). MAVLink2 Signi...
Mission State Machine
The ArduPilot Mission State Machine is the "Brain" of Auto mode. It is responsible for sequencing events, ensuring that the drone finishes one task...
MSP & DJI OSD Integration
For years, the FPV world was divided: ArduPilot users used MAVLink, and Betaflight users used MSP (MultiWii Serial Protocol). With the rise of DJI FPV, Walks...
Multicopter Frame Mechanics
CRITICAL The frame is not just a skeleton; it is a mechanical component of the control loop. If the frame flexes, the PID loop fails.
N
Navigation Architecture
Navigation in ArduPilot is not a monolithic block; it is a layered architecture separating Mission Management (high-level intent) from Position Control (kine...
O
On-Demand Streaming (MAVLink)
Modern Ground Control Stations (like QGroundControl) and custom apps (like MAVLink HUD) don't rely on the static SRx_ parameters. Instead, they use the On-De...
OpenDroneID & Android Integration
OpenDroneID acts as a digital beacon. Any smartphone within range can pick up the signal using the free OpenDroneID app. This provides public accountability ...
Optical Flow Fusion
Optical Flow is the primary method for non-GPS navigation (FlowHold) and precision landing. The sensor reports the "angular velocity" of the ground...
Optical Flow: Sensor Drivers & Quality
Optical Flow sensors (like the PX4Flow or HereFlow) give drones the ability to hold position without GPS. They work like an optical mouse, tracking the movem...
P
Packet Rates, Latency & Range
One size does not fit all. ExpressLRS forces you to choose your Packet Rate (Update Frequency). This choice defines the fundamental capabilities of your link...
PosHold Mode (Copter)
PosHold (Position Hold) is a hybrid flight mode that attempts to offer the best of both worlds: the direct, responsive feel of Stabilize when the pilot is fl...
Power Forensics
Power failure is the most common cause of non-pilot-error crashes. Analyzing power logs allows you to distinguish between Battery Exhaustion (ran out of capa...
Power Systems Engineering: The Foundation of Flight
CRITICAL The power system is the most dangerous component of your aircraft. A failure here is rarely a "glitch"—it is usually a fire or a "d...
Propulsion Physics: Motors & Propellers
CRITICAL The propulsion system is the physical interface between the flight controller's digital commands and the atmosphere. A mismatch here cannot be fixed...
R
Rangefinders: Tilt Compensation
Rangefinders (Lidar, Sonar, Radar) provide the critical "Height Above Ground" (AGL) metric needed for automated landing and terrain following. Whil...
Remote ID: Core Concepts & Regulations
Remote ID (14 CFR Part 89) is a "digital license plate" for drones. It broadcasts the drone's position, altitude, and ID to nearby receivers.
RPM Sensors: The Harmonic Notch
Vibration is the enemy of stability. Propellers create massive vibration spikes at specific frequencies related to their RPM. A static Low-Pass Filter is blu...
RTL Mode (Copter)
Return to Launch (RTL) is the primary failsafe mode. When engaged, it navigates the vehicle back to its home position (or the nearest Rally Point) at a safe ...
RTL Mode (Plane)
Return to Launch (RTL) is the primary autonomous safety mode for fixed-wing aircraft. When triggered (by a switch or failsafe), the plane navigates back to t...
S
Signing & Secure Boot
Secure Boot ensures that only authorized firmware can run on the flight controller. This is critical for preventing tampering, cloning, or malicious code inj...
Simple and Super Simple Modes (Copter)
Simple and Super Simple are not distinct flight modes but rather Coordinate Transforms applied to the pilot's Roll and Pitch inputs. They change the "Fr...
Simple Avoidance (Stop & Slide)
Simple Avoidance is the most basic form of collision prevention, used primarily in pilot-controlled modes (Loiter, AltHold, PosHold). It does not path-plan; ...
SITL Architecture
Software In The Loop (SITL) allows ArduPilot to run on a standard PC (Linux/Windows/macOS) as if it were running on a flight controller.
Smart RTL Mode (Copter)
Smart RTL (Return to Launch) is a sophisticated variation of the standard RTL mode. Instead of flying a straight line home at a fixed altitude, it backtracks...
Spline Trajectories
For multirotors, stopping at every waypoint is inefficient and visually jarring. Spline Navigation allows the vehicle to fly a smooth, continuous curve throu...
Sport Mode (Copter)
Sport Mode offers a unique control scheme: Earth-Frame Rate Control. Like Acro, the sticks command angular rotation rates (deg/s) instead of angles. However,...
Stabilize Mode (Copter)
Stabilize Mode is the most fundamental flight mode for multicopters. It provides self-leveling attitude control on the Roll and Pitch axes, while giving the ...
STABILIZE Mode (Plane)
STABILIZE Mode is the most basic assisted flight mode for fixed-wing aircraft. It automatically levels the wings and pitch when the pilot releases the sticks...
System Identification (SysID)
System Identification (SysID) is an engineering method to build a mathematical model of a physical system by stimulating it with known inputs and measuring t...
System Identification Mode (Copter)
System Identification (SysID) is an advanced engineering mode designed to mathematically model the vehicle's physical response characteristics. It automatica...
T
TAKEOFF Mode (Plane)
TAKEOFF Mode is a specialized autonomous mode designed to safely launch a fixed-wing aircraft. It handles the critical transition from "on the ground&qu...
Telemetry Ratios & Bandwidth Math
Unlike traditional radios with fixed telemetry, ELRS allows you to tune the Uplink/Downlink Balance. The "Telemetry Ratio" determines how many pack...
Terrain Estimation (EKF)
For precision landing and optical flow, the drone must know its height above the ground (AGL), not just its height above sea level (ASL). The EKF maintains a...
Terrain Following
Terrain Following allows a vehicle to maintain a constant height above the ground rather than above the takeoff point (Home). This is critical for low-level ...
The Backpack Architecture: Wi-Fi & ESP8285
The "Backpack" is a secondary processor (ESP8285) inside your ELRS Transmitter module. It acts as a bridge between the ELRS radio link and the outs...
The BendyRuler Algorithm
BendyRuler is ArduPilot's local path planner for complex environments. Unlike "Simple Avoidance" which just stops or slides, BendyRuler actively se...
The Control Stack: From Stick to Prop
When you move the sticks on your radio, you aren't moving the servos directly. You are feeding a request into the top of a complex "Cascade Controller.&...
The Crash Checker
The Crash Check is a software safety mechanism designed to detect if the vehicle is out of control and impacting the ground. If a crash is confirmed, it imme...
The EKF Core: Fusion Architecture
The Extended Kalman Filter (EKF) is the mathematical brain of the autopilot. Its job is to calculate a single, trusted "Truth" (Attitude, Position,...
The Mission Item Protocol
Uploading a mission (Waypoints) is a critical operation that requires 100% data integrity. Unlike telemetry (where dropping a packet is fine), dropping a Way...
The Output Map: SERVOn_FUNCTION
In ArduPilot, "Motor 1" is not physically tied to "Pin 1". Instead, there is a layer of abstraction called SRV_Channels. The Motor Mixer ...
The Parameter Protocol
Downloading parameters is often the slowest part of connecting a Ground Control Station (GCS). ArduPilot manages over 1000 parameters. Dumping them all at on...
The Waf Build System
ArduPilot uses Waf, a Python-based build automation tool, to manage the compilation of its massive codebase. Unlike Make or CMake, Waf scripts are valid Pyth...
The Yaapu Problem & The HUD Solution
For years, ArduPilot users have relied on the Yaapu Telemetry Script to see flight data on their radio screens. However, as pilots move to MAVLink over ELRS ...
THERMAL Mode (Plane)
THERMAL Mode (Soaring) allows a fixed-wing aircraft (typically a glider) to autonomously detect, track, and utilize updrafts (thermals) to gain altitude with...
Threading & Scheduling
While the ArduPilot Flight Code (Copter/Plane) is largely single-threaded (the "Main Loop"), the underlying system is highly multi-threaded. AP_HAL...
Throw Mode (Copter)
Throw Mode is a specialized launch mode that allows a multicopter to be thrown into the air (or dropped from another vehicle) to start a flight. The vehicle ...
Total Energy Control System (TECS)
The Total Energy Control System (TECS) replaces classical independent altitude/airspeed PID loops with a physics-based MIMO (Multi-Input Multi-Output) contro...
TRAINING Mode (Plane)
TRAINING Mode is designed to teach a student pilot how to fly manually without the risk of losing control. It behaves exactly like MANUAL mode (direct stick-...
Troubleshooting & Compliance
Remote ID adds a layer of complexity to the arming process. Because it is a legal requirement in many jurisdictions, ArduPilot treats it as a critical safety...
Turtle Mode (Copter)
Turtle Mode (officially "Crash Flip") is designed to recover a multicopter that has flipped upside down after a crash. Instead of walking to the ve...
V
Vibration Analysis & FFT
Vibration is the root cause of many flight issues, from "Jello" video to EKF Lane Switching and even flyaways. ArduPilot provides two powerful tool...
Vibration Failsafe & Clipping
Vibration is the #1 enemy of the EKF. If the frame vibrates too much, the accelerometers produce "Aliased" data—high-frequency shaking that the E...
Video & OSD Architecture
The On-Screen Display (OSD) overlays flight data onto the FPV video feed. ArduPilot supports both legacy Analog OSDs (MAX7456 chips) and modern Digital OSDs ...
W
Watchdog & System Faults
When the autopilot reboots unexpectedly or disarms mid-air, the Watchdog and Fault logs are the first place to look. These logs capture the "Black Box&q...
Wind Estimation & Drag Fusion
Knowing the wind speed is critical for accurate navigation, especially for Return-to-Launch calculations ("Do I have enough battery to fight this headwi...
Z
ZigZag Mode (Copter)
ZigZag Mode is a specialized semi-autonomous mode designed for agricultural spraying or lawn-mowing patterns. It allows a pilot to define two points (A and B...