From 4471b181170ff308e8b3c66cc7f00b76b32b3156 Mon Sep 17 00:00:00 2001 From: Lorenz Meier Date: Tue, 28 Jul 2015 23:45:30 +0200 Subject: [PATCH] Build system: Add support for airframes config file --- Tools/airframes.xml | 12 ++++++++++++ Tools/px_mkfw.py | 6 ++++++ makefiles/nuttx/nuttx_px4.mk | 3 +++ 3 files changed, 21 insertions(+) create mode 100644 Tools/airframes.xml diff --git a/Tools/airframes.xml b/Tools/airframes.xml new file mode 100644 index 0000000000..f167c51dd7 --- /dev/null +++ b/Tools/airframes.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Tools/px_mkfw.py b/Tools/px_mkfw.py index 152444f84b..2f07fa1e73 100755 --- a/Tools/px_mkfw.py +++ b/Tools/px_mkfw.py @@ -74,6 +74,7 @@ parser.add_argument("--summary", action="store", help="set a brief description") parser.add_argument("--description", action="store", help="set a longer description") parser.add_argument("--git_identity", action="store", help="the working directory to check for git identity") parser.add_argument("--parameter_xml", action="store", help="the parameters.xml file") +parser.add_argument("--airframe_xml", action="store", help="the airframes.xml file") parser.add_argument("--image", action="store", help="the firmware image") args = parser.parse_args() @@ -107,6 +108,11 @@ if args.parameter_xml != None: bytes = f.read() desc['parameter_xml_size'] = len(bytes) desc['parameter_xml'] = base64.b64encode(zlib.compress(bytes,9)).decode('utf-8') +if args.airframe_xml != None: + f = open(args.airframe_xml, "rb") + bytes = f.read() + desc['airframe_xml_size'] = len(bytes) + desc['airframe_xml'] = base64.b64encode(zlib.compress(bytes,9)).decode('utf-8') if args.image != None: f = open(args.image, "rb") bytes = f.read() diff --git a/makefiles/nuttx/nuttx_px4.mk b/makefiles/nuttx/nuttx_px4.mk index 861eff957f..f1a88e101e 100644 --- a/makefiles/nuttx/nuttx_px4.mk +++ b/makefiles/nuttx/nuttx_px4.mk @@ -36,6 +36,7 @@ PRODUCT_BUNDLE = $(WORK_DIR)firmware.px4 PRODUCT_BIN = $(WORK_DIR)firmware.bin PRODUCT_ELF = $(WORK_DIR)firmware.elf PRODUCT_PARAMXML = $(WORK_DIR)/parameters.xml +PRODUCT_AIRFRAMEXML = $(WORK_DIR)/airframes.xml .PHONY: firmware firmware: $(PRODUCT_BUNDLE) @@ -48,9 +49,11 @@ $(PRODUCT_BUNDLE): $(PRODUCT_BIN) @$(ECHO) %% Generating $@ ifdef GEN_PARAM_XML $(Q) $(PYTHON) $(PX4_BASE)/Tools/px_process_params.py --src-path $(PX4_BASE)/src --board CONFIG_ARCH_BOARD_$(CONFIG_BOARD) --xml + $(Q) $(COPY) $(PX4_BASE)/Tools/airframes.xml $(WORK_DIR)/airframes.xml $(Q) $(MKFW) --prototype $(IMAGE_DIR)/$(BOARD).prototype \ --git_identity $(PX4_BASE) \ --parameter_xml $(PRODUCT_PARAMXML) \ + --airframe_xml $(PRODUCT_AIRFRAMEXML) \ --image $< > $@ else $(Q) $(MKFW) --prototype $(IMAGE_DIR)/$(BOARD).prototype \