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

Adapt repo to new rules, flexible r2r messages #42

Closed
ijnek opened this issue Dec 13, 2023 · 0 comments · Fixed by #47
Closed

Adapt repo to new rules, flexible r2r messages #42

ijnek opened this issue Dec 13, 2023 · 0 comments · Fixed by #47

Comments

@ijnek
Copy link
Member

ijnek commented Dec 13, 2023

According to SPL rulebook 2023,

• The content structure of wireless team communication is not specified anymore. A team
message is now defined as any UDP packet with up to 128 B payload on the team’s assigned
UDP port (see Section 2.4.2).

This package should be adapted to provide more flexibility in allowing the user to define the struct that is set across UDP.
It is ideal to re-use the .msg format provided by ROS to define the messages sent between the robots.

A possibility is to provide a templated publisher and subscriber (ie. r2r_spl::Publisher<messageT> and r2r_spl::Subscription<messageT>), and change this package to be in the form of a templated library. The publisher and subscriber will serialize / deserialize the message type into the c-style structs generated during interface library generation (rosidl) as appropriate.

The c-structs can be found in include/<package>/<package>/msg/detail/<msg_name>__struct.h.

One drawback of the library-method is that code written in other languages won't be able to use the templated methods.

The templated function should also throw a static assert to ensure the packets are less than 128 bytes.

@ijnek ijnek changed the title Adapt repo to new rules Adapt repo to new rules, flexible r2r messages Dec 13, 2023
@ijnek ijnek mentioned this issue Dec 14, 2023
2 tasks
@ijnek ijnek closed this as completed in #47 Jan 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant