mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-07-22 01:10:35 +08:00
FlightGear simulator support (#14539)
- Add flightgear_bridge submodule. - Add traget px4_sitl_nolockstep with disabled LOCKSTEP simulation. - Add flightgear viewer targets and startup scripts - Add a few possible vehicles plane (rascal), autogyro (tf-g1), and rover (tf-r1)) Co-authored-by: Vit Hanousek <vithanousek@seznam.cz>
This commit is contained in:
@@ -25,6 +25,7 @@ add_custom_target(run_config
|
||||
|
||||
px4_add_git_submodule(TARGET git_gazebo PATH "${PX4_SOURCE_DIR}/Tools/sitl_gazebo")
|
||||
px4_add_git_submodule(TARGET git_jmavsim PATH "${PX4_SOURCE_DIR}/Tools/jMAVSim")
|
||||
px4_add_git_submodule(TARGET git_flightgear_bridge PATH "${PX4_SOURCE_DIR}/Tools/flightgear_bridge")
|
||||
|
||||
# Add support for external project building
|
||||
include(ExternalProject)
|
||||
@@ -57,6 +58,20 @@ ExternalProject_Add(mavsdk_tests
|
||||
BUILD_ALWAYS 1
|
||||
)
|
||||
|
||||
ExternalProject_Add(flightgear_bridge
|
||||
SOURCE_DIR ${PX4_SOURCE_DIR}/Tools/flightgear_bridge
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
|
||||
BINARY_DIR ${PX4_BINARY_DIR}/build_flightgear_bridge
|
||||
INSTALL_COMMAND ""
|
||||
DEPENDS
|
||||
git_flightgear_bridge
|
||||
USES_TERMINAL_CONFIGURE true
|
||||
USES_TERMINAL_BUILD true
|
||||
EXCLUDE_FROM_ALL true
|
||||
BUILD_ALWAYS 1
|
||||
)
|
||||
|
||||
# create targets for each viewer/model/debugger combination
|
||||
set(viewers none jmavsim gazebo)
|
||||
set(debuggers none ide gdb lldb ddd valgrind callgrind)
|
||||
@@ -146,6 +161,38 @@ foreach(viewer ${viewers})
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
#add flighgear targets
|
||||
if( ENABLE_LOCKSTEP_SCHEDULER STREQUAL "no")
|
||||
set(models
|
||||
rascal
|
||||
rascal-electric
|
||||
tf-g1
|
||||
tf-r1
|
||||
)
|
||||
set(all_posix_vmd_make_targets)
|
||||
|
||||
foreach(model ${models})
|
||||
set(_targ_name "flightgear_${model}")
|
||||
add_custom_target(${_targ_name}
|
||||
COMMAND ${PX4_SOURCE_DIR}/Tools/sitl_run.sh
|
||||
$<TARGET_FILE:px4>
|
||||
none
|
||||
flightgear
|
||||
${model}
|
||||
none
|
||||
${PX4_SOURCE_DIR}
|
||||
${PX4_BINARY_DIR}
|
||||
WORKING_DIRECTORY ${SITL_WORKING_DIR}
|
||||
USES_TERMINAL
|
||||
DEPENDS
|
||||
logs_symlink
|
||||
)
|
||||
|
||||
add_dependencies(${_targ_name} px4 flightgear_bridge)
|
||||
list(APPEND all_posix_vmd_make_targets ${_targ_name})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
string(REPLACE ";" "," posix_vmd_make_target_list "${all_posix_vmd_make_targets}")
|
||||
|
||||
add_custom_target(list_vmd_make_targets
|
||||
|
||||
Reference in New Issue
Block a user