micro-ROS / micro-ROS/micro_ros_espidf_component

Add custom ros message to micro_ros_espidf_component help

Aperta
#310 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
C
Stelle
419
Fork
124
Merge medio
21h 35m
PR unite (30g)
3

Descrizione

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

Any help is appreciated.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia con libmicroros.mk e con i file del componente e main CMakeLists.txt menzionati nella issue; traccia come viene clonato micro_ros_msgs e come i pacchetti di messaggi entrano in libmicroros.a. Riproduci la configurazione locale del componente con una directory .msg personalizzata, quindi documenta la struttura di progetto supportata e verifica che il messaggio generato sia incluso nella build di ESP-IDF.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, cmake
Ambito
build-system, documentation, embedded-iot
Tipo di issue
Documentazione
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.