Browse Source

param gen reorganize and fix DISABLE_PARAMS_MODULE_SCOPING

sbg
Daniel Agar 8 years ago
parent
commit
f26cd01d16
  1. 14
      CMakeLists.txt
  2. 5
      Makefile
  3. 8
      Tools/px4params/srcscanner.py
  4. 9
      Tools/px_generate_params.py
  5. 2
      Tools/px_generate_xml.sh
  6. 21
      Tools/px_process_params.py
  7. 2
      Tools/px_update_wiki.sh
  8. 4
      cmake/common/px4_base.cmake
  9. 125
      cmake/common/px4_metadata.cmake
  10. 2
      cmake/configs/nuttx_aerocore2_default.cmake
  11. 2
      cmake/configs/nuttx_aerofc-v1_default.cmake
  12. 2
      cmake/configs/nuttx_auav-x21_default.cmake
  13. 2
      cmake/configs/nuttx_crazyflie_default.cmake
  14. 2
      cmake/configs/nuttx_esc35-v1_default.cmake
  15. 2
      cmake/configs/nuttx_mindpx-v2_default.cmake
  16. 2
      cmake/configs/nuttx_px4-stm32f4discovery_default.cmake
  17. 2
      cmake/configs/nuttx_px4cannode-v1_default.cmake
  18. 2
      cmake/configs/nuttx_px4esc-v1_default.cmake
  19. 2
      cmake/configs/nuttx_px4fmu-v1_default.cmake
  20. 2
      cmake/configs/nuttx_px4fmu-v2_default.cmake
  21. 2
      cmake/configs/nuttx_px4fmu-v2_test.cmake
  22. 2
      cmake/configs/nuttx_px4fmu-v3_default.cmake
  23. 2
      cmake/configs/nuttx_px4fmu-v4_default.cmake
  24. 2
      cmake/configs/nuttx_px4fmu-v4pro_default.cmake
  25. 2
      cmake/configs/nuttx_px4fmu-v5_default.cmake
  26. 2
      cmake/configs/nuttx_px4nucleoF767ZI-v1_default.cmake
  27. 2
      cmake/configs/nuttx_s2740vc-v1_default.cmake
  28. 2
      cmake/configs/nuttx_tap-v1_default.cmake
  29. 2
      cmake/configs/posix_bebop_default.cmake
  30. 2
      cmake/configs/posix_eagle_hil.cmake
  31. 2
      cmake/configs/posix_ocpoc_cross.cmake
  32. 2
      cmake/configs/posix_rpi_common.cmake
  33. 2
      cmake/configs/posix_sdflight_default.cmake
  34. 2
      cmake/configs/posix_sdflight_legacy.cmake
  35. 2
      cmake/configs/posix_sitl_default.cmake
  36. 2
      cmake/configs/posix_sitl_replay.cmake
  37. 2
      cmake/configs/qurt_eagle_hello.cmake
  38. 2
      cmake/configs/qurt_eagle_hil.cmake
  39. 2
      cmake/configs/qurt_eagle_muorb.cmake
  40. 2
      cmake/configs/qurt_eagle_test.cmake
  41. 2
      cmake/configs/qurt_eagle_travis.cmake
  42. 2
      cmake/configs/qurt_sdflight_default.cmake
  43. 2
      cmake/configs/qurt_sdflight_legacy.cmake
  44. 6
      cmake/nuttx/px4_impl_nuttx.cmake
  45. 10
      cmake/qurt/px4_impl_qurt.cmake
  46. 8
      src/firmware/qurt/CMakeLists.txt
  47. 49
      src/modules/param/CMakeLists.txt
  48. 7
      src/modules/systemlib/CMakeLists.txt
  49. 2
      src/modules/systemlib/flashparams/flashparams.c
  50. 101
      src/modules/systemlib/param/CMakeLists.txt
  51. 2
      src/modules/systemlib/param/param.c

14
CMakeLists.txt

@ -99,7 +99,7 @@
# #
#============================================================================= #=============================================================================
if ("${CMAKE_VERSION}" VERSION_LESS 3.1.0) if (${CMAKE_VERSION} VERSION_LESS 3.1.0)
message("Not a valid CMake version") message("Not a valid CMake version")
message("On Ubuntu >= 16.04, install or upgrade via:") message("On Ubuntu >= 16.04, install or upgrade via:")
message(" sudo apt-get install cmake") message(" sudo apt-get install cmake")
@ -158,7 +158,7 @@ if (NOT CMAKE_BUILD_TYPE)
if (${OS} STREQUAL "nuttx") if (${OS} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel") set(PX4_BUILD_TYPE "MinSizeRel")
elseif (${OS} STREQUAL "qurt") elseif (${OS} STREQUAL "qurt")
set(PX4_BUILD_TYPE "MinSizeRel") set(PX4_BUILD_TYPE "Debug")
elseif (${OS} STREQUAL "bebop") elseif (${OS} STREQUAL "bebop")
set(PX4_BUILD_TYPE "MinSizeRel") set(PX4_BUILD_TYPE "MinSizeRel")
else() else()
@ -371,7 +371,7 @@ link_directories(${link_dirs})
add_definitions(${definitions}) add_definitions(${definitions})
#============================================================================= #=============================================================================
# message, parameter, and airframe generation # message, and airframe generation
# #
include(common/px4_metadata) include(common/px4_metadata)
@ -384,13 +384,7 @@ px4_generate_messages(TARGET msg_gen
DEPENDS git_genmsg git_gencpp prebuild_targets DEPENDS git_genmsg git_gencpp prebuild_targets
) )
px4_generate_parameters_xml(OUT parameters.xml px4_generate_airframes_xml(BOARD ${BOARD})
BOARD ${BOARD}
MODULES ${config_module_list}
OVERRIDES ${PARAM_DEFAULT_OVERRIDES})
px4_generate_airframes_xml(OUT airframes.xml BOARD ${BOARD})
add_custom_target(xml_gen DEPENDS parameters.xml airframes.xml)
#============================================================================= #=============================================================================
# DriverFramework # DriverFramework

5
Makefile

@ -307,9 +307,8 @@ format:
# -------------------------------------------------------------------- # --------------------------------------------------------------------
.PHONY: unittest run_tests_posix tests tests_coverage .PHONY: unittest run_tests_posix tests tests_coverage
unittest: posix_sitl_default unittest:
$(call cmake-build,unittest,$(SRC_DIR)/unittests) echo "UNIT TEST DISABLED"
@(cd build_unittest && ctest -j2 --output-on-failure)
run_tests_posix: run_tests_posix:
$(MAKE) --no-print-directory posix_sitl_default test_results $(MAKE) --no-print-directory posix_sitl_default test_results

8
Tools/px4params/srcscanner.py

@ -14,13 +14,19 @@ class SourceScanner(object):
Scans provided path and passes all found contents to the parser using Scans provided path and passes all found contents to the parser using
parser.Parse method. parser.Parse method.
""" """
extensions1 = tuple([".c"]) extensions1 = tuple([".h"])
extensions2 = tuple([".c"])
for srcdir in srcdirs: for srcdir in srcdirs:
for filename in os.listdir(srcdir): for filename in os.listdir(srcdir):
if filename.endswith(extensions1): if filename.endswith(extensions1):
path = os.path.join(srcdir, filename) path = os.path.join(srcdir, filename)
if not self.ScanFile(path, parser): if not self.ScanFile(path, parser):
return False return False
for filename in os.listdir(srcdir):
if filename.endswith(extensions2):
path = os.path.join(srcdir, filename)
if not self.ScanFile(path, parser):
return False
return True return True
def ScanFile(self, path, parser): def ScanFile(self, path, parser):

9
Tools/px_generate_params.py

@ -9,13 +9,12 @@ import argparse
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader
import os import os
def generate(xml_file, dest='.', modules=None): def generate(xml_file, dest='.'):
""" """
Generate px4 param source from xml. Generate px4 param source from xml.
@param xml_file: input parameter xml file @param xml_file: input parameter xml file
@param dest: Destination directory for generated files @param dest: Destination directory for generated files
@param modules: The list of px4 modules to search for params.
None means to scan everything. None means to scan everything.
""" """
# pylint: disable=broad-except # pylint: disable=broad-except
@ -26,9 +25,6 @@ def generate(xml_file, dest='.', modules=None):
for group in root: for group in root:
if group.tag == "group" and "no_code_generation" not in group.attrib: if group.tag == "group" and "no_code_generation" not in group.attrib:
for param in group: for param in group:
scope_ = param.find('scope').text
if (modules is not None) and (not scope_ in modules):
continue
params.append(param) params.append(param)
params = sorted(params, key=lambda name: name.attrib["name"]) params = sorted(params, key=lambda name: name.attrib["name"])
@ -55,9 +51,8 @@ def generate(xml_file, dest='.', modules=None):
if __name__ == "__main__": if __name__ == "__main__":
arg_parser = argparse.ArgumentParser() arg_parser = argparse.ArgumentParser()
arg_parser.add_argument("--xml", help="parameter xml file") arg_parser.add_argument("--xml", help="parameter xml file")
arg_parser.add_argument("--modules", help="px4 module list", default=None)
arg_parser.add_argument("--dest", help="destination path", default=os.path.curdir) arg_parser.add_argument("--dest", help="destination path", default=os.path.curdir)
args = arg_parser.parse_args() args = arg_parser.parse_args()
generate(xml_file=args.xml, modules=args.modules, dest=args.dest) generate(xml_file=args.xml, dest=args.dest)
# vim: set et fenc=utf-8 ff=unix sts=4 sw=4 ts=4 : # vim: set et fenc=utf-8 ff=unix sts=4 sw=4 ts=4 :

2
Tools/px_generate_xml.sh

@ -1,2 +0,0 @@
#!/bin/sh
python px_process_params.py --xml

21
Tools/px_process_params.py

@ -77,10 +77,10 @@ def main():
help="Inject additional param XML file" help="Inject additional param XML file"
" (default FILENAME: ../Tools/parameters_injected.xml)") " (default FILENAME: ../Tools/parameters_injected.xml)")
parser.add_argument("-b", "--board", parser.add_argument("-b", "--board",
nargs='?', nargs='?',
const="", const="",
metavar="BOARD", metavar="BOARD",
help="Board to create xml parameter xml for") help="Board to create xml parameter xml for")
parser.add_argument("-m", "--markdown", parser.add_argument("-m", "--markdown",
nargs='?', nargs='?',
const="parameters.md", const="parameters.md",
@ -118,13 +118,14 @@ def main():
metavar="SUMMARY", metavar="SUMMARY",
default="Automagically updated parameter documentation from code.", default="Automagically updated parameter documentation from code.",
help="DokuWiki page edit summary") help="DokuWiki page edit summary")
parser.add_argument('-v', '--verbose', action='store_true', help="verbose output") parser.add_argument('-v', '--verbose',
action='store_true',
help="verbose output")
parser.add_argument("-o", "--overrides", parser.add_argument("-o", "--overrides",
default="{}", default="{}",
metavar="OVERRIDES", metavar="OVERRIDES",
help="a dict of overrides in the form of a json string") help="a dict of overrides in the form of a json string")
args = parser.parse_args() args = parser.parse_args()
# Check for valid command # Check for valid command
@ -138,8 +139,9 @@ def main():
parser = srcparser.SourceParser() parser = srcparser.SourceParser()
# Scan directories, and parse the files # Scan directories, and parse the files
if (args.verbose): print("Scanning source path " + str(args.src_path)) if (args.verbose):
print("Scanning source path " + str(args.src_path))
if not scanner.ScanDir(args.src_path, parser): if not scanner.ScanDir(args.src_path, parser):
sys.exit(1) sys.exit(1)
@ -162,7 +164,8 @@ def main():
# Output to XML file # Output to XML file
if args.xml: if args.xml:
if args.verbose: print("Creating XML file " + args.xml) if args.verbose:
print("Creating XML file " + args.xml)
cur_dir = os.path.dirname(os.path.realpath(__file__)) cur_dir = os.path.dirname(os.path.realpath(__file__))
out = xmlout.XMLOutput(param_groups, args.board, out = xmlout.XMLOutput(param_groups, args.board,
os.path.join(cur_dir, args.inject_xml)) os.path.join(cur_dir, args.inject_xml))

2
Tools/px_update_wiki.sh

@ -1,2 +0,0 @@
# Remember to set the XMLRPCUSER and XMLRPCPASS environment variables
python px_process_params.py --wiki-update

4
cmake/common/px4_base.cmake

@ -212,7 +212,7 @@ function(px4_add_module)
# default stack max to stack main # default stack max to stack main
if(NOT STACK_MAIN AND STACK) if(NOT STACK_MAIN AND STACK)
set(STACK_MAIN ${STACK}) set(STACK_MAIN ${STACK})
message(AUTHOR_WARNING "STACK deprecated, USE STACK_MAIN instead!!!!!!!!!!!!") message(AUTHOR_WARNING "STACK deprecated, USE STACK_MAIN instead!")
endif() endif()
foreach(property MAIN STACK_MAIN PRIORITY) foreach(property MAIN STACK_MAIN PRIORITY)
@ -245,7 +245,7 @@ function(px4_add_module)
endif() endif()
if(INCLUDES) if(INCLUDES)
target_include_directories(${MODULE} ${INCLUDES}) target_include_directories(${MODULE} PRIVATE ${INCLUDES})
endif() endif()
if(DEPENDS) if(DEPENDS)

125
cmake/common/px4_metadata.cmake

@ -38,8 +38,6 @@
# utility functions # utility functions
# #
# * px4_generate_messages # * px4_generate_messages
# * px4_generate_parameters_xml
# * px4_generate_parameters_source
# * px4_generate_airframes_xml # * px4_generate_airframes_xml
# #
@ -167,116 +165,6 @@ function(px4_generate_messages)
endif() endif()
endfunction() endfunction()
#=============================================================================
#
# px4_generate_parameters_xml
#
# Generates a parameters.xml file.
#
# Usage:
# px4_generate_parameters_xml(OUT <param-xml_file>)
#
# Input:
# BOARD : the board
# MODULES : a list of px4 modules used to limit scope of the paramaters
# OVERRIDES : A json dict with param names as keys and param default
# overrides as values
#
# Output:
# OUT : the generated xml file
#
# Example:
# px4_generate_parameters_xml(OUT parameters.xml)
#
function(px4_generate_parameters_xml)
px4_parse_function_args(
NAME px4_generate_parameters_xml
ONE_VALUE OUT BOARD OVERRIDES
MULTI_VALUE MODULES
REQUIRED MODULES 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()
# get full path for each module
set(module_list)
if(DISABLE_PARAMS_MODULE_SCOPING)
set(module_list ${path})
else()
foreach(module ${MODULES})
list(APPEND module_list ${PX4_SOURCE_DIR}/src/${module})
endforeach()
endif()
add_custom_command(OUTPUT ${OUT}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_params.py
-s ${module_list} ${EXTERNAL_MODULES_LOCATION}
--board CONFIG_ARCH_${BOARD} --xml --inject-xml
--overrides ${OVERRIDES}
DEPENDS ${param_src_files} ${PX4_SOURCE_DIR}/Tools/px_process_params.py
${PX4_SOURCE_DIR}/Tools/px_generate_params.py
)
set(${OUT} ${${OUT}} PARENT_SCOPE)
endfunction()
#=============================================================================
#
# px4_generate_parameters_source
#
# Generates a source file with all parameters.
#
# Usage:
# px4_generate_parameters_source(OUT <list-source-files> XML <param-xml-file> MODULES px4 module list)
#
# Input:
# XML : the parameters.xml file
# MODULES : a list of px4 modules used to limit scope of the paramaters
# DEPS : target dependencies
#
# Output:
# OUT : the generated source files
#
# Example:
# px4_generate_parameters_source(OUT param_files XML parameters.xml MODULES lib/controllib modules/ekf2)
#
function(px4_generate_parameters_source)
px4_parse_function_args(
NAME px4_generate_parameters_source
ONE_VALUE OUT XML DEPS
MULTI_VALUE MODULES
REQUIRED MODULES OUT XML
ARGN ${ARGN})
set(generated_files
${CMAKE_CURRENT_BINARY_DIR}/px4_parameters.h
${CMAKE_CURRENT_BINARY_DIR}/px4_parameters.c)
set_source_files_properties(${generated_files} PROPERTIES GENERATED TRUE)
if(DISABLE_PARAMS_MODULE_SCOPING)
add_custom_command(OUTPUT ${generated_files}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_generate_params.py
--xml ${XML} --dest ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${XML} ${DEPS}
)
else()
px4_join(OUT module_list LIST ${MODULES} GLUE ",")
add_custom_command(OUTPUT ${generated_files}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_generate_params.py
--xml ${XML} --modules ${module_list} --dest ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${XML} ${DEPS}
)
endif()
set(${OUT} ${generated_files} PARENT_SCOPE)
endfunction()
#============================================================================= #=============================================================================
# #
# px4_generate_airframes_xml # px4_generate_airframes_xml
@ -299,14 +187,15 @@ endfunction()
function(px4_generate_airframes_xml) function(px4_generate_airframes_xml)
px4_parse_function_args( px4_parse_function_args(
NAME px4_generate_airframes_xml NAME px4_generate_airframes_xml
ONE_VALUE OUT BOARD ONE_VALUE BOARD
REQUIRED OUT BOARD REQUIRED BOARD
ARGN ${ARGN}) ARGN ${ARGN})
set(process_airframes ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py)
add_custom_command(OUTPUT ${OUT} add_custom_command(OUTPUT ${PX4_SOURCE_DIR}/airframes.xml
COMMAND ${PYTHON_EXECUTABLE} ${process_airframes} COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
-a ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root}/init.d -a ${PX4_SOURCE_DIR}/ROMFS/${config_romfs_root}/init.d
--board CONFIG_ARCH_BOARD_${BOARD} --xml --board CONFIG_ARCH_BOARD_${BOARD} --xml
DEPENDS ${PX4_SOURCE_DIR}/Tools/px_process_airframes.py
) )
set(${OUT} ${${OUT}} PARENT_SCOPE) add_custom_target(airframes_xml DEPENDS ${PX4_SOURCE_DIR}/airframes.xml)
endfunction() endfunction()

2
cmake/configs/nuttx_aerocore2_default.cmake

@ -103,7 +103,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_aerofc-v1_default.cmake

@ -83,7 +83,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_auav-x21_default.cmake

@ -125,7 +125,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_crazyflie_default.cmake

@ -75,7 +75,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_esc35-v1_default.cmake

@ -64,7 +64,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB
lib/version lib/version

2
cmake/configs/nuttx_mindpx-v2_default.cmake

@ -127,7 +127,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4-stm32f4discovery_default.cmake

@ -29,7 +29,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4cannode-v1_default.cmake

@ -55,7 +55,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB
lib/version lib/version

2
cmake/configs/nuttx_px4esc-v1_default.cmake

@ -64,7 +64,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
lib/version lib/version

2
cmake/configs/nuttx_px4fmu-v1_default.cmake

@ -98,7 +98,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4fmu-v2_default.cmake

@ -129,7 +129,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4fmu-v2_test.cmake

@ -123,7 +123,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4fmu-v3_default.cmake

@ -134,7 +134,7 @@ set(config_module_list
# Library modules # Library modules
# #
modules/dataman modules/dataman
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4fmu-v4_default.cmake

@ -133,7 +133,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4fmu-v4pro_default.cmake

@ -135,7 +135,7 @@ set(config_module_list
# Library modules # Library modules
# #
modules/dataman modules/dataman
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4fmu-v5_default.cmake

@ -133,7 +133,7 @@ set(config_module_list
# Library modules # Library modules
# #
modules/dataman modules/dataman
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_px4nucleoF767ZI-v1_default.cmake

@ -111,7 +111,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/nuttx_s2740vc-v1_default.cmake

@ -55,7 +55,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
lib/version lib/version

2
cmake/configs/nuttx_tap-v1_default.cmake

@ -79,7 +79,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/posix_bebop_default.cmake

@ -62,7 +62,7 @@ set(config_module_list
modules/sdlog2 modules/sdlog2
modules/logger modules/logger
modules/commander modules/commander
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/posix_eagle_hil.cmake

@ -28,7 +28,7 @@ set(config_module_list
modules/mavlink modules/mavlink
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB
modules/sensors modules/sensors

2
cmake/configs/posix_ocpoc_cross.cmake

@ -56,7 +56,7 @@ set(config_module_list
modules/sdlog2 modules/sdlog2
modules/logger modules/logger
modules/commander modules/commander
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/posix_rpi_common.cmake

@ -61,7 +61,7 @@ set(config_module_list
modules/sdlog2 modules/sdlog2
modules/logger modules/logger
modules/commander modules/commander
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/posix_sdflight_default.cmake

@ -52,7 +52,7 @@ set(config_module_list
modules/mc_pos_control modules/mc_pos_control
modules/mc_att_control modules/mc_att_control
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/posix_sdflight_legacy.cmake

@ -44,7 +44,7 @@ set(config_module_list
modules/mc_pos_control modules/mc_pos_control
modules/mc_att_control modules/mc_att_control
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/posix_sitl_default.cmake

@ -99,7 +99,7 @@ set(config_module_list
# Library modules # Library modules
# #
modules/dataman modules/dataman
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/posix_sitl_replay.cmake

@ -12,7 +12,7 @@ set(config_module_list
systemcmds/ver systemcmds/ver
systemcmds/perf systemcmds/perf
modules/uORB modules/uORB
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/ekf2 modules/ekf2
modules/ekf2_replay modules/ekf2_replay

2
cmake/configs/qurt_eagle_hello.cmake

@ -31,7 +31,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB

2
cmake/configs/qurt_eagle_hil.cmake

@ -52,7 +52,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/qurt_eagle_muorb.cmake

@ -31,7 +31,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/uORB modules/uORB

2
cmake/configs/qurt_eagle_test.cmake

@ -31,7 +31,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/qurt_eagle_travis.cmake

@ -57,7 +57,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/qurt_sdflight_default.cmake

@ -62,7 +62,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

2
cmake/configs/qurt_sdflight_legacy.cmake

@ -58,7 +58,7 @@ set(config_module_list
# #
# Library modules # Library modules
# #
modules/param modules/systemlib/param
modules/systemlib modules/systemlib
modules/systemlib/mixer modules/systemlib/mixer
modules/uORB modules/uORB

6
cmake/nuttx/px4_impl_nuttx.cmake

@ -81,17 +81,19 @@ function(px4_nuttx_add_firmware)
ARGN ${ARGN}) ARGN ${ARGN})
set(extra_args) set(extra_args)
set(dependencies)
if (PARAM_XML) if (PARAM_XML)
list(APPEND extra_args list(APPEND extra_args
--parameter_xml ${PARAM_XML} --parameter_xml ${PARAM_XML}
) )
list(APPEND dependencies parameters_xml)
endif() endif()
if (AIRFRAMES_XML) if (AIRFRAMES_XML)
list(APPEND extra_args list(APPEND extra_args
--airframe_xml ${AIRFRAMES_XML} --airframe_xml ${AIRFRAMES_XML}
) )
list(APPEND dependencies airframes_xml)
endif() endif()
add_custom_command(OUTPUT ${OUT} ${EXE}.bin add_custom_command(OUTPUT ${OUT} ${EXE}.bin
@ -101,7 +103,7 @@ function(px4_nuttx_add_firmware)
--git_identity ${PX4_SOURCE_DIR} --git_identity ${PX4_SOURCE_DIR}
${extra_args} ${extra_args}
--image ${EXE}.bin > ${OUT} --image ${EXE}.bin > ${OUT}
DEPENDS ${EXE} DEPENDS ${EXE} ${dependencies}
) )
add_custom_target(build_firmware_${BOARD} ALL DEPENDS ${OUT}) add_custom_target(build_firmware_${BOARD} ALL DEPENDS ${OUT})
endfunction() endfunction()

10
cmake/qurt/px4_impl_qurt.cmake

@ -95,10 +95,8 @@ function(px4_qurt_generate_builtin_commands)
math(EXPR command_count "${command_count}+1") math(EXPR command_count "${command_count}+1")
endif() endif()
endforeach() endforeach()
configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.cpp.in configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.cpp.in ${OUT}.cpp)
${OUT}.cpp) configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.h.in ${OUT}.h)
configure_file(${PX4_SOURCE_DIR}/src/platforms/apps.h.in
${OUT}.h)
endfunction() endfunction()
#============================================================================= #=============================================================================
@ -181,8 +179,8 @@ function(px4_os_add_flags)
) )
# Add the toolchain specific flags # Add the toolchain specific flags
set(added_cflags -O0) set(added_cflags)
set(added_cxx_flags -O0) set(added_cxx_flags)
# Clear -rdynamic flag which fails for hexagon # Clear -rdynamic flag which fails for hexagon
set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")

8
src/firmware/qurt/CMakeLists.txt

@ -34,10 +34,10 @@ if ("${QURT_ENABLE_STUBS}" STREQUAL "1")
-Wl,--end-group -Wl,--end-group
) )
else() else()
message("module_libraries = ${module_libraries}") #message("module_libraries = ${module_libraries}")
message("target_libraries = ${target_libraries}") #message("target_libraries = ${target_libraries}")
message("df_driver_libs = ${df_driver_libs}") #message("df_driver_libs = ${df_driver_libs}")
message("module_external_libraries = ${module_external_libraries}") #message("module_external_libraries = ${module_external_libraries}")
# Generate the DSP lib and stubs but not the apps side executable # Generate the DSP lib and stubs but not the apps side executable
# The Apps side executable is generated via the posix_eagle_xxxx target # The Apps side executable is generated via the posix_eagle_xxxx target
QURT_LIB(LIB_NAME px4 QURT_LIB(LIB_NAME px4

49
src/modules/param/CMakeLists.txt

@ -1,49 +0,0 @@
############################################################################
#
# Copyright (c) 2015 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
include_directories(${CMAKE_CURRENT_BINARY_DIR})
px4_generate_parameters_source(OUT param_files
XML ${PX4_BINARY_DIR}/parameters.xml
MODULES ${config_module_list}
DEPS xml_gen
)
px4_add_module(
MODULE modules__param
COMPILE_FLAGS
SRCS ${param_files}
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

7
src/modules/systemlib/CMakeLists.txt

@ -31,9 +31,6 @@
# #
############################################################################ ############################################################################
# for generated files
include_directories(${PX4_BINARY_DIR}/src/modules/param)
set(SRCS set(SRCS
perf_counter.c perf_counter.c
conversions.c conversions.c
@ -55,19 +52,16 @@ if(${OS} STREQUAL "nuttx")
list(APPEND SRCS list(APPEND SRCS
err.c err.c
printload.c printload.c
param/param.c
flashparams/flashparams.c flashparams/flashparams.c
flashparams/flashfs.c flashparams/flashfs.c
up_cxxinitialize.c up_cxxinitialize.c
) )
elseif ("${CONFIG_SHMEM}" STREQUAL "1") elseif ("${CONFIG_SHMEM}" STREQUAL "1")
list(APPEND SRCS list(APPEND SRCS
param/param_shmem.c
print_load_posix.c print_load_posix.c
) )
else() else()
list(APPEND SRCS list(APPEND SRCS
param/param.c
print_load_posix.c print_load_posix.c
) )
endif() endif()
@ -85,6 +79,5 @@ px4_add_module(
SRCS ${SRCS} SRCS ${SRCS}
DEPENDS DEPENDS
platforms__common platforms__common
modules__param
) )
# vim: set noet ft=cmake fenc=utf-8 ff=unix : # vim: set noet ft=cmake fenc=utf-8 ff=unix :

2
src/modules/systemlib/flashparams/flashparams.c

@ -341,8 +341,6 @@ int flash_param_save(void)
return param_export_internal(false); return param_export_internal(false);
} }
int flash_param_load(void) int flash_param_load(void)
{ {
param_reset_all(); param_reset_all();

101
src/modules/systemlib/param/CMakeLists.txt

@ -0,0 +1,101 @@
############################################################################
#
# Copyright (c) 2017 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
set(SRCS)
if ("${CONFIG_SHMEM}" STREQUAL "1")
message(STATUS "parameters shared memory enabled")
list(APPEND SRCS
param_shmem.c
)
else()
list(APPEND SRCS
param.c
)
endif()
if (NOT PARAM_DEFAULT_OVERRIDES)
set(PARAM_DEFAULT_OVERRIDES "{}")
endif()
# get full path for each module
set(module_list)
if (DISABLE_PARAMS_MODULE_SCOPING)
# search all directories with .c files (potentially containing parameters)
file(GLOB_RECURSE new_list ${PX4_SOURCE_DIR}/src/*.c)
foreach(file_path ${new_list})
get_filename_component(dir_path ${file_path} PATH)
list(APPEND module_list "${dir_path}")
endforeach()
list(REMOVE_DUPLICATES module_list)
else()
foreach(module ${config_module_list})
list(APPEND module_list ${PX4_SOURCE_DIR}/src/${module})
endforeach()
endif()
set(parameters_xml ${PX4_BINARY_DIR}/parameters.xml)
file(GLOB_RECURSE param_src_files ${PX4_SOURCE_DIR}/src/*params.c)
add_custom_command(OUTPUT ${parameters_xml}
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_process_params.py
-s ${module_list} ${EXTERNAL_MODULES_LOCATION}
--board CONFIG_ARCH_${BOARD} --xml --inject-xml
--overrides ${PARAM_DEFAULT_OVERRIDES}
DEPENDS ${param_src_files} ${PX4_SOURCE_DIR}/Tools/px_process_params.py
WORKING_DIRECTORY ${PX4_BINARY_DIR}
)
add_custom_target(parameters_xml DEPENDS ${parameters_xml})
# generate px4_parameters.c and px4_parameters.h
add_custom_command(OUTPUT px4_parameters.c px4_parameters.h
COMMAND ${PYTHON_EXECUTABLE} ${PX4_SOURCE_DIR}/Tools/px_generate_params.py
--xml ${parameters_xml} --dest ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS
${parameters_xml}
${PX4_SOURCE_DIR}/Tools/px_generate_params.py
${PX4_SOURCE_DIR}/Tools/templates/px4_parameters.c.jinja
${PX4_SOURCE_DIR}/Tools/templates/px4_parameters.h.jinja
)
set_source_files_properties(px4_parameters.c PROPERTIES GENERATED TRUE)
px4_add_module(
MODULE modules__systemlib__param
COMPILE_FLAGS
INCLUDES
${CMAKE_CURRENT_BINARY_DIR}
SRCS
${SRCS}
px4_parameters.c
DEPENDS
platforms__common
)
# vim: set noet ft=cmake fenc=utf-8 ff=unix :

2
src/modules/systemlib/param/param.c

@ -64,7 +64,7 @@
#include "systemlib/uthash/utarray.h" #include "systemlib/uthash/utarray.h"
#include "systemlib/bson/tinybson.h" #include "systemlib/bson/tinybson.h"
//#define PARAM_NO_ORB ///< if defined, avoid uorb depenency. This disables publication of parameter_update on param change //#define PARAM_NO_ORB ///< if defined, avoid uorb dependency. This disables publication of parameter_update on param change
//#define PARAM_NO_AUTOSAVE ///< if defined, do not autosave (avoids LP work queue dependency) //#define PARAM_NO_AUTOSAVE ///< if defined, do not autosave (avoids LP work queue dependency)
#if !defined(PARAM_NO_ORB) #if !defined(PARAM_NO_ORB)

Loading…
Cancel
Save