From ccac324f5bd72a3adf4b0bf18eae796bfbfa0933 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Sat, 23 May 2015 11:04:19 +0200 Subject: [PATCH] mavlink: Fix GIT string transmission --- Makefile | 3 +++ src/modules/mavlink/mavlink_main.cpp | 6 ++---- src/modules/systemlib/git_version.h | 3 +++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index fde3f858f0..47fe326b92 100644 --- a/Makefile +++ b/Makefile @@ -49,8 +49,11 @@ ifneq ($(words $(GIT_DESC)),1) GIT_DESC := "unknown_git_version" endif +GIT_DESC_SHORT := $(shell echo $(GIT_DESC) | cut -c1-16) + $(shell echo "#include " > $(BUILD_DIR)git_version.c) $(shell echo "const char* px4_git_version = \"$(GIT_DESC)\";" >> $(BUILD_DIR)git_version.c) +$(shell echo "const uint64_t px4_git_version_binary = 0x$(GIT_DESC_SHORT);" >> $(BUILD_DIR)git_version.c) # # Canned firmware configurations that we (know how to) build. diff --git a/src/modules/mavlink/mavlink_main.cpp b/src/modules/mavlink/mavlink_main.cpp index 3a0d1c1f68..be63ae861c 100644 --- a/src/modules/mavlink/mavlink_main.cpp +++ b/src/modules/mavlink/mavlink_main.cpp @@ -922,8 +922,6 @@ void Mavlink::send_autopilot_capabilites() { if (status_sub->update(&status)) { mavlink_autopilot_version_t msg = {}; - const char* git_version = px4_git_version; - msg.capabilities = MAV_PROTOCOL_CAPABILITY_MISSION_FLOAT; msg.capabilities |= MAV_PROTOCOL_CAPABILITY_PARAM_FLOAT; msg.capabilities |= MAV_PROTOCOL_CAPABILITY_COMMAND_INT; @@ -936,8 +934,8 @@ void Mavlink::send_autopilot_capabilites() { msg.middleware_sw_version = 0; msg.os_sw_version = 0; msg.board_version = 0; - memcpy(&msg.flight_custom_version, git_version, sizeof(msg.flight_custom_version)); - memcpy(&msg.middleware_custom_version, git_version, sizeof(msg.middleware_custom_version)); + memcpy(&msg.flight_custom_version, &px4_git_version_binary, sizeof(msg.flight_custom_version)); + memcpy(&msg.middleware_custom_version, &px4_git_version_binary, sizeof(msg.middleware_custom_version)); memset(&msg.os_custom_version, 0, sizeof(msg.os_custom_version)); #ifdef CONFIG_CDCACM_VENDORID msg.vendor_id = CONFIG_CDCACM_VENDORID; diff --git a/src/modules/systemlib/git_version.h b/src/modules/systemlib/git_version.h index cd8dc564ed..9b8f9e860e 100644 --- a/src/modules/systemlib/git_version.h +++ b/src/modules/systemlib/git_version.h @@ -39,8 +39,11 @@ #pragma once +#include + __BEGIN_DECLS __EXPORT extern const char* px4_git_version; +__EXPORT extern const uint64_t px4_git_version_binary; __END_DECLS