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 éve
templates 53f09bd02f Fix tests and add latitude limit warning 5 éve
.gitignore 519e1f8813 Initial commit 5 éve
LICENSE 519e1f8813 Initial commit 5 éve
README.md 4b58ae70a4 Add pregeneration script 5 éve
app.py 53f09bd02f Fix tests and add latitude limit warning 5 éve
app_test.py 53f09bd02f Fix tests and add latitude limit warning 5 éve
create_terrain.py 6341bb9833 Initial code 5 éve
offline_check.py 840e2070e8 Checker: Fixed tile sizing 5 éve
offline_gen.py ce0529e0fc Added restart and compression 5 éve
terrain_gen.py ab407cacea Partial file protection 5 éve

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