Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docker/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,13 @@ function do_step
echo "----- $func: ${TITLES[$func]} -----"
((NSTEPS=${NSTEPS} + 1))

set -x
if ! ${func}; then
res=1
((ERROR_COUNT=${ERROR_COUNT} + 1))
ERROR_NAMES="${ERROR_NAMES} ${func}"
fi
set +x

echo "::endgroup::"
if [ ${res} -ne 0 ]; then
Expand Down
5 changes: 5 additions & 0 deletions examples/ros2_fpsdk_demo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ find_package(std_msgs REQUIRED)
find_package(fpsdk_common REQUIRED)
find_package(fpsdk_ros2 REQUIRED)
find_package(rosbag2_cpp REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(tf2_msgs REQUIRED)
find_package(nav_msgs REQUIRED)


# include_directories(include ${rclcpp_INCLUDE_DIRS} ${rmw_INCLUDE_DIRS} ${fpsdk_common_INCLUDE_DIRS})

Expand Down
6 changes: 6 additions & 0 deletions fpsdk_apps/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,13 @@ if(FPSDK_USE_ROS1)
add_compile_definitions(FPSDK_USE_ROS1)
elseif(FPSDK_USE_ROS2)
add_compile_definitions(FPSDK_USE_ROS2)
# Why necessary, what are we doing wrong? See fpsdk_ros2/CMakeLists.txt
find_package(rosbag2_cpp REQUIRED)
find_package(std_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(geometry_msgs REQUIRED)
find_package(tf2_msgs REQUIRED)
find_package(nav_msgs REQUIRED)
if(NOT TARGET fpsdk_ros2)
find_package(fpsdk_ros2 REQUIRED)
endif()
Expand Down
4 changes: 2 additions & 2 deletions fpsdk_apps/fpltool/fpltool_extract.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -218,10 +218,10 @@ bool DoExtract(const FplToolOptions& opts)
!output.WriteStreamMsg(JSONL_NAME, streammsg, parsermsg_helper.GetParserMsg(true))) {
ok = false;
}
#if defined(FPSDK_USE_ROS1) // || defined(FPSDK_USE_ROS2) // @todo implement for ROS2, s.a. fpltools_utils.hpp
#if defined(FPSDK_USE_ROS1) || defined(FPSDK_USE_ROS2)
if (doRos) {
bag.WriteMessage(parsermsg_helper.GetRosMsg(), "/" + streammsg.stream_name_ + "/raw",
streammsg.rec_time_);
parsermsg_helper.GetRosStamp());
}
#endif
} else {
Expand Down
48 changes: 13 additions & 35 deletions fpsdk_apps/fpltool/fpltool_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@
#include <fpsdk_common/to_json/ros1.hpp>
#include <fpsdk_common/to_json/time.hpp>
#include <fpsdk_common/types.hpp>
#if defined(FPSDK_USE_ROS1)
# include <fpsdk_ros1/msgs.hpp>
#endif

/* PACKAGE */
#include "fpltool_utils.hpp"
Expand Down Expand Up @@ -137,6 +134,9 @@ OutputFile* OutputFileHelper::GetOutputFile(const std::string& name)

ParserMsgHelper::ParserMsgHelper()
{
#if defined(FPSDK_USE_ROS1) || defined(FPSDK_USE_ROS2)
rosmsg_.layout.dim.resize(1);
#endif
}
ParserMsgHelper::~ParserMsgHelper()
{
Expand All @@ -158,27 +158,16 @@ void ParserMsgHelper::UpdateParserMsg(const common::fpl::StreamMsg& streammsg)
}
msg_.seq_ = seq->second++;

#if defined(FPSDK_USE_ROS1)
rosmsg_.stamp = { streammsg.rec_time_.sec_, streammsg.rec_time_.nsec_ };
rosmsg_.name = msg_.name_;
rosmsg_.seq++;
rosmsg_.data = msg_.data_;
switch (msg_.proto_) { // clang-format off
case Protocol::FP_A: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_FP_A; break;
case Protocol::FP_B: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_FP_B; break;
case Protocol::NMEA: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_NMEA; break;
case Protocol::UBX: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_UBX; break;
case Protocol::RTCM3: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_RTCM3; break;
case Protocol::UNI_B: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_UNI_B; break;
case Protocol::NOV_B: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_NOV_B; break;
case Protocol::SPARTN: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_SPARTN; break;
case Protocol::SBF: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_SBF; break;
case Protocol::QGC: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_QGC; break;
case Protocol::OTHER:
default: rosmsg_.protocol = fpsdk_ros1::ParserMsg::PROTOCOL_OTHER; break;
} // clang-format on
#elif defined(FPSDK_USE_ROS2)
// @todo implement for ROS2
#if defined(FPSDK_USE_ROS1) || defined(FPSDK_USE_ROS2)
rosmsg_.layout.dim[0].label = msg_.name_;
rosmsg_.layout.dim[0].size = msg_.data_.size();
rosmsg_.layout.dim[0].stride = msg_.data_.size();
rosmsg_.data = { msg_.data_.data(), msg_.data_.data() + msg_.data_.size() };
# if defined(FPSDK_USE_ROS1)
stamp_ = { streammsg.rec_time_.sec_, streammsg.rec_time_.nsec_ };
# else
stamp_ = { (int)streammsg.rec_time_.sec_, streammsg.rec_time_.nsec_, RCL_ROS_TIME };
# endif
#endif
}

Expand All @@ -190,17 +179,6 @@ const ParserMsg& ParserMsgHelper::GetParserMsg(const bool make_info) const
return msg_;
}

#if defined(FPSDK_USE_ROS1)
const fpsdk_ros1::ParserMsg& ParserMsgHelper::GetRosMsg()
{
msg_.MakeInfo();
rosmsg_.info = msg_.info_;
return rosmsg_;
}
#elif defined(FPSDK_USE_ROS2)
// @todo implement for ROS2
#endif

// ---------------------------------------------------------------------------------------------------------------------

RosMsgHelper::RosMsgHelper()
Expand Down
37 changes: 30 additions & 7 deletions fpsdk_apps/fpltool/fpltool_utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,18 @@

/* EXTERNAL */
#include <nlohmann/json.hpp>
#if defined(FPSDK_USE_ROS1)
# include <fpsdk_ros1/ext/ros_msgs.hpp>
#elif defined(FPSDK_USE_ROS2)
# include <fpsdk_ros2/ext/msgs.hpp>
# include <fpsdk_ros2/ext/rclcpp.hpp>
#endif

/* Fixposition SDK */
#include <fpsdk_common/fpl.hpp>
#include <fpsdk_common/parser.hpp>
#include <fpsdk_common/path.hpp>
#include <fpsdk_common/time.hpp>
#if defined(FPSDK_USE_ROS1)
# include <fpsdk_ros1/msgs.hpp>
#endif

/* PACKAGE */
#include "fpltool_opts.hpp"
Expand Down Expand Up @@ -66,16 +69,36 @@ class ParserMsgHelper
~ParserMsgHelper();
void UpdateParserMsg(const common::fpl::StreamMsg& streammsg);
const common::parser::ParserMsg& GetParserMsg(const bool make_info = false) const;
#if defined(FPSDK_USE_ROS1) // || defined(FPSDK_USE_ROS2) // @todo implement for ROS2
const fpsdk_ros1::ParserMsg& GetRosMsg();
#if defined(FPSDK_USE_ROS1)
const std_msgs::ByteMultiArray& GetRosMsg() const
{
return rosmsg_;
}
const ros::Time& GetRosStamp() const
{
return stamp_;
}
#elif defined(FPSDK_USE_ROS2)
const std_msgs::msg::ByteMultiArray& GetRosMsg() const
{
return rosmsg_;
}
const rclcpp::Time& GetRosStamp() const
{
return stamp_;
}
#endif

private:
common::parser::Parser parser_;
common::parser::ParserMsg msg_;
std::map<std::string, uint64_t> seq_;
#if defined(FPSDK_USE_ROS1) // || defined(FPSDK_USE_ROS2) // @todo implement for ROS2
fpsdk_ros1::ParserMsg rosmsg_;
#if defined(FPSDK_USE_ROS1)
std_msgs::ByteMultiArray rosmsg_;
ros::Time stamp_;
#elif defined(FPSDK_USE_ROS2)
std_msgs::msg::ByteMultiArray rosmsg_;
rclcpp::Time stamp_;
#endif
};

Expand Down
14 changes: 0 additions & 14 deletions fpsdk_ros1/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,30 +45,17 @@ fpsdk_cmake_find_ros1_package(geometry_msgs)
fpsdk_cmake_find_ros1_package(tf2_msgs)
fpsdk_cmake_find_ros1_package(nav_msgs)
fpsdk_cmake_find_ros1_package(topic_tools)
fpsdk_cmake_find_ros1_package(genmsg)


# MESSAGES =============================================================================================================

file(GLOB MSG_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} msg/*.msg)

# /opt/ros/noetic/share/genmsg/cmake/genmsg-extras.cmake
add_message_files(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} FILES ${MSG_FILES})
generate_messages(LANGS gencpp genpy) # DEPENDENCIES std_msgs sensor_msgs)


# SHARED LIBRARY =======================================================================================================

file(GLOB CPP_FILES src/*.cpp)
add_library(${PROJECT_NAME} SHARED ${CPP_FILES})

add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_generate_messages)

target_include_directories(${PROJECT_NAME}
PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../devel/include> # generate_message() puts them here
)

target_link_libraries(${PROJECT_NAME}
Expand Down Expand Up @@ -163,7 +150,6 @@ install(
include(../fpsdk_common/cmake/testing.cmake)

add_gtest(TARGET bagwriter_test SOURCES test/bagwriter_test.cpp LINK_LIBS ${PROJECT_NAME} ros1::rosconsole ros1::rosbag)
add_gtest(TARGET msgs_test SOURCES test/msgs_test.cpp LINK_LIBS ${PROJECT_NAME} ros1::rosconsole)
add_gtest(TARGET utils_test SOURCES test/utils_test.cpp LINK_LIBS ${PROJECT_NAME} ros1::rosconsole)


Expand Down
3 changes: 1 addition & 2 deletions fpsdk_ros1/include/fpsdk_ros1/ext/ros_msgs.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
#pragma GCC diagnostic ignored "-Wpedantic"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wshadow"
#include <fpsdk_ros1/ParserMsg.h>
#include <std_msgs/ByteMultiArray.h>
#include <std_msgs/String.h>
#include <std_msgs/UInt8MultiArray.h>
#pragma GCC diagnostic pop
#endif // __FPSDK_ROS1_EXT_ROS_MSGS_HPP__
66 changes: 0 additions & 66 deletions fpsdk_ros1/include/fpsdk_ros1/msgs.hpp

This file was deleted.

25 changes: 0 additions & 25 deletions fpsdk_ros1/msg/ParserMsg.msg

This file was deleted.

54 changes: 0 additions & 54 deletions fpsdk_ros1/test/msgs_test.cpp

This file was deleted.

Loading
Loading