micro-ROS / micro-ROS/micro-ROS-Agent

Provide branch for ROS 2 Jazzy and update GIT_TAG for xrceagent

Aberta
#223 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
C++
Estrelas
201
Forks
111
Merge médio
1d 6h
PRs com merge (30d)
10

Descrição

## Issue template

This is a feature request. ROS 2 Rolling and [Jazzy depend on Fast-CDR 2.2.x](https://raw.githubusercontent.com/ros2/ros2/jazzy/ros2.repos). [Version 2.4.3 of Micro-XRCE-DDS-Agent](https://github.com/eProsima/Micro-XRCE-DDS-Agent/tree/v2.4.3) supports this but the GIT_TAG in the SuperBuild.cmake in the `rolling` branch refers to `ros2`

#### Steps to reproduce the issue

- Create a `colcon` workspace to build this repo, and source ROS Rolling before building.

#### Expected behavior

- micro-ROS-Agent will build in a `colcon` workspace that has sourced ROS Rolling.

#### Actual behavior

- micro-ROS-Agent will not build in a `colcon` workspace 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:

```bash
/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(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(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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece com SuperBuild.cmake na branch rolling e inspecione o GIT_TAG do Micro-XRCE-DDS-Agent. Reproduza o colcon build depois de fazer o source do ROS Rolling e, em seguida, revise graph_typesupport.cpp e os patches na branch referenciada prs/pr-rolling-fastcdr-2.2.x. Está concluído quando o agente compilar com Fast-CDR 2.2.x para a branch do ROS 2 solicitada.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
cpp
Domínio
build-system, robotics
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.