Terrain data - MAVLink protocol and offline use

The mavlink terrain protocol docs reflect what QGC does with ArduPilot - ie vehicle requests terrain data from GCS. Presumably the expectation is that if a mission is uploaded that has terrain heights set the vehicle will immediately request the required maps.

But what if the GCS uploads the mission and then disconnects? Or we want to use terrain data for manual flight? Here the GCS might need to initiate download of terrain data to vehicle, or we might want to store data for offline use that gets uses if it is available.

Does ArduPilot support offline terrain data, and if so, via MAVLink? Question is on github here:

There is a somewhat related question in Terrain generation issue

@Michael_Oborne Tagging you for obvious reasons :slight_smile:

Paging @stephendade … Stephen Dade to the Discuss server, please…

ArduPilot has a terrain website where users can download terrain tiles to put on their SD card: https://terrain.ardupilot.org/

Documentation at https://ardupilot.org/plane/docs/common-terrain-following.html#sources-of-terrain-data

No GCS required :slight_smile:

So there is no ArduPilot support for a GCS to initiate tile uploads?

@DonLakeFlyer that’s my understanding.

We’ve had some recent patches to get the autopilot to download more tiles without a fix - so around uploaded missions and the like - but there’s no mechanism for a GCS to say, “no, you will definitely be needing this”.

It’s actually a bit tricky to arrange through the current message set; we just discard TERRAIN_DATA that’s not in our current cache (and there’d be no ability for a GCS to confirm receipt of the data sent using that message anyway).

Thanks @peterbarker. GCS initiated push seems like a worthwhile feature to spec at some point.