micro-ROS / micro-ROS/micro-ROS-Agent
Provide branch for ROS 2 Jazzy and update GIT_TAG for xrceagent
Nessuno ha ancora preso questa issue.
- Lingua principale
- C++
- Stelle
- 201
- Fork
- 111
- Merge medio
- 1g 6h
- PR unite (30g)
- 10
Descrizione
Issue template
This is a feature request. ROS 2 Rolling and Jazzy depend on Fast-CDR 2.2.x. Version 2.4.3 of Micro-XRCE-DDS-Agent supports this but the GIT_TAG in the SuperBuild.cmake in the rolling branch refers to ros2
Steps to reproduce the issue
- Create a
colconworkspace to build this repo, and source ROS Rolling before building.
Expected behavior
- micro-ROS-Agent will build in a
colconworkspace that has sourced ROS Rolling.
Actual behavior
- micro-ROS-Agent will not build in a
colconworkspace that has sourced ROS Rolling.
Additional information
Looks like this will require code changes as well, as micro-ROS-agent will not build against the updated Fast-CDR version. For example:
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:57:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:64:54: error: no member named 'getSerializedDataLength' in 'eprosima::fastcdr::Cdr'; did you mean 'get_serialized_data_length'?
payload->length = static_cast<uint32_t>(scdr.getSerializedDataLength());
^~~~~~~~~~~~~~~~~~~~~~~
get_serialized_data_length
/Users/rhys/Code/ros2/rolling/ros2-rolling/install/fastcdr/include/fastcdr/Cdr.h:266:23: note: 'get_serialized_data_length' declared here
Cdr_DllAPI size_t get_serialized_data_length() const;
^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:80:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:149:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:156:54: error: no member named 'getSerializedDataLength' in 'eprosima::fastcdr::Cdr'; did you mean 'get_serialized_data_length'?
payload->length = static_cast<uint32_t>(scdr.getSerializedDataLength());
^~~~~~~~~~~~~~~~~~~~~~~
get_serialized_data_length
/Users/rhys/Code/ros2/rolling/ros2-rolling/install/fastcdr/include/fastcdr/Cdr.h:266:23: note: 'get_serialized_data_length' declared here
Cdr_DllAPI size_t get_serialized_data_length() const;
^
/Users/rhys/Code/ros2/rolling/ros2-ardupilot/src/micro_ros_agent/micro_ros_agent/src/agent/graph_manager/graph_typesupport.cpp:172:33: error: no member named 'DDS_CDR' in 'eprosima::fastcdr::Cdr'
eprosima::fastcdr::Cdr::DDS_CDR);
~~~~~~~~~~~~~~~~~~~~~~~~^
6 errors generated.
make[2]: *** [CMakeFiles/micro_ros_agent.dir/src/agent/graph_manager/graph_typesupport.cpp.o] Error 1
make[1]: *** [CMakeFiles/micro_ros_agent.dir/all] Error 2
This branch contains patches to fix the above issue: https://github.com/srmainwaring/micro-ROS-Agent/tree/prs/pr-rolling-fastcdr-2.2.x
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con SuperBuild.cmake nel branch rolling e ispeziona il GIT_TAG di Micro-XRCE-DDS-Agent. Riproduci il colcon build dopo aver fatto il source di ROS Rolling, quindi esamina graph_typesupport.cpp e le patch nel branch referenziato prs/pr-rolling-fastcdr-2.2.x. Il lavoro è completato quando l’agente viene compilato con Fast-CDR 2.2.x per il branch ROS 2 richiesto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- build-system, robotics
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100