From 4299eb9ba8d647dd56bf1a94666a294e3bb5c4e1 Mon Sep 17 00:00:00 2001 From: Michael du Breuil Date: Thu, 28 Jun 2018 14:57:49 -0700 Subject: [PATCH] AP_Terrain: Reduce memory consumption, simplify enable checking --- libraries/AP_Terrain/AP_Terrain.cpp | 21 +++++---------------- libraries/AP_Terrain/TerrainGCS.cpp | 2 +- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/libraries/AP_Terrain/AP_Terrain.cpp b/libraries/AP_Terrain/AP_Terrain.cpp index 28760df9cc..bed36dc563 100644 --- a/libraries/AP_Terrain/AP_Terrain.cpp +++ b/libraries/AP_Terrain/AP_Terrain.cpp @@ -61,20 +61,9 @@ AP_Terrain::AP_Terrain(AP_AHRS &_ahrs, const AP_Mission &_mission, const AP_Rall mission(_mission), rally(_rally), disk_io_state(DiskIoIdle), - fd(-1), - timer_setup(false), - file_lat_degrees(0), - file_lon_degrees(0), - io_failure(false), - directory_created(false), - home_height(0), - have_current_loc_height(false), - last_current_loc_height(0) + fd(-1) { AP_Param::setup_object_defaults(this, var_info); - memset(&home_loc, 0, sizeof(home_loc)); - memset(&disk_block, 0, sizeof(disk_block)); - memset(last_request_time_ms, 0, sizeof(last_request_time_ms)); } /* @@ -88,7 +77,7 @@ AP_Terrain::AP_Terrain(AP_AHRS &_ahrs, const AP_Mission &_mission, const AP_Rall */ bool AP_Terrain::height_amsl(const Location &loc, float &height, bool corrected) { - if (!enable || !allocate()) { + if (!allocate()) { return false; } @@ -260,7 +249,7 @@ bool AP_Terrain::height_relative_home_equivalent(float terrain_altitude, */ float AP_Terrain::lookahead(float bearing, float distance, float climb_ratio) { - if (!enable || !allocate() || grid_spacing <= 0) { + if (!allocate() || grid_spacing <= 0) { return 0; } @@ -326,7 +315,7 @@ void AP_Terrain::update(void) update_rally_data(); // update capabilities and status - if (enable) { + if (allocate()) { hal.util->set_capabilities(MAV_PROTOCOL_CAPABILITY_TERRAIN); if (!pos_valid) { // we don't know where we are @@ -349,7 +338,7 @@ void AP_Terrain::update(void) */ void AP_Terrain::log_terrain_data(DataFlash_Class &dataflash) { - if (!enable) { + if (!allocate()) { return; } Location loc; diff --git a/libraries/AP_Terrain/TerrainGCS.cpp b/libraries/AP_Terrain/TerrainGCS.cpp index 8c9834546a..d23139ed04 100644 --- a/libraries/AP_Terrain/TerrainGCS.cpp +++ b/libraries/AP_Terrain/TerrainGCS.cpp @@ -83,7 +83,7 @@ bool AP_Terrain::request_missing(mavlink_channel_t chan, const struct grid_info */ void AP_Terrain::send_request(mavlink_channel_t chan) { - if (enable == 0 || !allocate()) { + if (!allocate()) { // not enabled return; }