Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add ros2 multicast commands #145

Merged
merged 4 commits into from
Aug 31, 2018
Merged

add ros2 multicast commands #145

merged 4 commits into from
Aug 31, 2018

Conversation

dirk-thomas
Copy link
Member

@dirk-thomas dirk-thomas commented Aug 29, 2018

The multicast command contains two verbs:

  • receive waiting for a single UDP multicast packet
  • send sending a single UDP multicast packet

The tool can be used to check if multicast UDP packets are passed between two endpoints.

This package uses a setup.cfg file and therefore requires colcon/colcon-ros#38 (only when using --symlink-install).

@dirk-thomas dirk-thomas added enhancement New feature or request in review Waiting for review (Kanban column) labels Aug 29, 2018
@dirk-thomas dirk-thomas self-assigned this Aug 29, 2018
Copy link
Member

@mjcarroll mjcarroll left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I additionally tested this on the Ubiquity setup here at the coworking space with one computer on wifi and one wired and verified that multicast works on my network.

@dirk-thomas
Copy link
Member Author

@mjcarroll Thanks for the review. In order to be mergable the referenced PR needs to be reviewed and merged though.

@dirk-thomas
Copy link
Member Author

dirk-thomas commented Aug 30, 2018

As it turned out Windows didn't like the multicast group 224.0.0.1. Any attempt to use it resulted in a "socket operation was attempted to an unreachable host" 😟 Well, 225.0.0.1 it is: 5e17714

Along the way I made sure that the sockets are always closed, the multicast membership is dropped and the sender address is shown on the receiving side. I tried it successfully between one of the Windows nodes and my machine 🎉

  • Linux Build Status
  • Linux-aarch64 Build Status
    • The new compiler warnings are coming from the Python package typed-ast - the latest release is over a year ago which makes it weird that it failed on this build
    • Worked around by not listing the additional tests_require in the setup.cfg since we anyhow rely on the package manifest: Build Status
  • macOS Build Status
  • Windows Build Status
    • The new compiler warning on Windows is coming from the recent release of the Python package wrapt. The bug has already been addressed upstream (GrahamDumpleton/wrapt@7bd955d).
    • Worked around by not listing the additional tests_require in the setup.cfg since we anyhow rely on the package manifest: Build Status

@dirk-thomas dirk-thomas merged commit 1318281 into master Aug 31, 2018
@dirk-thomas dirk-thomas deleted the ros2multicast branch August 31, 2018 16:18
@dirk-thomas dirk-thomas removed the in review Waiting for review (Kanban column) label Aug 31, 2018
esteve pushed a commit to esteve/ros2cli that referenced this pull request Dec 16, 2022
* Add LaunchLogger class

Supports logging messages from multiple processes and modules to the screen, a common log file, or both.
LaunchLogger is a singleton and when it is first instantiated a log file is created of the form 'DATETIME-launch-HOSTNAME-PID.log'.
Messages sent to the screen or the log file will have the format 'TIME [LEVEL] NAME: MESSAGE'.

* Add different formats for log and screen in launch logger

The timestamp in the screen format is optional.

* Use LoggerLevel.INFO instead of logging.INFO

* Fixup 'screen' logging logic

Also extends LaunchLogger interface.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Refactors launch logging.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Preconfigures launch.logging loggers.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Addresses peer review comments.

- Fix style and documentation issues.
- Removes dangling TODO.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* style and documentation fixups

Signed-off-by: William Woodall <william@osrfoundation.org>

* fix name shadowing (mypy complained)

Signed-off-by: William Woodall <william@osrfoundation.org>

* Replace capfd with capsys in launch.logging tests.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Integrate LaunchLogger in launch

Replacing usage of the Python logging module with the new LaunchLogger.

* Integrate LaunchLogger in launch_ros

Also, removed unecessary logging logic.

* Clean up LaunchLogger integration with launch

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Refactor launch logging integration.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Switch to non-relative launch.logging imports.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Turn ExecuteProcess output_prefix into an output_format.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Convert launch logging API names to snake case.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Minor fixes after rebase.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
esteve pushed a commit to esteve/ros2cli that referenced this pull request Dec 16, 2022
* Fix test_node_frontend

Fix ros2#145

1. Make test names more intelligible by not parameterizing on a crazy long string
2. Don't leak StringIO objects
Signed-off-by: Dan Rose <dan@digilabs.io>

* Some renamings and perform the same fixes on test_push_ros_namespace_frontend

Signed-off-by: Dan Rose <dan@digilabs.io>

* Remove incorrect docstring

Signed-off-by: Dan Rose <dan@digilabs.io>

* Add copyright for files with contributions

Signed-off-by: Dan Rose <dan@digilabs.io>

* Fix formatting

Signed-off-by: Dan Rose <dan@digilabs.io>

* Fix copyrights

Signed-off-by: Dan Rose <dan@digilabs.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants