diff --git a/ArduPlane/Plane.cpp b/ArduPlane/Plane.cpp index 5c0614cc18..fe304dd626 100644 --- a/ArduPlane/Plane.cpp +++ b/ArduPlane/Plane.cpp @@ -13,7 +13,10 @@ along with this program. If not, see . */ #include "Plane.h" + +#define FORCE_VERSION_H_INCLUDE #include "version.h" +#undef FORCE_VERSION_H_INCLUDE const AP_HAL::HAL& hal = AP_HAL::get_HAL(); diff --git a/ArduPlane/Plane.h b/ArduPlane/Plane.h index 39a7de4bf7..406648ec03 100644 --- a/ArduPlane/Plane.h +++ b/ArduPlane/Plane.h @@ -110,7 +110,6 @@ #include "Parameters.h" #include "avoidance_adsb.h" #include "AP_Arming.h" -#include "version.h" #if CONFIG_HAL_BOARD == HAL_BOARD_SITL #include @@ -157,18 +156,7 @@ public: void loop() override; private: - - const AP_FWVersion fwver { - major: FW_MAJOR, - minor: FW_MINOR, - patch: FW_PATCH, - fw_type: FW_TYPE, -#ifndef GIT_VERSION - fw_string: THISFIRMWARE -#else - fw_string: THISFIRMWARE " (" GIT_VERSION ")" -#endif - }; + static const AP_FWVersion fwver; // key aircraft parameters passed to multiple libraries AP_Vehicle::FixedWing aparm; diff --git a/ArduPlane/version.cpp b/ArduPlane/version.cpp new file mode 100644 index 0000000000..a41e51fd40 --- /dev/null +++ b/ArduPlane/version.cpp @@ -0,0 +1,41 @@ +/* + * This file is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +#include "Plane.h" + +#define FORCE_VERSION_H_INCLUDE +#include "version.h" +#undef FORCE_VERSION_H_INCLUDE + +#include + +const AP_FWVersion Plane::fwver{ + .major = FW_MAJOR, + .minor = FW_MINOR, + .patch = FW_PATCH, + .fw_type = FW_TYPE, +#ifndef GIT_VERSION + .fw_string = THISFIRMWARE, +#else + .fw_string = THISFIRMWARE " (" GIT_VERSION ")", + .fw_hash_str = GIT_VERSION, +#endif +#ifdef PX4_GIT_VERSION + .middleware_hash_str = PX4_GIT_VERSION, +#endif +#ifdef NUTTX_GIT_VERSION + .os_hash_str = NUTTX_GIT_VERSION, +#endif +};