diff --git a/APMrover2/Rover.cpp b/APMrover2/Rover.cpp index 3f3b9a60e5..f4ecf65387 100644 --- a/APMrover2/Rover.cpp +++ b/APMrover2/Rover.cpp @@ -17,7 +17,10 @@ */ #include "Rover.h" + +#define FORCE_VERSION_H_INCLUDE #include "version.h" +#undef FORCE_VERSION_H_INCLUDE Rover::Rover(void) : param_loader(var_info), diff --git a/APMrover2/Rover.h b/APMrover2/Rover.h index 099d94bd6a..1b123aba2f 100644 --- a/APMrover2/Rover.h +++ b/APMrover2/Rover.h @@ -92,7 +92,6 @@ #include "Parameters.h" #include "GCS_Mavlink.h" #include "GCS_Rover.h" -#include "version.h" class Rover : public AP_HAL::HAL::Callbacks { public: @@ -119,18 +118,7 @@ public: void loop(void) 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; // must be the first AP_Param variable declared to ensure its // constructor runs before the constructors of the other AP_Param diff --git a/APMrover2/version.cpp b/APMrover2/version.cpp new file mode 100644 index 0000000000..9f6c7a2ce0 --- /dev/null +++ b/APMrover2/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 "Rover.h" + +#define FORCE_VERSION_H_INCLUDE +#include "version.h" +#undef FORCE_VERSION_H_INCLUDE + +#include + +const AP_FWVersion Rover::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 +};