Fixposition SDK 0.0.0-heads/main-0-g75e6614
Collection of c++ libraries and apps for use with Fixposition products on Linux
Loading...
Searching...
No Matches
fpsdk::common::ros2::BagWriter Class Reference

ROS2 bag writer helper. More...

#include <ros2.hpp>

Public Member Functions

bool Open (const std::string &path, const bool mcap=false, const int compress=0)
 Open bag for writing.
void Close ()
 Close bag.
template<typename T>
bool WriteMessage (const T &msg, const std::string &topic, const rclcpp::Time &time)
 Write a message to the bag.
template<typename T>
bool WriteMessage (const T &msg, const std::string &topic, const common::time::RosTime &time)
 Write a message to the bag.
void AddMsgDef (const common::fpl::RosMsgDef &rosmsgdef)
 Add ROS message definition from .fpl.
bool WriteMessage (const common::fpl::RosMsgBin &rosmsgbin)
 Write message from .fpl.

Detailed Description

ROS2 bag writer helper.

Definition at line 99 of file ros2.hpp.

Member Function Documentation

◆ Open()

bool fpsdk::common::ros2::BagWriter::Open ( const std::string & path,
const bool mcap = false,
const int compress = 0 )

Open bag for writing.

Parameters
[in]pathPath of the bag directory
[in]mcapUse mcap instead of sqlite3 format
[in]compressCompress bag more (only with mcap = true), 0 = zstd_small, >=1 = zstd_fast, ignored with mcap = false
Returns
true if bag was sucessfully opened

◆ WriteMessage() [1/3]

template<typename T>
bool fpsdk::common::ros2::BagWriter::WriteMessage ( const T & msg,
const std::string & topic,
const rclcpp::Time & time )
inline

Write a message to the bag.

Template Parameters
TROS message type
Parameters
[in]msgThe message
[in]topicTopic name
[in]timeBag record time
Returns
true if message was added, false otherwise (message definition missing)

Definition at line 133 of file ros2.hpp.

References WARNING.

Referenced by WriteMessage().

◆ WriteMessage() [2/3]

template<typename T>
bool fpsdk::common::ros2::BagWriter::WriteMessage ( const T & msg,
const std::string & topic,
const common::time::RosTime & time )
inline

Write a message to the bag.

Template Parameters
TROS message type
Parameters
[in]msgThe message
[in]topicTopic name
[in]timeBag record time

Definition at line 156 of file ros2.hpp.

References WriteMessage().

◆ AddMsgDef()

void fpsdk::common::ros2::BagWriter::AddMsgDef ( const common::fpl::RosMsgDef & rosmsgdef)

Add ROS message definition from .fpl.

Note
No checks on the provided data are done!
Parameters
[in]rosmsgdefThe message definition

◆ WriteMessage() [3/3]

bool fpsdk::common::ros2::BagWriter::WriteMessage ( const common::fpl::RosMsgBin & rosmsgbin)

Write message from .fpl.

Note
No checks on the provided data are done!
Parameters
[in]rosmsgbinThe recorded message
Returns
true if message was added, false otherwise (e.g. ROS1->ROS2 conversion not implemented)

The documentation for this class was generated from the following file:
  • fpsdk_common/include/fpsdk_common/ros2.hpp