diff --git a/libraries/AP_DAL/AP_DAL_GPS.cpp b/libraries/AP_DAL/AP_DAL_GPS.cpp index ab7314f7c0..efd4b76c1c 100644 --- a/libraries/AP_DAL/AP_DAL_GPS.cpp +++ b/libraries/AP_DAL/AP_DAL_GPS.cpp @@ -3,6 +3,9 @@ #include #include "AP_DAL.h" +// we use a static here as the "location" accessor wants to be const +static Location tmp_location[GPS_MAX_INSTANCES]; + AP_DAL_GPS::AP_DAL_GPS() { for (uint8_t i=0; i -static Location tmp_location[GPS_MAX_INSTANCES]; - class AP_DAL_GPS { public: @@ -30,13 +28,7 @@ public: GPS_Status status() const { return status(primary_sensor()); } - const Location &location(uint8_t instance) const { - Location &loc = tmp_location[instance]; - loc.lat = _RGPJ[instance].lat; - loc.lng = _RGPJ[instance].lng; - loc.alt = _RGPJ[instance].alt; - return loc; - } + const Location &location(uint8_t instance) const; bool have_vertical_velocity(uint8_t instance) const { return _RGPI[instance].have_vertical_velocity; }