micro-ROS / micro-ROS/micro_ros_espidf_component

Add custom ros message to micro_ros_espidf_component help

Abierto
#310 2 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
C
Estrellas
419
Forks
124
Merge medio
21 h 35 min
PR fusionados (30 d)
3

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con libmicroros.mk y los archivos de componente y main CMakeLists.txt mencionados en la issue; rastrea cómo se clona micro_ros_msgs y cómo entran los paquetes de mensajes en libmicroros.a. Reproduce la configuración local del componente con un directorio .msg personalizado, documenta después la estructura de proyecto compatible y verifica que el mensaje generado se incluya en la compilación de ESP-IDF.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c, cmake
Área
build-system, documentation, embedded-iot
Tipo de issue
Documentación
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.