diff --git a/Makefile b/Makefile index fcf1fc60b3..c20d7491f3 100644 --- a/Makefile +++ b/Makefile @@ -99,8 +99,10 @@ XSENS_PROTOCOL_H=$(STATICINCLUDE)/xsens_protocol.h DL_PROTOCOL_H=$(STATICINCLUDE)/dl_protocol.h DL_PROTOCOL2_H=$(STATICINCLUDE)/dl_protocol2.h ABI_MESSAGES_H=$(STATICINCLUDE)/abi_messages.h +MAVLINK_DIR=$(STATICINCLUDE)/mavlink/ +MAVLINK_PROTOCOL_H=$(MAVLINK_DIR)protocol.h -GEN_HEADERS = $(MESSAGES_H) $(UBX_PROTOCOL_H) $(MTK_PROTOCOL_H) $(XSENS_PROTOCOL_H) $(DL_PROTOCOL_H) $(ABI_MESSAGES_H) +GEN_HEADERS = $(MESSAGES_H) $(UBX_PROTOCOL_H) $(MTK_PROTOCOL_H) $(XSENS_PROTOCOL_H) $(DL_PROTOCOL_H) $(ABI_MESSAGES_H) $(MAVLINK_PROTOCOL_H) all: ground_segment ext lpctools @@ -242,6 +244,10 @@ $(ABI_MESSAGES_H) : $(ABI_XML) generators $(Q)mv $($@_TMP) $@ $(Q)chmod a+r $@ +$(MAVLINK_PROTOCOL_H) : + @echo GENERATE $(MAVLINK_DIR) + $(Q)make -C $(PAPARAZZI_HOME)/sw/ext mavlink + # # code generation for aircrafts from xml files # @@ -284,6 +290,7 @@ dox: clean: $(Q)rm -fr dox build-stamp configure-stamp conf/%gconf.xml $(Q)rm -f $(GEN_HEADERS) + $(Q)rm -fr $(MAVLINK_DIR) $(Q)find . -mindepth 2 -name Makefile -a ! -path "./sw/ext/*" -exec sh -c 'echo "Cleaning {}"; $(MAKE) -C `dirname {}` $@' \; $(Q)$(MAKE) -C $(EXT) clean $(Q)find . -name '*~' -exec rm -f {} \; diff --git a/sw/airborne/modules/datalink/mavlink.c b/sw/airborne/modules/datalink/mavlink.c index 90085c2b2a..c8a6e62864 100644 --- a/sw/airborne/modules/datalink/mavlink.c +++ b/sw/airborne/modules/datalink/mavlink.c @@ -469,10 +469,21 @@ static inline void mavlink_send_autopilot_version(void) { /// TODO: fill in versions correctly, how should they be encoded? static uint32_t ver = PPRZ_VERSION_INT; - mavlink_msg_autopilot_version_send(MAVLINK_COMM_0, - 0, // capabilities, - ver, // version - custom_version); + static uint64_t sha; + get_pprz_git_version((uint8_t*)&sha); + mavlink_msg_autopilot_version_send( MAVLINK_COMM_0, + 0, //uint64_t capabilities, + ver, //uint32_t flight_sw_version, + 0, //uint32_t middleware_sw_version, + 0, //uint32_t os_sw_version, + 0, //uint32_t board_version, + 0, //const uint8_t *flight_custom_version, + 0, //const uint8_t *middleware_custom_version, + 0, //const uint8_t *os_custom_version, + 0, //uint16_t vendor_id, + 0, //uint16_t product_id, + sha //uint64_t uid + ); } static inline void mavlink_send_attitude_quaternion(void) diff --git a/sw/ext/Makefile b/sw/ext/Makefile index 6b7ba38ff2..1e214e7726 100644 --- a/sw/ext/Makefile +++ b/sw/ext/Makefile @@ -70,7 +70,7 @@ chibios: chibios.update fatfs: fatfs.update mavlink: update_submodules - PYTHONPATH=$(EXT_DIR)/mavlink python2 $(EXT_DIR)/mavlink/pymavlink/tools/mavgen.py --output $(PAPARAZZI_SRC)/var/include/mavlink --lang C $(EXT_DIR)/mavlink/message_definitions/v1.0/paparazzi.xml + $(Q)PYTHONPATH=$(EXT_DIR)/mavlink python2 $(EXT_DIR)/mavlink/pymavlink/tools/mavgen.py --output $(PAPARAZZI_SRC)/var/include/mavlink --lang C $(EXT_DIR)/mavlink/message_definitions/v1.0/paparazzi.xml --no-validate > /dev/null libsbp: libsbp.update