This is a customised Ardupilot firmware builder which allows to integrate custom patches, recall old builds etc. This is hosted on a private server but publicly accessible and the source code can be downloaded by anyone. Detailed instruction on how to build your custom firmware patcher based with this code are in the readme below. A live version of this app can be accessed here: https://ardupilot.equalmass.com

Stephen Dade 53f09bd02f Fix tests and add latitude limit warning 5 年 前
templates 53f09bd02f Fix tests and add latitude limit warning 5 年 前
.gitignore 519e1f8813 Initial commit 5 年 前
LICENSE 519e1f8813 Initial commit 5 年 前
README.md 4b58ae70a4 Add pregeneration script 5 年 前
app.py 53f09bd02f Fix tests and add latitude limit warning 5 年 前
app_test.py 53f09bd02f Fix tests and add latitude limit warning 5 年 前
create_terrain.py 6341bb9833 Initial code 5 年 前
offline_check.py 840e2070e8 Checker: Fixed tile sizing 5 年 前
offline_gen.py ce0529e0fc Added restart and compression 5 年 前
terrain_gen.py ab407cacea Partial file protection 5 年 前

README.md

ArduPilot terrain generator

Summary

This is a website that pre-generates terrain files for Ardupilot. The user enters in the details of the area they wish the generate terrain for, then the website will generate a terrain.zip file containing the relevant dat files. The user will download this file and then then need to unzip to a "terrain" folder on the SD card in their flight controller.

Pre-generation of Terrain

To ensure the website operates responsively, the terrain for the whole (-60 -> +60 latitude) world must be pregenerated. This will take some time.

Run offline_gen.py to download the SRTM files from ardupilot.org and convert them to the dat file format. These files will be stored in the processedTerrain folder.

For developers

This website uses the flask library.

To install dependencies:

pip install flask wheel numpy mavproxy crc16 pytest

To run:

export FLASK_APP=app.py
flask run

The cached terrain files are stored in ./srtmcache

The unzipped processed files are temporarily stored in ./outputTer-tmp. These are deleted upon the zipping into a single downloadable file

The downloadable files are stored in ./outputTer

Each user request is given a UUID, which is incorporated into the folder/filename of the terrain files.

To run the unit tests, type pytest

Deployment

Use gunicorn for deployment:

pip install gunicorn

gunicorn app:app