diff --git a/.vscode/cmake-kits.json b/.vscode/cmake-kits.json index 2624a2e50b3f18e622fe79f56c86f4273d459aef..5f09a21261630a7b46c6d2f40a29acea9756df83 100644 --- a/.vscode/cmake-kits.json +++ b/.vscode/cmake-kits.json @@ -1,10 +1,6 @@ [ { - "name": "arm-none-eabi-gcc", - "toolchainFile": "cmake/toolchains/Toolchain-arm-none-eabi.cmake" - }, - { - "name": "native", - "toolchainFile": "cmake/toolchains/Toolchain-native.cmake" + "name": "PX4 default", + "preferredGenerator": "Ninja" } ] \ No newline at end of file diff --git a/.vscode/cmake-variants.yaml b/.vscode/cmake-variants.yaml index 5b52735df2d40343d2d2df2db6b965ce8f50bb90..98c87d0da9757a3d24f875a8748f53b1def3366b 100644 --- a/.vscode/cmake-variants.yaml +++ b/.vscode/cmake-variants.yaml @@ -1,33 +1,68 @@ CONFIG: - default: posix_sitl_default + default: px4_sitl_default choices: - posix_sitl_default: - short: sitl + px4_sitl_default: + short: px4_sitl buildType: RelWithDebInfo settings: - CONFIG: posix_sitl_default - nuttx_px4fmu-v2_default: - short: px4fmu-v2 + CONFIG: px4_sitl_default + px4_sitl_default_Debug: + short: px4_sitl (Debug) + buildType: Debug + settings: + CONFIG: px4_sitl_default + px4_sitl_rtps: + short: px4_sitl_rtps + buildType: RelWithDebInfo + settings: + CONFIG: px4_sitl_rtps + px4_fmu-v2_default: + short: px4_fmu-v2 + buildType: MinRelSize + settings: + CONFIG: px4_fmu-v2_default + px4_fmu-v3_default: + short: px4_fmu-v3 + buildType: MinRelSize + settings: + CONFIG: px4_fmu-v3_default + px4_fmu-v4_default: + short: px4_fmu-v4 + buildType: MinRelSize + settings: + CONFIG: px4_fmu-v4_default + px4_fmu-v4pro_default: + short: px4_fmu-v4pro + buildType: MinRelSize + settings: + CONFIG: px4_fmu-v4pro_default + px4_fmu-v5_default: + short: px4_fmu-v5 + buildType: MinRelSize + settings: + CONFIG: px4_fmu-v5_default + px4_fmu-v5_rtps: + short: px4_fmu-v5_rtps buildType: MinRelSize settings: - CONFIG: nuttx_px4fmu-v2_default - nuttx_px4fmu-v3_default: - short: px4fmu-v3 + CONFIG: px4_fmu-v5_rtps + airmind_mindpx-v2_default: + short: airmind_mindpx-v2 buildType: MinRelSize settings: - CONFIG: nuttx_px4fmu-v3_default - nuttx_px4fmu-v4_default: - short: px4fmu-v4 + CONFIG: airmind_mindpx-v2_default + av_x-v1_default: + short: av-x buildType: MinRelSize settings: - CONFIG: nuttx_px4fmu-v4_default - nuttx_px4fmu-v4pro_default: - short: px4fmu-v4pro + CONFIG: av_x-v1_default + intel_aerofc-v1_default: + short: intel_aerofc-v1 buildType: MinRelSize settings: - CONFIG: nuttx_px4fmu-v4pro_default - nuttx_px4fmu-v5_default: - short: px4fmu-v5 + CONFIG: intel_aerofc-v1_default + nxp_fmuk66-v3_default: + short: nxp_fmuk66-v3 buildType: MinRelSize settings: - CONFIG: nuttx_px4fmu-v5_default \ No newline at end of file + CONFIG: nxp_fmuk66-v3_default diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 086dda8cb44ec4294d7e3ad5831b3bff3549c27b..adc40a5579c0846bad0eaf985232005914a87a51 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -6,6 +6,7 @@ "github.vscode-pull-request-github", "chiehyu.vscode-astyle", "marus25.cortex-debug", + "ms-python.python", "vector-of-bool.cmake-tools" ] } diff --git a/.vscode/launch.json b/.vscode/launch.json index 7d5492a988fb9c23999ca5fcc959463e06868b11..d3f0c9829c6f18b1d3b73ca5aabf5f27e1bc526d 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -2,43 +2,58 @@ "version": "0.2.0", "configurations": [ { - "name": "(lldb) Launch", + "name": "(gdb) Launch (shell)", "type": "cppdbg", "request": "launch", "program": "${command:cmake.launchTargetPath}", - "args": [], + "args": [ + "${workspaceFolder}/ROMFS/px4fmu_common", + "-s", "etc/init.d-posix/rcS", + "-t", "${workspaceFolder}/test_data" + ], "stopAtEntry": false, - "cwd": "${workspaceFolder}", - "environment": [], - "externalConsole": true, - "MIMode": "lldb", + "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp", + "environment": [{"name": "PX4_SIM_MODEL", "value": "shell"}], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + + "ignoreFailures": true, + + "text": "handle SIGCONT nostop noprint nopass", + } + ] }, { - "name": "(gdb) Launch", + "name": "(gdb) Launch (jmavsim iris)", "type": "cppdbg", "request": "launch", - // Resolved by CMake Tools: "program": "${command:cmake.launchTargetPath}", - "args": [], + "args": [ + "${workspaceFolder}/ROMFS/px4fmu_common", + "-s", "etc/init.d-posix/rcS", + "-t", "${workspaceFolder}/test_data" + ], "stopAtEntry": false, - "cwd": "${workspaceFolder}", - "externalConsole": true, + "cwd": "${workspaceFolder}/build/px4_sitl_default/tmp", + "environment": [{"name": "PX4_SIM_MODEL", "value": "iris"}], + "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", - "ignoreFailures": true + + "ignoreFailures": true, + + "text": "handle SIGCONT nostop noprint nopass", + } - ] - } - { - "cwd": "${workspaceRoot}", - "executable": "${command:cmake.launchTargetPath}", - "name": "Debug Microcontroller", - "request": "launch", - "type": "cortex-debug", - "servertype": "jlink" + ], + "preLaunchTask": "jmavsim" }, ] } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index c5ef40b8a211cb4fbbad4d7755f0b8a913d99a77..52fe1b80eb5d722eeacdb5617a0bdcde1bfa6a02 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,4 +5,6 @@ "C_Cpp.default.cppStandard": "c++11", "C_Cpp.default.cStandard": "c99", "cmake.buildDirectory": "${workspaceRoot}/build/${variant:CONFIG}", + "cmake.autoRestartBuild": true, + "cmake.configureOnOpen": true, } \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index d171d02bb49e0105e25703203962a669d68e9132..a5b30e9aeb330516d09a6e3fd99fde632a8456a7 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,11 +6,16 @@ { "label": "jmavsim", "type": "shell", - "command": "make posix_sitl_default jmavsim", - "group": { - "kind": "build", - "isDefault": true + "command": "Tools/jmavsim_run.sh", + "isBackground": true, + "args": ["-r", "500"], + "options": { + "cwd": "${workspaceRoot}" + }, + "presentation": { + "reveal": "always", + "panel": "dedicated" } - } + }, ] } diff --git a/platforms/posix/cmake/sitl_target.cmake b/platforms/posix/cmake/sitl_target.cmake index 78f55b92f378586f0629b84cfa674a5949b996f8..524131c8d40279489be458a8a76fc71c53698e62 100644 --- a/platforms/posix/cmake/sitl_target.cmake +++ b/platforms/posix/cmake/sitl_target.cmake @@ -1,5 +1,6 @@ set(SITL_WORKING_DIR ${PX4_BINARY_DIR}/tmp) file(MAKE_DIRECTORY ${SITL_WORKING_DIR}) +file(MAKE_DIRECTORY ${SITL_WORKING_DIR}/rootfs) # add a symlink to the logs dir to make it easier to find them add_custom_command(OUTPUT ${PX4_BINARY_DIR}/logs @@ -7,6 +8,8 @@ add_custom_command(OUTPUT ${PX4_BINARY_DIR}/logs WORKING_DIRECTORY ${PX4_BINARY_DIR}) add_custom_target(logs_symlink DEPENDS ${PX4_BINARY_DIR}/logs) +add_dependencies(px4 logs_symlink) + add_custom_target(run_config COMMAND Tools/sitl_run.sh $<TARGET_FILE:px4>