mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-29 03:36:07 +08:00
Simplified config handling.
This commit is contained in:
+3
-3
@@ -73,8 +73,8 @@
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# * Never set global variables in an included cmake file,
|
# * Never set global variables in an included cmake file,
|
||||||
# you may only define functions. This excludes Toolchain files. This
|
# you may only define functions. This excludes config and Toolchain files.
|
||||||
# makes it clear to the user when variables are being set or targets
|
# This makes it clear to the user when variables are being set or targets
|
||||||
# are being created.
|
# are being created.
|
||||||
#
|
#
|
||||||
# * Setting a global variable in a CMakeLists.txt file is ok, because
|
# * Setting a global variable in a CMakeLists.txt file is ok, because
|
||||||
@@ -133,7 +133,7 @@ set(px4_required_config
|
|||||||
)
|
)
|
||||||
foreach(conf ${px4_required_config})
|
foreach(conf ${px4_required_config})
|
||||||
if(NOT DEFINED ${conf})
|
if(NOT DEFINED ${conf})
|
||||||
message(FATAL_ERROR "${config_module} must define ${conf}")
|
message(FATAL_ERROR "cmake/${config_module} must define ${conf}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|||||||
@@ -1,160 +1,135 @@
|
|||||||
include(nuttx/px4_impl_nuttx)
|
include(nuttx/px4_impl_nuttx)
|
||||||
|
|
||||||
function(px4_get_config)
|
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-arm-none-eabi.cmake)
|
||||||
|
|
||||||
px4_parse_function_args(
|
set(config_module_list
|
||||||
NAME px4_set_config_modules
|
|
||||||
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
|
|
||||||
ARGN ${ARGN})
|
|
||||||
|
|
||||||
set(config_module_list
|
#
|
||||||
|
# Board support modules
|
||||||
|
#
|
||||||
|
drivers/device
|
||||||
|
drivers/stm32
|
||||||
|
drivers/stm32/adc
|
||||||
|
drivers/stm32/tone_alarm
|
||||||
|
drivers/led
|
||||||
|
drivers/px4fmu
|
||||||
|
drivers/px4io
|
||||||
|
drivers/boards/px4fmu-v2
|
||||||
|
drivers/rgbled
|
||||||
|
drivers/mpu6000
|
||||||
|
drivers/mpu9250
|
||||||
|
drivers/lsm303d
|
||||||
|
drivers/l3gd20
|
||||||
|
drivers/hmc5883
|
||||||
|
drivers/ms5611
|
||||||
|
drivers/mb12xx
|
||||||
|
drivers/sf0x
|
||||||
|
drivers/ll40ls
|
||||||
|
drivers/trone
|
||||||
|
drivers/gps
|
||||||
|
drivers/pwm_out_sim
|
||||||
|
drivers/hott
|
||||||
|
drivers/hott/hott_telemetry
|
||||||
|
drivers/hott/hott_sensors
|
||||||
|
drivers/blinkm
|
||||||
|
drivers/airspeed
|
||||||
|
drivers/ets_airspeed
|
||||||
|
drivers/meas_airspeed
|
||||||
|
drivers/frsky_telemetry
|
||||||
|
modules/sensors
|
||||||
|
drivers/mkblctrl
|
||||||
|
drivers/px4flow
|
||||||
|
drivers/oreoled
|
||||||
|
drivers/gimbal
|
||||||
|
drivers/pwm_input
|
||||||
|
drivers/camera_trigger
|
||||||
|
|
||||||
#
|
#
|
||||||
# Board support modules
|
# System commands
|
||||||
#
|
#
|
||||||
drivers/device
|
systemcmds/bl_update
|
||||||
drivers/stm32
|
systemcmds/mixer
|
||||||
drivers/stm32/adc
|
systemcmds/param
|
||||||
drivers/stm32/tone_alarm
|
systemcmds/perf
|
||||||
drivers/led
|
systemcmds/pwm
|
||||||
drivers/px4fmu
|
systemcmds/esc_calib
|
||||||
drivers/px4io
|
systemcmds/reboot
|
||||||
drivers/boards/px4fmu-v2
|
systemcmds/top
|
||||||
drivers/rgbled
|
systemcmds/config
|
||||||
drivers/mpu6000
|
systemcmds/nshterm
|
||||||
drivers/mpu9250
|
systemcmds/mtd
|
||||||
drivers/lsm303d
|
systemcmds/dumpfile
|
||||||
drivers/l3gd20
|
systemcmds/ver
|
||||||
drivers/hmc5883
|
|
||||||
drivers/ms5611
|
|
||||||
drivers/mb12xx
|
|
||||||
drivers/sf0x
|
|
||||||
drivers/ll40ls
|
|
||||||
drivers/trone
|
|
||||||
drivers/gps
|
|
||||||
drivers/pwm_out_sim
|
|
||||||
drivers/hott
|
|
||||||
drivers/hott/hott_telemetry
|
|
||||||
drivers/hott/hott_sensors
|
|
||||||
drivers/blinkm
|
|
||||||
drivers/airspeed
|
|
||||||
drivers/ets_airspeed
|
|
||||||
drivers/meas_airspeed
|
|
||||||
drivers/frsky_telemetry
|
|
||||||
modules/sensors
|
|
||||||
drivers/mkblctrl
|
|
||||||
drivers/px4flow
|
|
||||||
drivers/oreoled
|
|
||||||
drivers/gimbal
|
|
||||||
drivers/pwm_input
|
|
||||||
drivers/camera_trigger
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# System commands
|
# Logging
|
||||||
#
|
#
|
||||||
systemcmds/bl_update
|
modules/sdlog2
|
||||||
systemcmds/mixer
|
|
||||||
systemcmds/param
|
|
||||||
systemcmds/perf
|
|
||||||
systemcmds/pwm
|
|
||||||
systemcmds/esc_calib
|
|
||||||
systemcmds/reboot
|
|
||||||
systemcmds/top
|
|
||||||
systemcmds/config
|
|
||||||
systemcmds/nshterm
|
|
||||||
systemcmds/mtd
|
|
||||||
systemcmds/dumpfile
|
|
||||||
systemcmds/ver
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Logging
|
# Library modules
|
||||||
#
|
#
|
||||||
modules/sdlog2
|
modules/systemlib
|
||||||
|
modules/systemlib/mixer
|
||||||
|
modules/controllib
|
||||||
|
modules/uORB
|
||||||
|
modules/dataman
|
||||||
|
|
||||||
#
|
#
|
||||||
# Library modules
|
# Libraries
|
||||||
#
|
#
|
||||||
modules/systemlib
|
#lib/mathlib/CMSIS
|
||||||
modules/systemlib/mixer
|
lib/mathlib
|
||||||
modules/controllib
|
lib/mathlib/math/filter
|
||||||
modules/uORB
|
lib/ecl
|
||||||
modules/dataman
|
lib/external_lgpl
|
||||||
|
lib/geo
|
||||||
|
lib/geo_lookup
|
||||||
|
lib/conversion
|
||||||
|
lib/launchdetection
|
||||||
|
platforms/nuttx
|
||||||
|
|
||||||
#
|
# had to add for cmake, not sure why wasn't in original config
|
||||||
# Libraries
|
platforms/common
|
||||||
#
|
platforms/nuttx/px4_layer
|
||||||
#lib/mathlib/CMSIS
|
|
||||||
lib/mathlib
|
|
||||||
lib/mathlib/math/filter
|
|
||||||
lib/ecl
|
|
||||||
lib/external_lgpl
|
|
||||||
lib/geo
|
|
||||||
lib/geo_lookup
|
|
||||||
lib/conversion
|
|
||||||
lib/launchdetection
|
|
||||||
platforms/nuttx
|
|
||||||
|
|
||||||
# had to add for cmake, not sure why wasn't in original config
|
#
|
||||||
platforms/common
|
# Demo apps
|
||||||
platforms/nuttx/px4_layer
|
#
|
||||||
|
#examples/math_demo
|
||||||
|
# Tutorial code from
|
||||||
|
# https://px4.io/dev/px4_simple_app
|
||||||
|
examples/px4_simple_app
|
||||||
|
|
||||||
#
|
# Tutorial code from
|
||||||
# Demo apps
|
# https://px4.io/dev/daemon
|
||||||
#
|
examples/px4_daemon_app
|
||||||
#examples/math_demo
|
|
||||||
# Tutorial code from
|
|
||||||
# https://px4.io/dev/px4_simple_app
|
|
||||||
examples/px4_simple_app
|
|
||||||
|
|
||||||
# Tutorial code from
|
# Tutorial code from
|
||||||
# https://px4.io/dev/daemon
|
# https://px4.io/dev/debug_values
|
||||||
examples/px4_daemon_app
|
examples/px4_mavlink_debug
|
||||||
|
|
||||||
# Tutorial code from
|
# Tutorial code from
|
||||||
# https://px4.io/dev/debug_values
|
# https://px4.io/dev/example_fixedwing_control
|
||||||
examples/px4_mavlink_debug
|
examples/fixedwing_control
|
||||||
|
|
||||||
# Tutorial code from
|
# Hardware test
|
||||||
# https://px4.io/dev/example_fixedwing_control
|
examples/hwtest
|
||||||
examples/fixedwing_control
|
)
|
||||||
|
|
||||||
# Hardware test
|
set(config_firmware_options
|
||||||
examples/hwtest
|
PARAM_XML # generate param xml
|
||||||
)
|
)
|
||||||
|
|
||||||
set(firmware_options
|
set(config_extra_builtin_cmds
|
||||||
PARAM_XML # generate param xml
|
serdis_main
|
||||||
)
|
sercon_main
|
||||||
|
)
|
||||||
|
|
||||||
set(extra_cmds serdis_main sercon_main)
|
add_custom_target(sercon)
|
||||||
|
set_target_properties(sercon PROPERTIES
|
||||||
|
MAIN "sercon" STACK "2048")
|
||||||
|
|
||||||
# output
|
add_custom_target(serdis)
|
||||||
if(OUT_MODULES)
|
set_target_properties(serdis PROPERTIES
|
||||||
set(${OUT_MODULES} ${config_module_list} PARENT_SCOPE)
|
MAIN "serdis" STACK "2048")
|
||||||
endif()
|
|
||||||
|
|
||||||
if (OUT_FW_OPTS)
|
|
||||||
set(${OUT_FW_OPTS} ${fw_opts} PARENT_SCOPE)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(px4_add_extra_builtin_cmds)
|
|
||||||
|
|
||||||
px4_parse_function_args(
|
|
||||||
NAME px4_add_extra_builtin_cmds
|
|
||||||
ONE_VALUE OUT
|
|
||||||
REQUIRED OUT
|
|
||||||
ARGN ${ARGN})
|
|
||||||
|
|
||||||
add_custom_target(sercon)
|
|
||||||
set_target_properties(sercon PROPERTIES
|
|
||||||
MAIN "sercon" STACK "2048")
|
|
||||||
|
|
||||||
add_custom_target(serdis)
|
|
||||||
set_target_properties(serdis PROPERTIES
|
|
||||||
MAIN "serdis" STACK "2048")
|
|
||||||
|
|
||||||
set(${OUT} sercon serdis PARENT_SCOPE)
|
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|||||||
@@ -2,27 +2,35 @@ include(nuttx/px4_impl_nuttx)
|
|||||||
|
|
||||||
message(WARNING "this is a work in progress and doesn't build yet")
|
message(WARNING "this is a work in progress and doesn't build yet")
|
||||||
|
|
||||||
function(px4_get_config)
|
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-native.cmake)
|
||||||
|
|
||||||
px4_parse_function_args(
|
set(config_module_list
|
||||||
NAME px4_set_config_modules
|
platforms/nuttx
|
||||||
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
|
platforms/nuttx/px4_layer
|
||||||
ARGN ${ARGN})
|
platforms/common
|
||||||
|
drivers/led
|
||||||
|
drivers/device
|
||||||
|
modules/systemlib
|
||||||
|
modules/uORB
|
||||||
|
examples/px4_simple_app
|
||||||
|
lib/mathlib/math/filter
|
||||||
|
lib/conversion
|
||||||
|
)
|
||||||
|
|
||||||
set(config_module_list
|
set(config_firmware_options
|
||||||
platforms/nuttx
|
PARAM_XML # generate param xml
|
||||||
platforms/nuttx/px4_layer
|
)
|
||||||
platforms/common
|
|
||||||
drivers/led
|
|
||||||
drivers/device
|
|
||||||
modules/systemlib
|
|
||||||
modules/uORB
|
|
||||||
examples/px4_simple_app
|
|
||||||
lib/mathlib/math/filter
|
|
||||||
lib/conversion
|
|
||||||
)
|
|
||||||
|
|
||||||
set(${out_module_list} ${config_module_list} PARENT_SCOPE)
|
set(config_extra_builtin_cmds
|
||||||
|
serdis_main
|
||||||
|
sercon_main
|
||||||
|
)
|
||||||
|
|
||||||
endfunction()
|
add_custom_target(sercon)
|
||||||
|
set_target_properties(sercon PROPERTIES
|
||||||
|
MAIN "sercon" STACK "2048")
|
||||||
|
|
||||||
|
add_custom_target(serdis)
|
||||||
|
set_target_properties(serdis PROPERTIES
|
||||||
|
MAIN "serdis" STACK "2048")
|
||||||
|
|
||||||
|
|||||||
@@ -1,98 +1,73 @@
|
|||||||
include(posix/px4_impl_posix)
|
include(posix/px4_impl_posix)
|
||||||
set(USE_TOOLCHAIN Toolchain-native)
|
|
||||||
|
|
||||||
function(px4_get_config)
|
set(CMAKE_TOOLCHAIN_FILE cmake/toolchains/Toolchain-native.cmake)
|
||||||
|
|
||||||
px4_parse_function_args(
|
set(config_module_list
|
||||||
NAME px4_set_config_modules
|
drivers/led
|
||||||
ONE_VALUE OUT_MODULES OUT_FW_OPTS OUT_EXTRA_CMDS
|
drivers/device
|
||||||
ARGN ${ARGN})
|
drivers/boards/sitl
|
||||||
|
platforms/common
|
||||||
|
platforms/posix/px4_layer
|
||||||
|
platforms/posix/work_queue
|
||||||
|
platforms/posix/drivers/adcsim
|
||||||
|
platforms/posix/drivers/gpssim
|
||||||
|
platforms/posix/drivers/tonealrmsim
|
||||||
|
platforms/posix/drivers/accelsim
|
||||||
|
platforms/posix/drivers/airspeedsim
|
||||||
|
platforms/posix/drivers/barosim
|
||||||
|
platforms/posix/drivers/gyrosim
|
||||||
|
systemcmds/param
|
||||||
|
systemcmds/mixer
|
||||||
|
systemcmds/ver
|
||||||
|
systemcmds/esc_calib
|
||||||
|
systemcmds/reboot
|
||||||
|
systemcmds/topic_listener
|
||||||
|
modules/uORB
|
||||||
|
modules/systemlib
|
||||||
|
modules/systemlib/mixer
|
||||||
|
modules/sensors
|
||||||
|
modules/simulator
|
||||||
|
modules/mavlink
|
||||||
|
modules/attitude_estimator_ekf
|
||||||
|
modules/attitude_estimator_q
|
||||||
|
modules/ekf_att_pos_estimator
|
||||||
|
modules/position_estimator_inav
|
||||||
|
modules/navigator
|
||||||
|
modules/mc_pos_control
|
||||||
|
modules/mc_att_control
|
||||||
|
modules/mc_pos_control_multiplatform
|
||||||
|
modules/mc_att_control_multiplatform
|
||||||
|
modules/land_detector
|
||||||
|
modules/fw_att_control
|
||||||
|
modules/fw_pos_control_l1
|
||||||
|
modules/dataman
|
||||||
|
modules/sdlog2
|
||||||
|
modules/commander
|
||||||
|
modules/controllib
|
||||||
|
lib/mathlib
|
||||||
|
lib/mathlib/math/filter
|
||||||
|
lib/conversion
|
||||||
|
lib/ecl
|
||||||
|
lib/external_lgpl
|
||||||
|
lib/geo
|
||||||
|
lib/geo_lookup
|
||||||
|
lib/launchdetection
|
||||||
|
)
|
||||||
|
|
||||||
set(config_module_list
|
|
||||||
drivers/led
|
|
||||||
drivers/device
|
|
||||||
drivers/boards/sitl
|
|
||||||
platforms/common
|
|
||||||
platforms/posix/px4_layer
|
|
||||||
platforms/posix/work_queue
|
|
||||||
platforms/posix/drivers/adcsim
|
|
||||||
platforms/posix/drivers/gpssim
|
|
||||||
platforms/posix/drivers/tonealrmsim
|
|
||||||
platforms/posix/drivers/accelsim
|
|
||||||
platforms/posix/drivers/airspeedsim
|
|
||||||
platforms/posix/drivers/barosim
|
|
||||||
platforms/posix/drivers/gyrosim
|
|
||||||
systemcmds/param
|
|
||||||
systemcmds/mixer
|
|
||||||
systemcmds/ver
|
|
||||||
systemcmds/esc_calib
|
|
||||||
systemcmds/reboot
|
|
||||||
systemcmds/topic_listener
|
|
||||||
modules/uORB
|
|
||||||
modules/systemlib
|
|
||||||
modules/systemlib/mixer
|
|
||||||
modules/sensors
|
|
||||||
modules/simulator
|
|
||||||
modules/mavlink
|
|
||||||
modules/attitude_estimator_ekf
|
|
||||||
modules/attitude_estimator_q
|
|
||||||
modules/ekf_att_pos_estimator
|
|
||||||
modules/position_estimator_inav
|
|
||||||
modules/navigator
|
|
||||||
modules/mc_pos_control
|
|
||||||
modules/mc_att_control
|
|
||||||
modules/mc_pos_control_multiplatform
|
|
||||||
modules/mc_att_control_multiplatform
|
|
||||||
modules/land_detector
|
|
||||||
modules/fw_att_control
|
|
||||||
modules/fw_pos_control_l1
|
|
||||||
modules/dataman
|
|
||||||
modules/sdlog2
|
|
||||||
modules/commander
|
|
||||||
modules/controllib
|
|
||||||
lib/mathlib
|
|
||||||
lib/mathlib/math/filter
|
|
||||||
lib/conversion
|
|
||||||
lib/ecl
|
|
||||||
lib/external_lgpl
|
|
||||||
lib/geo
|
|
||||||
lib/geo_lookup
|
|
||||||
lib/launchdetection
|
|
||||||
)
|
|
||||||
|
|
||||||
set(firmware_options
|
set(config_firmware_options
|
||||||
PARAM_XML # generate param xml
|
PARAM_XML # generate param xml
|
||||||
)
|
)
|
||||||
|
|
||||||
set(extra_cmds serdis_main sercon_main)
|
set(config_extra_builtin_cmds
|
||||||
|
serdis_main
|
||||||
|
sercon_main
|
||||||
|
)
|
||||||
|
|
||||||
# output
|
add_custom_target(sercon)
|
||||||
if(OUT_MODULES)
|
set_target_properties(sercon PROPERTIES
|
||||||
set(${OUT_MODULES} ${config_module_list} PARENT_SCOPE)
|
MAIN "sercon" STACK "2048")
|
||||||
endif()
|
|
||||||
|
|
||||||
if (OUT_FW_OPTS)
|
add_custom_target(serdis)
|
||||||
set(${OUT_FW_OPTS} ${fw_opts} PARENT_SCOPE)
|
set_target_properties(serdis PROPERTIES
|
||||||
endif()
|
MAIN "serdis" STACK "2048")
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(px4_add_extra_builtin_cmds)
|
|
||||||
|
|
||||||
px4_parse_function_args(
|
|
||||||
NAME px4_add_extra_builtin_cmds
|
|
||||||
ONE_VALUE OUT
|
|
||||||
REQUIRED OUT
|
|
||||||
ARGN ${ARGN})
|
|
||||||
|
|
||||||
add_custom_target(sercon)
|
|
||||||
set_target_properties(sercon PROPERTIES
|
|
||||||
MAIN "sercon" STACK "2048")
|
|
||||||
|
|
||||||
add_custom_target(serdis)
|
|
||||||
set_target_properties(serdis PROPERTIES
|
|
||||||
MAIN "serdis" STACK "2048")
|
|
||||||
|
|
||||||
set(${OUT} sercon serdis PARENT_SCOPE)
|
|
||||||
|
|
||||||
endfunction()
|
|
||||||
|
|||||||
Reference in New Issue
Block a user