micro-ROS / micro-ROS/rmw_microxrcedds

How to serialize/deserialize message

Offen
#307 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C
Sterne
47
Forks
36
Ø Merge
2 T. 19 Std.
Gemergte PRs (30 T.)
6

Beschreibung

Hi,

We are working on a solution which utilizes micro-ROS. Currently we do not want to use any publishers, subsribers etc. but only messages serialization and deserialization.

The idea is to serialize ROS 2 message e.g. `std_msgs/msg/Float32` on the board, send it (but not using ROS 2 or micro-ROS) and deserialize on the other side using `rclcpp::Serialization`.

I explored the codebase and found function which is responsible for publishing the data ([rmw_publish](https://github.com/micro-ROS/rmw_microxrcedds/blob/iron/rmw_microxrcedds_c/src/rmw_publish.c#L32)).

There is the logic for something which resemble serialization but I could not figure out how to extract it and use as standalone function.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne bei rmw_microxrcedds_c/src/rmw_publish.c#L32 und dem im Issue erwähnten Aufruf rclcpp::Serialization. Verfolge, wie eine std_msgs/msg/Float32-Nachricht serialisiert wird und was die empfangende Seite erwartet, und prüfe anschließend, ob ein eigenständiger Pfad verfügbar ist. Der Abschluss sollte klar die aufrufbaren Einstiegspunkte oder das fehlende Teilstück erklären, das für die Serialisierung ohne Publisher oder Subscriber erforderlich ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, cpp
Bereich
embedded-iot
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.