### Initialize Linux Environment Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Run the setup script from the root of the cloned repository to install necessary dependencies. ```bash ./Sphinxsetup.sh ``` -------------------------------- ### Start Vagrant Environment Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Commands to initialize and start the Vagrant virtual machine for building documentation. ```bash cd ardupilot_wiki vagrant up ``` -------------------------------- ### Run Assistant Setup Script Source: https://ardupilot.org/mavproxy/docs/modules/chat.html Execute the setup script to configure the OpenAI assistant for vehicle control. ```bash python setup_assistant.py ``` -------------------------------- ### Load and Start Vicon Module Source: https://ardupilot.org/mavproxy/docs/modules/vicon.html Commands to initialize and start the Vicon module within the MAVProxy environment. ```bash module load vicon vicon set vicon start ``` -------------------------------- ### Initialize Windows Environment Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Run the batch setup script as an administrator from the root of the cloned repository. ```batch ./Sphinxsetup.bat ``` -------------------------------- ### Start the magical UI Source: https://ardupilot.org/mavproxy/docs/modules/magical.html Launch the graphical user interface for the compass calibration tool after the module has been loaded. ```bash magical_ui ``` -------------------------------- ### MAVProxy Beta Installer Source: https://ardupilot.org/mavproxy/docs/common-downloads_developer_tools.html An MSI installer for a beta version of MAVProxy. ```msi mavproxybeta1.msi ``` -------------------------------- ### Install Git on Linux Source: https://ardupilot.org/mavproxy/docs/development/mavdevenvlinux.html Installs the git version control system using apt-get. This is a prerequisite for cloning the MAVProxy repository. ```bash sudo apt-get install git ``` -------------------------------- ### Load RC Setup Module Source: https://ardupilot.org/mavproxy/docs/modules/rcsetup.html Command to load the rcsetup module into the MAVProxy environment. ```APIDOC ## LOAD rcsetup ### Description Loads the rcsetup module to enable RC calibration commands. ### Command module load rcsetup ``` -------------------------------- ### Install MAVProxy from Source Source: https://ardupilot.org/mavproxy/docs/development/mavdevenvlinux.html Installs MAVProxy after making changes to the source code. This command must be run from the MAVProxy source directory. ```bash python3 -m pip install . ``` -------------------------------- ### Configure and Start NTRIP Source: https://ardupilot.org/mavproxy/docs/modules/ntrip.html Sets the connection parameters for the NTRIP server and initiates the data stream. ```bash module load ntrip ntrip set caster caster.centipede.fr ntrip set port 2101 ntrip set mountpoint TCY22 ntrip set username centipede ntrip set password centipede ntrip start ``` -------------------------------- ### Start Antenna Tracking Source: https://ardupilot.org/mavproxy/docs/modules/tracker.html Begin the antenna tracking process. This command activates the module to start following the UAV. ```bash tracker start ``` -------------------------------- ### Install restview via pip Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Installs the restview utility for on-the-fly RST rendering. ```bash python3 -m pip install restview ``` -------------------------------- ### Install Required Python Packages Source: https://ardupilot.org/mavproxy/docs/modules/chat.html Commands to install pyaudio and openai dependencies on Linux/Ubuntu systems. ```bash sudo apt -y install python3-pyaudio python3 -m pip install openai ``` -------------------------------- ### MAVProxy uBlox Module Setup Source: https://ardupilot.org/mavproxy/docs/modules/ublox.html Instructions on how to load the ublox module and set up the API token for accessing uBlox services. ```APIDOC ## MAVProxy uBlox Module Setup ### Description Loads the ublox module and configures the API token for uBlox services. ### Setup 1. Load the module by running: ``` module load ublox ``` 2. Create a file named `api_token` in the `~/.mavproxy/ublox/` directory and store your uBlox API token within this file. ### Prerequisites - MAVProxy installed - Access to uBlox website for API token and GNSS databases ``` -------------------------------- ### Install cuav Library Source: https://ardupilot.org/mavproxy/docs/modules/cameraview.html Install the required cuav library via pip to enable camera hardware integration. ```bash pip install cuav ``` -------------------------------- ### Launch restview on Windows Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Starts the restview server to render a specific RST file in the default web browser. ```bash start \python-folder\Scripts\restview common\source\docs\common-wiki_editing_guide.rst ``` -------------------------------- ### Install MAVProxy Python dependencies Source: https://ardupilot.org/mavproxy/docs/development/mavdevenvwindows.html Install the necessary Python libraries and build tools required for MAVProxy development. ```bash pip install wheel setuptools pip install pywin32 lxml pymavlink numpy matplotlib pyserial opencv-python PyYAML Pygame Pillow wxpython prompt-toolkit scipy pip install pyinstaller packaging ``` -------------------------------- ### Start MAVProxy with Local Forwarding Source: https://ardupilot.org/mavproxy/docs/getting_started/forwarding.html Commands to initiate MAVProxy and forward telemetry to a local ground station on Linux or Windows. ```bash mavproxy.py --master=/dev/ttyACM0 --baudrate 115200 --out 127.0.0.1:14550 ``` ```bash mavproxy.py --out 127.0.0.1:14550 ``` ```bash mavproxy --master=COMx --out 127.0.0.1:14550 ``` -------------------------------- ### Vicon Module Configuration and Usage Source: https://ardupilot.org/mavproxy/docs/modules/vicon.html This section covers the basic commands to load, set, and start the Vicon module, along with a detailed explanation of its configurable settings. ```APIDOC ## Vicon Module Commands ### Description Basic commands to load, configure, and start the Vicon module. ### Method Shell Commands ### Endpoint N/A ### Parameters None ### Request Example ```bash module load vicon vicon set vicon start ``` ### Response N/A --- ## Vicon Module Settings ### Description Configuration settings for the Vicon module, which can be set using the `vicon set` command. ### Method `vicon set` command with parameter assignments ### Endpoint N/A ### Parameters #### Request Body - **host** (string) - Optional - IP Address or hostname of Vicon server. Default: `vicon` - **origin_lat** (float) - Optional - Latitude of the Vicon world frame. Default: `-35.363261` - **origin_lon** (float) - Optional - Longitude of the Vicon world frame. Default: `149.165230` - **origin_alt** (float) - Optional - Altitude of the Vicon world frame in meters. Default: `584.0` - **vision_rate** (float) - Optional - Rate (Hz) to send VISION_ESTIMATE messages. Default: `14` - **vel_filter_hz** (float) - Optional - Velocity Filter cutoff frequency in Hz. Default: `30` - **gps_rate** (float) - Optional - Rate (Hz) to send GPS_INPUT messages. Default: `5` - **gps_nsats** (integer) - Optional - Number of satellites to report in the simulated GPS message. Default: `5` - **object_name** (string) - Optional - Name of the object to track in Vicon Tracker software. Default: `None` (auto-detects the first object found) ### Request Example ```bash vicon set host=192.168.1.100 origin_lat=-35.363261 origin_lon=149.165230 object_name=MyObject ``` ### Response N/A ### Error Handling N/A ``` -------------------------------- ### Install MAVProxy on Debian/Ubuntu/WSL Source: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html Installs MAVProxy and its Python dependencies on Debian-based Linux systems. Ensure you have python3-dev, python3-opencv, python3-wxgtk4.0, python3-pip, python3-matplotlib, python3-lxml, and python3-pygame installed. The PATH environment variable is updated for command-line access. ```bash sudo apt-get install python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python3-pygame python3 -m pip install PyYAML mavproxy --user echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc ``` -------------------------------- ### Start MAVProxy with default logging Source: https://ardupilot.org/mavproxy/docs/getting_started/logfiles.html When MAVProxy is executed without any arguments, it saves telemetry to 'mav.tlog' and 'mav.tlog.raw' in the current directory. ```bash ~/Documents/code/MAVProxy$ mavproxy.py ``` ```bash C:\users\stephen\Documents\logs> mavproxy.py ``` -------------------------------- ### Handle Virtual Environment for Linux Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Commands to create and activate a Python virtual environment if the setup script fails due to externally managed environment restrictions. ```bash # Install the required packages to create venv sudo apt-get install python3-venv python3-pip # Create and activate a virtual environment python3 -m venv .venv source .venv/bin/activate # Now run the setup script again ./Sphinxsetup.sh ``` -------------------------------- ### Install MAVProxy on Fedora Source: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html Installs MAVProxy and its Python dependencies on Fedora systems. Ensure you have python3-devel, python3-opencv, python3-wxpython4, python3-pip, python3-matplotlib, python3-pygame, python3-lxml, python3-yaml, and redhat-rpm-config installed. The PATH environment variable is updated for command-line access. ```bash sudo dnf install python3-devel python3-opencv python3-wxpython4 python3-pip python3-matplotlib python3-pygame python3-lxml python3-yaml redhat-rpm-config python3 -m pip install PyYAML mavproxy --user echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc ``` -------------------------------- ### MAVProxy PPP Module Commands Source: https://ardupilot.org/mavproxy/docs/modules/ppp.html Commands to load, start, stop, and check the status of the PPP link module in MAVProxy. ```APIDOC ## Load Module ### Description Loads the PPP module into the MAVProxy environment. ### Command `module load ppp` ## Starting and Stopping ### Description Commands to manage the lifecycle of the PPP link and the associated pppd daemon. ### Commands - `ppp start`: Starts the ppp link and a ppp daemon (pppd). - `ppp stop`: Stops the ppp link and daemon. - `ppp status`: Prints the current status of the ppp link to the console. ``` -------------------------------- ### MAVProxy Beta No Network Test Installer Source: https://ardupilot.org/mavproxy/docs/common-downloads_developer_tools.html An MSI installer for a beta version of MAVProxy specifically for testing without network connectivity. ```msi mavproxyBetaNoNeworkTest.msi ``` -------------------------------- ### Configure MAVProxy Master Connections Source: https://ardupilot.org/mavproxy/docs/getting_started/starting.html Examples of defining serial, TCP, and UDP master connections for UAV communication. ```bash mavproxy.py --master=/dev/ttyUSB0 mavproxy.py --master="com14" mavproxy.py --master=tcp:192.168.1.1:14550 mavproxy.py --master=udp:192.168.1.1:14550 --master=/dev/ttyUSB0 mavproxy.py --master=/dev/ttyUSB0,57600 mavproxy.py --master=udp:127.0.0.1:14550 mavproxy.py --master=tcp:0.0.0.0:14550 ``` -------------------------------- ### Load Optitrack Module Source: https://ardupilot.org/mavproxy/docs/modules/optitrack.html Use this command to load the Optitrack module in MAVProxy. Ensure the module is available in your MAVProxy installation. ```bash module load optitrack ``` -------------------------------- ### Start MAVProxy with custom base directory for logging Source: https://ardupilot.org/mavproxy/docs/getting_started/logfiles.html Use the --state-basedir argument to specify a custom base directory for storing all telemetry logfiles, overriding the default location. ```bash C:\users\stephen\Documents> mavproxy.py --aircraft=copter --mission=flyby --state-basedir=C:\logs ``` -------------------------------- ### Start MAVProxy with custom aircraft and mission names for logging Source: https://ardupilot.org/mavproxy/docs/getting_started/logfiles.html Combine --aircraft and --mission arguments to further customize the logfile directory structure, using the mission name instead of the date. ```bash C:\users\stephen\Documents> mavproxy.py --aircraft=copter --mission=flyby ``` -------------------------------- ### Manage Tracker Parameters Source: https://ardupilot.org/mavproxy/docs/modules/tracker.html Use this command to set, show, fetch, or get help for tracker-specific parameters, such as 'port', 'baud', and 'debug'. ```bash tracker param [set|show|fetch|help] ``` -------------------------------- ### Load Swarm Module Source: https://ardupilot.org/mavproxy/docs/modules/swarm.html Use this command to load the Swarm module in MAVProxy. Ensure the module is installed and accessible. ```bash module load swarm ``` -------------------------------- ### Start Optitrack Data Streaming Source: https://ardupilot.org/mavproxy/docs/modules/optitrack.html Initiates the streaming of position data from the Optitrack server to ArduPilot. This command assumes the Optitrack module is loaded and configured. ```bash optitrack start ``` -------------------------------- ### Load MAVProxy Console Module Source: https://ardupilot.org/mavproxy/docs/modules/console.html Use this command to load the graphical console module in MAVProxy. Ensure MAVProxy is installed and configured. ```bash module load console ``` -------------------------------- ### Load NMEA GPS Module Source: https://ardupilot.org/mavproxy/docs/modules/nmeagps.html Initializes the NMEA GPS module within the MAVProxy environment. Requires the pynmea2 Python package to be installed. ```bash module load NMEAGPS ``` -------------------------------- ### Start Log File Playback with MAVProxy Source: https://ardupilot.org/mavproxy/docs/analysis/playback.html Initiates playback of a log file. This streams MAVLink data over a local port for connection by MAVProxy. ```bash mavplayback.py logfile.tlog ``` ```bash mavplayback.py logfile.tlog --out=127.0.0.1:14550 ``` -------------------------------- ### Set RTL Mode on All Vehicles using MAVProxy Source: https://ardupilot.org/mavproxy/docs/getting_started/multi.html Example of using the `alllinks` command to set all vehicles to Return-to-Launch (RTL) mode. Replace `` with the desired command. ```text alllinks mode rtl ``` -------------------------------- ### Install Python via Homebrew on Mac Source: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html Installs Python using the Homebrew package manager on macOS. This is a prerequisite for installing MAVProxy and its dependencies on Mac systems. ```bash brew install python --framework ``` -------------------------------- ### Start RC Calibration Source: https://ardupilot.org/mavproxy/docs/modules/rcsetup.html Initiate the RC calibration process for a specified number of channels. Omit the channel count to calibrate all available channels. ```bash rccal N ``` -------------------------------- ### Execute Initial Commands Source: https://ardupilot.org/mavproxy/docs/getting_started/starting.html Run specific MAVProxy commands upon startup using the --cmd flag. ```bash mavproxy.py --master=/dev/ttyUSB0 --cmd="param load init.parm; module load map;" ``` -------------------------------- ### MAVProxy Startup CLI Options Source: https://ardupilot.org/mavproxy/docs/getting_started/starting.html Overview of the command-line arguments used to configure MAVProxy connections and operational modes. ```APIDOC ## MAVProxy Startup Options ### Description MAVProxy is configured via command-line arguments at startup. There are no mandatory options, though --master is typically required to connect to a vehicle. ### Parameters - **--master** (string) - Optional - Specifies the port (serial, USB, or network address/port) the UAV is communicating on. Multiple masters can be used. - **--out** (string) - Optional - Forwards MAVLink packets to a remote device (serial, USB, or network address/port). - **--baudrate** (integer) - Optional - Sets the baud rate for serial links. - **--quadcopter** (flag) - Optional - Enables quadcopter controls. - **--sitl** (string) - Optional - Host and port for SITL simulator RC input. - **--streamrate** (integer) - Optional - Sets the MAVLink stream rate. - **--logfile** (string) - Optional - Sets the name of the MAVLink master logfile. - **--append-log** (flag) - Optional - Appends to the latest log file instead of creating a new one. - **--setup** (flag) - Optional - Starts in APM CLI mode. - **--cmd** (string) - Optional - Initial commands to run in MAVProxy, delimited by ';'. - **--console** (flag) - Optional - Loads the GUI console module on startup. - **--map** (flag) - Optional - Loads the moving map module on startup. - **--load-module** (string) - Optional - Loads specified modules on startup. - **--mavversion** (string) - Optional - Specifies MAVLink version (1.0 or 2.0). ### Request Example ``` mavproxy.py --master=/dev/ttyUSB0 --out=udp:192.168.1.1:14550 --cmd="param load init.parm; module load map;" ``` ``` -------------------------------- ### Start MAVProxy with custom aircraft name for logging Source: https://ardupilot.org/mavproxy/docs/getting_started/logfiles.html Use the --aircraft argument to specify a name for the aircraft, which organizes logfiles into a named folder structure including date and flight number. ```bash C:\users\stephen\Documents> mavproxy.py --aircraft=copter ``` -------------------------------- ### Load the tuneopt module Source: https://ardupilot.org/mavproxy/docs/modules/tuneopt.html Initialize the tuning options module within the MAVProxy environment. ```bash module load tuneopt ``` -------------------------------- ### Uninstall Existing MAVProxy Installation Source: https://ardupilot.org/mavproxy/docs/development/mavdevenvlinux.html Removes any pre-existing MAVProxy installation using pip to prevent conflicts with the development version. ```bash pip uninstall MAVProxy ``` -------------------------------- ### Load Horizon Module Source: https://ardupilot.org/mavproxy/docs/modules/horizon.html Initializes the horizon display window within MAVProxy. ```bash module load horizon ``` -------------------------------- ### Load Signing Module Source: https://ardupilot.org/mavproxy/docs/modules/signing.html Initializes the signing module within the MAVProxy environment. ```bash module load signing ``` -------------------------------- ### Load User Alerts Module Source: https://ardupilot.org/mavproxy/docs/modules/useralerts.html Initializes the module within the MAVProxy environment. ```bash module load useralerts ``` -------------------------------- ### Start Gas Helicopter Engine Source: https://ardupilot.org/mavproxy/docs/modules/gasheli.html Initiates the engine start sequence for a gas helicopter. The starter motor engages, followed by ignition after a configured delay. The starter motor stops after a specified duration. ```bash gasheli start ``` -------------------------------- ### Load PPP Module Source: https://ardupilot.org/mavproxy/docs/modules/ppp.html Load the PPP module into the MAVProxy environment. ```bash module load ppp ``` -------------------------------- ### Install MAVProxy Dependencies on Mac Source: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html Installs essential MAVProxy dependencies on macOS using pip. This includes wxPython for GUI support, gnureadline for enhanced readline functionality, billiard for multiprocessing, and numpy/pyparsing for numerical and parsing operations. ```bash sudo python3 -m pip install wxPython sudo python3 -m pip install gnureadline sudo python3 -m pip install billiard sudo python3 -m pip install numpy pyparsing sudo python3 -m pip install MAVProxy ``` -------------------------------- ### ublox reset Command Source: https://ardupilot.org/mavproxy/docs/modules/ublox.html Command to reboot the GPS module, performing a cold start. ```APIDOC ## ublox reset ### Description This command reboots the GPS module, initiating a "cold start". ### Method CLI Command ### Endpoint N/A (MAVProxy command) ### Parameters None ### Request Example ``` ublox reset ``` ### Response - **status** (string) - Confirmation of the reboot command being sent. ``` -------------------------------- ### Load rcsetup Module Source: https://ardupilot.org/mavproxy/docs/modules/rcsetup.html Load the rcsetup module to access RC calibration functionalities. This is typically the first step before using calibration commands. ```bash module load rcsetup ``` -------------------------------- ### Guided Mode Navigation Source: https://ardupilot.org/mavproxy/docs/uav_configuration/flightModes.html Commands to navigate the UAV to specific coordinates or map points. ```APIDOC ## COMMAND guided ### Description Commands the UAV to fly to a specific point on the map or provided coordinates. ### Parameters #### Query Parameters - **ALTITUDE** (float) - Required - The target altitude for the guided flight. - **LAT** (float) - Optional - Latitude coordinate. - **LON** (float) - Optional - Longitude coordinate. ### Request Example guided 50 guided -35.0 149.0 50 ``` -------------------------------- ### Load Park Module in MAVProxy Source: https://ardupilot.org/mavproxy/docs/modules/park.html Use this command to load the park module within the MAVProxy console. This module is used to set up geofencing warnings. ```bash module load park ``` -------------------------------- ### GET /rest/mavlink Source: https://ardupilot.org/mavproxy/docs/modules/restserver.html Retrieves the latest MAVLink messages in JSON format from the running MAVProxy REST server. ```APIDOC ## GET /rest/mavlink ### Description Retrieves the current MAVLink messages being processed by MAVProxy in JSON format. This endpoint is available once the restserver module is loaded and started. ### Method GET ### Endpoint http://[address]:[port]/rest/mavlink ### Configuration - **Module Load**: `module load restserver` - **Set Address**: `restserver address [IP]:[PORT]` (Default: localhost:5000) - **Control**: `restserver start` / `restserver stop` ### Response #### Success Response (200) - **data** (JSON) - The current MAVLink message stream in JSON format. ``` -------------------------------- ### Load Camera Viewer Module Source: https://ardupilot.org/mavproxy/docs/modules/cameraview.html Load the camera viewer module within the MAVProxy console. ```bash module load cameraview ``` -------------------------------- ### Get Gimbal Status Source: https://ardupilot.org/mavproxy/docs/modules/gimbal.html Outputs the current operational status of the gimbal. This command is useful for diagnostics and monitoring. ```bash gimbal status ``` -------------------------------- ### Update.py Build Options Help Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Displays the help message for the update.py script, outlining all available build options and their arguments. ```python usage: update.py [-h] [--site SITE] [--clean] [--cached-parameter-files] [--parallel PARALLEL] [--destdir DESTDIR] [--enablebackups] [--backupdestdir BACKUPDESTDIR] [--paramversioning] [--verbose] [--fast] Copy Common Files as needed, stripping out non-relevant wiki content optional arguments: -h, --help show this help message and exit --site SITE If you just want to copy to one site, you can do this. Otherwise will be copied. --clean Does a very clean build - resets git to master head (and TBD cleans up any duplicates in the output). --cached-parameter-files Do not re-download parameter files --parallel PARALLEL limit parallel builds, -1 for unlimited --destdir DESTDIR Destination directory for compiled docs --enablebackups Enable several backups up to const N_BACKUPS_RETAIN in --backupdestdir folder --backupdestdir BACKUPDESTDIR Destination directory for compiled docs --paramversioning Build multiple parameters pages for each vehicle based on its firmware repo. --verbose show debugging output --fast Incremental build using already downloaded parameters, log messages, and video thumbnails rather than cleaning before build. ``` -------------------------------- ### Build Docker Image on Windows Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Builds the Docker image for the wiki on Windows. Ensure you are in the root of the ardupilot_wiki repo. ```bash cd ardupilot_wiki docker build . -t ardupilot_wiki ``` -------------------------------- ### Connect to a Quadcopter with GUI features Source: https://ardupilot.org/mavproxy/docs/getting_started/examples.html Initializes a connection to a quadcopter on a serial port with console, map, and speech modules enabled. ```bash mavproxy.py --baud=57600 --aircraft="Quaddy" --speech --console --map --quadcopter ``` -------------------------------- ### Load the magical module Source: https://ardupilot.org/mavproxy/docs/modules/magical.html Load the module into the MAVProxy environment to enable compass calibration features. ```bash module load magical ``` -------------------------------- ### Load NTRIP Module Source: https://ardupilot.org/mavproxy/docs/modules/ntrip.html Initializes the NTRIP module within the MAVProxy environment. ```bash module load ntrip ``` -------------------------------- ### Forward MAVLink Packets Source: https://ardupilot.org/mavproxy/docs/getting_started/starting.html Examples of forwarding MAVLink streams to remote devices or network addresses using the --out argument. ```bash mavproxy.py --master=/dev/ttyUSB0 --out=udp:192.168.1.1:14550 mavproxy.py --master=/dev/ttyACM0,115200 --out=/dev/ttyUSB0,57600 mavproxy.py --master=/dev/ttyACM0,115200 --out=COM17,57600 mavproxy.py --master=/dev/ttyACM0,57600 --out=udpbcast:192.168.2.255:14550 ``` -------------------------------- ### Load the movinghome module Source: https://ardupilot.org/mavproxy/docs/modules/movinghome.html Load the module into the MAVProxy environment to enable its functionality. ```bash module load movinghome ``` -------------------------------- ### Build Documentation in Vagrant Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Navigate to the shared directory and execute the build script within the Vagrant shell. ```bash cd /vagrant python3 update.py ``` -------------------------------- ### Run MAVExplorer on Linux Source: https://ardupilot.org/mavproxy/docs/analysis/mavexp.html Access MAVExplorer on Linux systems by running this command in the terminal. Ensure MAVExplorer is installed and accessible in your PATH. ```bash MAVExplorer.py inputlog.tlog ``` -------------------------------- ### Configure Park Module Parameters Source: https://ardupilot.org/mavproxy/docs/modules/park.html Control the behavior of the park module using the provided commands. Set the module on or off, define the warning radius, or check the current status. ```bash park on ``` ```bash park off ``` ```bash park radius 50 ``` ```bash park status ``` -------------------------------- ### MQTT Publisher Module Configuration Source: https://ardupilot.org/mavproxy/docs/modules/mqtt.html Details on how to load the module and configure its settings via the MAVProxy console. ```APIDOC ## MQTT Publisher Module ### Description Publishes MAVLink messages to an MQTT server. This module requires the `paho-mqtt` Python package to be installed. ### Loading the Module `module load mqtt` ### Configuration Settings can be modified using the `mqtt set` command. ### Settings - **ip** (string) - Default: 127.0.0.1 - IP address of the MQTT server - **port** (integer) - Default: 1883 - Port of the MQTT server - **name** (string) - Default: MAVProxy - Publisher name - **prefix** (string) - Default: '' - Any prefix to add to the published messages ``` -------------------------------- ### Load Moving Map Module Source: https://ardupilot.org/mavproxy/docs/modules/map.html Use this command to load the moving map module in MAVProxy. Ensure the module is available in your MAVProxy installation. ```bash module load map ``` -------------------------------- ### Load MQTT Module Source: https://ardupilot.org/mavproxy/docs/modules/mqtt.html Command to load the MQTT publisher module within the MAVProxy environment. ```bash module load mqtt ``` -------------------------------- ### Reset uBlox GPS Module Source: https://ardupilot.org/mavproxy/docs/modules/ublox.html Reboots the GPS module, performing a cold start. This command is used to reset the GPS to its initial state. ```bash ublox reset ``` -------------------------------- ### Load GoPro Module Source: https://ardupilot.org/mavproxy/docs/modules/gopro.html Load the GoPro module in MAVProxy. This is the initial step before using any GoPro commands. ```bash module load gopro ``` -------------------------------- ### Start/Stop Datarate Logging in MAVProxy Source: https://ardupilot.org/mavproxy/docs/modules/link.html Start or stop datarate statistic logging. When active, statistics are saved to 'dataratelog.csv' for profiling low-bandwidth datalinks. ```bash link dataratelogging ``` -------------------------------- ### Run Docker Container to Build Wiki Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Runs the Docker container to build the wiki, mounting the current directory as a volume for build results. Uses the same user ID and group ID as the current user. ```bash docker run --rm -it -v "$(pwd):/ardupilot_wiki" -u "$(id -u):$(id -g)" ardupilot_wiki python3 update.py ``` -------------------------------- ### Get uBlox GPS Status Source: https://ardupilot.org/mavproxy/docs/modules/ublox.html Retrieves and displays the current status of the GPS module. This is useful for diagnosing issues or confirming module operation. ```bash ublox status ``` -------------------------------- ### Load ADS-B Module Source: https://ardupilot.org/mavproxy/docs/modules/adsb.html Initializes the ADS-B tracking module within the MAVProxy environment. ```bash module load adsb ``` -------------------------------- ### Get GoPro Camera Status Source: https://ardupilot.org/mavproxy/docs/modules/gopro.html Retrieve the current status of the GoPro camera. This command is useful for verifying camera state after issuing other commands. ```bash gopro status ``` -------------------------------- ### Load MAVProxy Chat Module Source: https://ardupilot.org/mavproxy/docs/modules/chat.html Command to initialize the chat module within the MAVProxy console. ```bash module load chat ``` -------------------------------- ### Load Firmware Module Source: https://ardupilot.org/mavproxy/docs/modules/firmware.html Loads the firmware module in MAVProxy. This is typically the first step before using firmware management commands. ```bash module load firmware ``` -------------------------------- ### Control GoPro Shutter Source: https://ardupilot.org/mavproxy/docs/modules/gopro.html Start or stop the GoPro camera's shutter for taking photos or recording video. This command requires the module to be loaded. ```bash gopro shutter ``` -------------------------------- ### Send GPS Data via Python Source: https://ardupilot.org/mavproxy/docs/modules/GPSInput.html A Python script example demonstrating how to send GPS_INPUT data as a JSON object over UDP to the MAVProxy module. ```python import socket import json s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # IPV4, UDP out_addr = ("127.0.0.1", 25100) while True: time.sleep(0.05) data = { 'time_usec' : 0, # (uint64_t) Timestamp (micros since boot or Unix epoch) 'gps_id' : 0, # (uint8_t) ID of the GPS for multiple GPS inputs 'ignore_flags' : 8, # (uint16_t) Flags indicating which fields to ignore (see GPS_INPUT_IGNORE_FLAGS enum). All other fields must be provided. 'time_week_ms' : 0, # (uint32_t) GPS time (milliseconds from start of GPS week) 'time_week' : 0, # (uint16_t) GPS week number 'fix_type' : 3, # (uint8_t) 0-1: no fix, 2: 2D fix, 3: 3D fix. 4: 3D with DGPS. 5: 3D with RTK 'lat' : 254100000, # (int32_t) Latitude (WGS84), in degrees * 1E7 'lon' : 1212100000, # (int32_t) Longitude (WGS84), in degrees * 1E7 'alt' : 60, # (float) Altitude (AMSL, not WGS84), in m (positive for up) 'hdop' : 1, # (float) GPS HDOP horizontal dilution of position in m 'vdop' : 1, # (float) GPS VDOP vertical dilution of position in m 'vn' : 0, # (float) GPS velocity in m/s in NORTH direction in earth-fixed NED frame 've' : 0, # (float) GPS velocity in m/s in EAST direction in earth-fixed NED frame 'vd' : 0, # (float) GPS velocity in m/s in DOWN direction in earth-fixed NED frame 'speed_accuracy' : 0, # (float) GPS speed accuracy in m/s 'horiz_accuracy' : 0, # (float) GPS horizontal accuracy in m 'vert_accuracy' : 0, # (float) GPS vertical accuracy in m 'satellites_visible' : 7 # (uint8_t) Number of satellites visible. } out_data = json.dumps(data) print('out:',out_data) s.sendto(out_data.encode(), out_addr) ``` -------------------------------- ### Update MAVProxy to Development Version Source: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html Updates an existing MAVProxy installation to the latest development version directly from the master branch of the GitHub repository using pip. ```bash python3 -m pip install mavproxy --user git+https://github.com/ArduPilot/mavproxy.git@master ``` -------------------------------- ### Update MAVProxy to Latest Release Source: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html Updates an existing MAVProxy installation to the current stable release using pip. This command also upgrades the pymavlink library. ```bash python3 -m pip install mavproxy pymavlink --user --upgrade ``` -------------------------------- ### Build Docker Image on Linux/macOS Source: https://ardupilot.org/mavproxy/docs/common-wiki-editing-setup.html Builds the Docker image for the wiki on Linux or macOS. Ensure you are in the root of the ardupilot_wiki repo. ```bash cd ardupilot_wiki docker build . -t ardupilot_wiki --build-arg USER_UID=$(id -u) --build-arg USER_GID=$(id -g) ``` -------------------------------- ### Load Time Sync Module Source: https://ardupilot.org/mavproxy/docs/modules/systemtime.html Load the system_time module in MAVProxy to begin synchronizing time with the connected autopilot. ```bash module load system_time ``` -------------------------------- ### Set HEARTBEAT Message Rate Source: https://ardupilot.org/mavproxy/docs/modules/messagerate.html Example of setting the HEARTBEAT MAVLink message rate to 10Hz using the messagerate module. This overrides any requested stream rates. ```bash messagerate set HEARTBEAT 10 ``` -------------------------------- ### Quad A-Tail Motor Diagram Configuration Source: https://ardupilot.org/mavproxy/docs/common-generating-motor-diagrams.html Example configuration for a Quad A-Tail frame, demonstrating custom frame lines, motor vectors, and wiki notes. ```json { "1": { "ClassName": "QUAD", "5": { "Comments": "Motor vectors adjusted to show accurate diagram", "TypeName": "A TAIL", "WikiNotes": [ "Quad A Tail and V Tail frames do not use the front motors for yaw control (NYT). Motor rotation direction does not matter for these motors." ], "FrameLines": [ [0, 0, -0.5, 0.266], [0, 0, 0.5, 0.266], [0, 0, 0, -0.3], [-0.008, -0.3, 0.4, -0.5], [0.008, -0.3, -0.4, -0.5] ], "motors": [ { "Number": 1, "TestOrder": 1, "Rotation": "?", "Roll": -0.5, "Pitch": 0.266 }, { "Number": 2, "TestOrder": 3, "Rotation": "CCW", "Roll": 0.3, "Pitch": -0.5 }, { "Number": 3, "TestOrder": 4, "Rotation": "?", "Roll": 0.5, "Pitch": 0.266 }, { "Number": 4, "TestOrder": 2, "Rotation": "CW", "Roll": -0.3, "Pitch": -0.5 } ] } } } ``` -------------------------------- ### Load the auxopt module Source: https://ardupilot.org/mavproxy/docs/modules/auxopt.html Load the auxiliary options module into the MAVProxy environment. ```bash module load auxopt ``` -------------------------------- ### Load and Run User Alerts Module Source: https://ardupilot.org/mavproxy/docs/modules/useralerts.html Instructions on how to load the User Alerts module and check for applicable alerts. ```APIDOC ## Load and Run User Alerts Module ### Description Loads the User Alerts module and checks the connected ArduPilot firmware against the User Alerts database for applicable notifications. Requires an internet connection. ### Method Shell commands ### Endpoint N/A ### Parameters N/A ### Request Example ```bash module load useralerts useralerts check ``` ### Response N/A (Notifications are displayed in the console) ``` -------------------------------- ### Uninstall Incompatible python-dateutil on Mac/Windows Source: https://ardupilot.org/mavproxy/docs/getting_started/download_and_installation.html Removes the bundled version of python-dateutil, which may cause compatibility issues with MAVProxy dependencies on macOS and Windows. This step is necessary before installing MAVProxy. ```bash sudo python3 -m pip uninstall python-dateutil ``` -------------------------------- ### Follow Me Module - Loading and Basic Usage Source: https://ardupilot.org/mavproxy/docs/modules/followtest.html This snippet shows how to load the follow-me module and provides a general overview of its functionality. ```APIDOC ## Follow Me Module This module commands the vehicle to follow another vehicle. The other vehicle must be sending `HOME_POSITION` packets to MAVProxy. Upon reaching the minimum distance `radius` to the other vehicle, it will loiter in a circle around it. This module will activate when it is loaded. It can be disabled by setting `disable_msg` to True. ### Loading the Module ``` module load followtest ``` ``` -------------------------------- ### Handle Mavlink Packets in MAVProxy Module Source: https://ardupilot.org/mavproxy/docs/development/mavcustmod.html This example demonstrates how to process incoming Mavlink packets within a MAVProxy module. It specifically filters for 'VFR_HUD' packets and extracts the airspeed. ```python if m.get_type() == 'VFR_HUD': curspeed = m.airspeed ``` -------------------------------- ### Load Geofence from File Source: https://ardupilot.org/mavproxy/docs/uav_configuration/geofence.html Loads a set of geofence coordinates from a specified text file. ```bash fence load filename.txt ``` -------------------------------- ### Read from SPI bus Source: https://ardupilot.org/mavproxy/docs/modules/devop.html This command reads a specified number of bytes from an SPI device. Provide the device name, bus number, device address, and the starting register address from which to begin reading. ```bash devop read spi name bus address regstart count ``` -------------------------------- ### Read from I2C bus Source: https://ardupilot.org/mavproxy/docs/modules/devop.html This command reads a specified number of bytes from an I2C device. Provide the device name, bus number, device address, and the starting register address from which to begin reading. ```bash devop read i2c name bus address regstart count ``` -------------------------------- ### MAVProxy system_time Module Source: https://ardupilot.org/mavproxy/docs/modules/systemtime.html Documentation for loading and configuring the system_time module in MAVProxy. ```APIDOC ## Load Module ### Description Loads the system_time module to begin synchronizing the autopilot with the GCS system time. ### Command `module load system_time` ## Configuration ### Description Configures module settings using the `system_time set` command. ### Parameters - **verbose** (boolean) - Optional - Show debugging and performance stats (Default: False) - **interval_timesync** (integer) - Optional - How often to send a timesync message in seconds (Default: 10) - **interval** (integer) - Optional - How often to send the system time in seconds (Default: 10) ### Usage Example `system_time set verbose True` `system_time set interval 5` ### Notes - Requires bit 1 (MAVLINK_SYSTEM_TIME) to be set in the BRD_RTC_TYPES bitmask on the autopilot. ``` -------------------------------- ### Load DataFlash Logger Module Source: https://ardupilot.org/mavproxy/docs/modules/dataflash_logger.html Load the module into the MAVProxy environment. ```text module dataflash_logger ``` -------------------------------- ### Load Text-to-Speech Module Source: https://ardupilot.org/mavproxy/docs/modules/speech.html Activates the text-to-speech function in MAVProxy. This module will announce important flight information using the system's default sound hardware. Ensure 'python-espeak' or 'python3-speechd' packages are installed if needed. ```bash module load speech ```