← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

Terrain heights for this flight have not all arrived yet

Stops itMissions, fence, rally points, terrain

What ArduPilot says:

The flight needs the terrain database: ground heights on a grid (TERRAIN_SPACING, 100 m by default), kept on the SD card and fetched through the ground station. On a copter it is needed when the mission has waypoints with heights above terrain, or when RTL_ALT_TYPE is 1, unless a downward rangefinder does that job. Arming waits until the ground height is known under the aircraft, at home and at every mission waypoint and rally point, and no block of data is still on request.

What to do, most likely first

  1. The ground station has not sent all the data yet: the link is slow, or it has no internet to fetch the heights from.

    CheckThe ground station's terrain status (it comes in the TERRAIN_REPORT message) counts blocks pending and blocks loaded. Pending must come down to 0.

    FixKeep the ground station connected, with internet, until nothing is pending; over a slow telemetry radio that takes minutes. Loading the mission at home over USB fills the SD card in advance.

  2. TERRAIN_OPTIONS bit 0 forbids asking the ground station for data, and the SD card does not hold this area.

    FixClear bit 0 of TERRAIN_OPTIONS, or copy the terrain files for the area into the APM/TERRAIN folder of the card beforehand.

  3. There is no position yet, so ArduPilot does not know which heights to ask for.

    FixWait for the GPS fix; the request for data starts only then.

  4. The SD card is missing or full: blocks that arrive cannot be saved and stay counted as outstanding.

    CheckLogs are not being written to the card either.

    FixFit a working card with free space and start again.

The data covers what was asked for: add a waypoint farther away and the wait starts again for the new area.

Parameters to look at

ParameterWhat it is
TERRAIN_ENABLETerrain data enable
TERRAIN_OPTIONSTerrain options
TERRAIN_SPACINGTerrain grid spacing
RTL_ALT_TYPERTL mode altitude type
WPNAV_RFND_USEWaypoint missions use rangefinder for terrain following
The code that sends it

waiting for terrain data

libraries/AP_Terrain/AP_Terrain.cpp AP_Terrain::pre_arm_checks() · Open in ArduPilot Copter-4.7.1

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer