Sub: Add missing terrain.cpp file
This commit is contained in:
parent
7ad2496f7b
commit
4eb78aefdc
40
ArduSub/terrain.cpp
Normal file
40
ArduSub/terrain.cpp
Normal file
@ -0,0 +1,40 @@
|
||||
/// -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
#include "Sub.h"
|
||||
|
||||
// update terrain data
|
||||
void Sub::terrain_update()
|
||||
{
|
||||
#if AP_TERRAIN_AVAILABLE && AC_TERRAIN
|
||||
terrain.update();
|
||||
|
||||
// tell the rangefinder our height, so it can go into power saving
|
||||
// mode if available
|
||||
#if CONFIG_SONAR == ENABLED
|
||||
float height;
|
||||
if (terrain.height_above_terrain(height, true)) {
|
||||
sonar.set_estimated_terrain_height(height);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
// log terrain data - should be called at 1hz
|
||||
void Sub::terrain_logging()
|
||||
{
|
||||
#if AP_TERRAIN_AVAILABLE && AC_TERRAIN
|
||||
if (should_log(MASK_LOG_GPS)) {
|
||||
terrain.log_terrain_data(DataFlash);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// should we use terrain data for things including the home altitude
|
||||
bool Sub::terrain_use()
|
||||
{
|
||||
#if AP_TERRAIN_AVAILABLE && AC_TERRAIN
|
||||
return (g.terrain_follow > 0);
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
Loading…
Reference in New Issue
Block a user