micro-ROS / micro-ROS/micro_ros_espidf_component

Add custom ros message to micro_ros_espidf_component help

Offen
#310 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
C
Sterne
419
Forks
124
Ø Merge
21 Std. 35 Min.
Gemergte PRs (30 T.)
3

Beschreibung

Hi, my project uses micro_ros_espidf_component which works fine with standard int32 messages, but we would like to use a custom message. To be fair I am not an expert in either cmake build system or esp-idf framework.

Our project looks like this:
```
- ourProject/
- CMakeLists.txt
- sdkconfig
- components/
- micro_ros_espidf_component // copy of repo, revision jazzy
- main/
- CMakeLists.txt
- main.c
- idf_component.yml // micro_ros_espidf_component listed as repo dependency
- build/
```
As far as my troubleshooting goes, my attempts to add a `components/msgs` subdirectory have failed and I have since realised that the custom message(s) need to be part of the `micro_ros_espidf_component` itself so they are compiled into `libmicroros.a`.

* My approach is to copy `micro_ros_espidf_component` into a new `components` directory. Then `main/idf_component.yml` lists this as a local directory dependency rather than previously a repo dependency
* the msgs components are not part of `micro_ros_espidf_component` instead `micro_ros_espidf_component/libmicroros.mk` does `git clone https://github.com/micro-ROS/micro_ros_msgs`.
* THE BIG QUESTION What do I need to do here to add a custom message directory which is then picked up and compiled into `libmicroros.a`?
* Ideally I would like to add a MyCustomMessage in a `myrepo/components/msgs/MyCustomMessage.msg` file along the pattern of [this video](https://www.youtube.com/watch?v=E_xBPI8SQig)

Any help is appreciated.

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 mit libmicroros.mk sowie den in der Issue genannten Komponenten- und main CMakeLists.txt-Dateien; verfolge, wie micro_ros_msgs geklont wird und wie Nachrichtenpakete in libmicroros.a gelangen. Reproduziere die lokale Komponenteneinrichtung mit einem benutzerdefinierten .msg-Verzeichnis, dokumentiere anschließend das unterstützte Projektlayout und überprüfe, dass die generierte Nachricht in den ESP-IDF-Build aufgenommen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
c, cmake
Bereich
build-system, documentation, embedded-iot
Issue-Typ
Dokumentation
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.