From 434dddedea4973a7bb63211dc53331301ff630f4 Mon Sep 17 00:00:00 2001 From: James Goppert Date: Sat, 7 Jan 2017 20:07:36 -0500 Subject: [PATCH] Changes to add px4fmu-v2_lpe config. --- CMakeLists.txt | 5 +++-- Makefile | 1 + Tools/px_process_params.py | 15 +++++++++++++++ cmake/common/px4_base.cmake | 6 +++++- cmake/configs/nuttx_px4fmu-v2_lpe.cmake | 12 ++++++++++++ 5 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 cmake/configs/nuttx_px4fmu-v2_lpe.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index b19216a6cf..8e0ff05c95 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -365,8 +365,9 @@ px4_generate_messages(TARGET msg_gen DEPENDS git_genmsg git_gencpp prebuild_targets ) px4_generate_parameters_xml(OUT parameters.xml - BOARD ${BOARD} - SCOPE ${PX4_SOURCE_DIR}/cmake/configs/${OS}_${BOARD}_${LABEL}.cmake) + BOARD ${BOARD} + SCOPE ${PX4_SOURCE_DIR}/cmake/configs/${OS}_${BOARD}_${LABEL}.cmake + OVERRIDES ${PARAM_DEFAULT_OVERRIDES}) px4_generate_airframes_xml(OUT airframes.xml BOARD ${BOARD}) add_custom_target(xml_gen DEPENDS parameters.xml airframes.xml) diff --git a/Makefile b/Makefile index 29a4ba1030..04f415999b 100644 --- a/Makefile +++ b/Makefile @@ -207,6 +207,7 @@ qgc_firmware: \ check_mindpx-v2_default \ check_px4fmu-v1_default \ check_px4fmu-v2_default \ + check_px4fmu-v2_lpe \ check_px4fmu-v3_default \ check_px4fmu-v4_default \ check_tap-v1_default \ diff --git a/Tools/px_process_params.py b/Tools/px_process_params.py index e9061823bb..2f950e4724 100644 --- a/Tools/px_process_params.py +++ b/Tools/px_process_params.py @@ -53,6 +53,7 @@ import argparse from px4params import srcscanner, srcparser, xmlout, dokuwikiout, dokuwikirpc, scope, cmakeparser import re +import json import codecs def main(): @@ -112,6 +113,10 @@ def main(): help="DokuWiki page edit summary") parser.add_argument('-v', '--verbose', action='store_true', help="verbose output") parser.add_argument('--scope', default=None, action='store', help="pass the scope (list of compiled modules)") + parser.add_argument("-o", "--overrides", + default="{}", + metavar="OVERRIDES", + help="a dict of overrides in the form of a json string") args = parser.parse_args() @@ -155,6 +160,16 @@ def main(): if len(param_groups) == 0: print("Warning: no parameters found") + override_dict = json.loads(args.overrides) + if len(override_dict.keys()) > 0: + for group in param_groups: + for param in group.GetParams(): + name = param.GetName() + if name in override_dict.keys(): + val = str(override_dict[param.GetName()]) + param.default = val + print("OVERRIDING {:s} to {:s}!!!!!".format(name, val)) + # Output to XML file if args.xml: if args.verbose: print("Creating XML file " + args.xml) diff --git a/cmake/common/px4_base.cmake b/cmake/common/px4_base.cmake index 6663b60a0a..cdb867a52a 100644 --- a/cmake/common/px4_base.cmake +++ b/cmake/common/px4_base.cmake @@ -1014,16 +1014,20 @@ endfunction() function(px4_generate_parameters_xml) px4_parse_function_args( NAME px4_generate_parameters_xml - ONE_VALUE OUT BOARD SCOPE + ONE_VALUE OUT BOARD SCOPE OVERRIDES REQUIRED OUT BOARD ARGN ${ARGN}) set(path ${PX4_SOURCE_DIR}/src) file(GLOB_RECURSE param_src_files ${PX4_SOURCE_DIR}/src/*params.c ) + if (NOT OVERRIDES) + set(OVERRIDES "{}") + endif() add_custom_command(OUTPUT ${OUT} COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_params.py -s ${path} --board CONFIG_ARCH_${BOARD} --xml --inject-xml --scope ${SCOPE} + --overrides ${OVERRIDES} DEPENDS ${param_src_files} ${PX4_SOURCE_DIR}/Tools/px_process_params.py ${PX4_SOURCE_DIR}/Tools/px_generate_params.py ) diff --git a/cmake/configs/nuttx_px4fmu-v2_lpe.cmake b/cmake/configs/nuttx_px4fmu-v2_lpe.cmake new file mode 100644 index 0000000000..b1e7a09ba1 --- /dev/null +++ b/cmake/configs/nuttx_px4fmu-v2_lpe.cmake @@ -0,0 +1,12 @@ +include(configs/nuttx_px4fmu-v2_default) + +set(PARAM_DEFAULT_OVERRIDES "{\\\"SYS_MC_EST_GROUP\\\": 1}") + +list(REMOVE_ITEM config_module_list + modules/ekf2 + ) + +list(APPEND config_module_list + modules/attitude_estimator_q + modules/local_position_estimator + )