-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add ability to debug from VSCode; added docs as well (#106)
Also print args to bws
- Loading branch information
1 parent
2221061
commit d2cd489
Showing
19 changed files
with
155 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,37 @@ | ||
{ | ||
"configurations": [ | ||
{ | ||
"name": "Linux", | ||
"includePath": ["${workspaceFolder}/ros_ws/**", "/opt/ros/humble/include/**"], | ||
"defines": [], | ||
"compilerPath": "/usr/bin/gcc", | ||
"cStandard": "c11", | ||
"cppStandard": "c++17", | ||
"intelliSenseMode": "clang-x64" | ||
} | ||
], | ||
"version": 4 | ||
} | ||
|
||
"configurations": [ | ||
{ | ||
"browse": { | ||
"databaseFilename": "${default}", | ||
"limitSymbolsToIncludedHeaders": false | ||
}, | ||
"includePath": [ | ||
"/root/AirStack/ros_ws/install/vdb_mapping_interfaces/include/**", | ||
"/root/AirStack/ros_ws/install/trajectory_library/include/**", | ||
"/root/AirStack/ros_ws/install/mavros_interface/include/**", | ||
"/root/AirStack/ros_ws/install/robot_interface/include/**", | ||
"/root/AirStack/ros_ws/install/px4_msgs/include/**", | ||
"/root/AirStack/ros_ws/install/mav_system_msgs/include/**", | ||
"/root/AirStack/ros_ws/install/mav_state_machine_msgs/include/**", | ||
"/root/AirStack/ros_ws/install/mav_planning_msgs/include/**", | ||
"/root/AirStack/ros_ws/install/mav_msgs/include/**", | ||
"/root/AirStack/ros_ws/install/disparity_map_representation/include/**", | ||
"/root/AirStack/ros_ws/install/map_representation_interface/include/**", | ||
"/root/AirStack/ros_ws/install/disparity_graph/include/**", | ||
"/root/AirStack/ros_ws/install/behavior_tree/include/**", | ||
"/root/AirStack/ros_ws/install/behavior_tree_msgs/include/**", | ||
"/root/AirStack/ros_ws/install/airstack_common/include/**", | ||
"/root/AirStack/ros_ws/install/airstack_msgs/include/**", | ||
"/opt/ros/humble/include/**", | ||
"/usr/include/**", | ||
"/root/AirStack/ros_ws/src/**" | ||
], | ||
"name": "ROS", | ||
"intelliSenseMode": "gcc-x64", | ||
"compilerPath": "/usr/bin/gcc", | ||
"cStandard": "gnu11", | ||
"cppStandard": "c++14" | ||
} | ||
], | ||
"version": 4 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,9 @@ | ||
{ | ||
"recommendations": [ | ||
"ms-python.black-formatter", | ||
"ms-iot.vscode-ros", | ||
"ms-vscode-remote.remote-ssh", | ||
"ms-python.python", | ||
"ms-vscode-remote.remote-containers" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
{ | ||
"version": "0.2.0", | ||
"configurations": [ | ||
{ | ||
"name": "ROS2: Launch robot.launch.py", | ||
"type": "ros", | ||
"request": "launch", | ||
"target": "${workspaceFolder}/ros_ws/install/robot_bringup/share/robot_bringup/launch/robot.launch.xml", | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
|
||
[bookmarks] | ||
"AirLab Nucleus Server" = "omniverse://airlab-storage.andrew.cmu.edu:8443" | ||
"AirStack" = "omniverse://airlab-storage.andrew.cmu.edu:8443/Projects/AirStack/" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# CI/CD Pipeline |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Integration Testing |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
# Testing Frameworks |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# VS Code: Docker Integration and Debugger Setup | ||
|
||
Start containers | ||
```bash | ||
# optionally pass the --scale robot=N argument to start N robots | ||
dc compose up -d # --scale robot=2 | ||
``` | ||
|
||
Open AirStack folder | ||
|
||
```bash | ||
cd AirStack | ||
code . | ||
``` | ||
|
||
Install the ["Dev Containers" extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). | ||
|
||
Now click the "Remote Explorer" icon on the left side bar, hover over a robot container, and attach to the container. | ||
|
||
![attach_container](attach_container.png) | ||
|
||
Install recommended extensions within the image. This installs the `ROS`, `C++`, and `Python` extensions in the container. | ||
![extensions.png](extensions.png) | ||
|
||
## Build ROS Workspace | ||
Hit `Ctrl-Shift-B` to build the project. This is a shortcut for `bws --cmake-args '-DCMAKE_BUILD_TYPE=Debug'`, which adds debug symbols to the build. | ||
|
||
Build tasks are defined in `.vscode/tasks.json`. | ||
|
||
|
||
## Launch | ||
|
||
Hit `F5` to launch `robot.launch.xml`, or click the "Run and Debug" button on the left side of the screen and click the green play button. | ||
|
||
Launch tasks are defined in `.vscode/launch.json`. | ||
|
||
![launch](launch.png) | ||
|
||
You can now set breakpoints and debug as usual in VSCode. | ||
|
||
|
||
!!! warning "Warning about file permissions" | ||
|
||
Folders and files created within the attached docker container will be owned by root. This can cause issues when trying to edit files from the host machine, especially when using git to switch branches. | ||
If you accidentally create files as root, you can change the owner to your user with the following command: | ||
```bash | ||
sudo chown -R $USER:$USER . | ||
``` |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters