From 7f112ad4ffcdeee15c5b15a9c472d13ebc2fa7a4 Mon Sep 17 00:00:00 2001 From: winterhalderp Date: Mon, 19 Apr 2021 17:28:43 +0200 Subject: [PATCH] Update 'non-ros-files/Programming_Rules.md' --- non-ros-files/Programming_Rules.md | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/non-ros-files/Programming_Rules.md b/non-ros-files/Programming_Rules.md index de2ecc1..f84f56c 100644 --- a/non-ros-files/Programming_Rules.md +++ b/non-ros-files/Programming_Rules.md @@ -1,4 +1,4 @@ -# Rules for programming Python in ROS2 +# Rules for programming with Python in ROS2 ## File Structure ``` colcon_workspace @@ -8,12 +8,12 @@ colcon_workspace |- src (contains your source code - this is where you work) ``` -## Colcon build +## Colcon Build Performing a `colcon build` is neccessary after every change to the `src` directory. This must be performed in the `root` of the _colcon_ workspace (eg. `cd ~/colcon_ws`). In order to avoid this procedure after every change made to a Python script you must run `colcon build --symlink-install` once. This links the files created in `/build` and `/install` to your source files in `/src`. However, after creating a new Python script this procedure must be repeated in order to also link this new script. -## Source directory +## Source Directory The source directory holds your ROS2 packages as further directories. In this example the `src` directory contains the packages `pubsub` and `pubsub_msg`: ``` colcon_workspace/ @@ -22,4 +22,19 @@ colcon_workspace/ | |- pubsub/ |- pubsub_msg/ -``` \ No newline at end of file +``` + +## setup.py +The file `//setup.py` defines how to call your scripts using the command line. This results in commands such as +`ros2 run pubsub talker` +`ros2 run pubsub listener`. +This is done by linking the names _talker_ and _listener_ to the Python scripts of your choice, eg. +```python +entry_points={ + 'console_scripts': [ + 'talker = pubsub.talker:main', + 'listener = pubsub.listener:main' + ], +}, +``` +