美文网首页
ROS-I simple_message 源码分析:JointF

ROS-I simple_message 源码分析:JointF

作者: play_robot | 来源:发表于2019-03-21 17:06 被阅读0次

JointFeedbackMessage类封装的是JointFeedback数据类型,用途是实现与SimpleMessage的双向数据转换,给出源代码:

namespace industrial
{
namespace joint_feedback_message
{

JointFeedbackMessage::JointFeedbackMessage(void)
{
  this->init();
}

JointFeedbackMessage::~JointFeedbackMessage(void)
{

}

bool JointFeedbackMessage::init(industrial::simple_message::SimpleMessage & msg)
{
  bool rtn = false;
  ByteArray data = msg.getData();
  this->init();

  if (data.unload(this->data_))
  {
    rtn = true;
  }
  else
  {
    LOG_ERROR("Failed to unload joint feedback message data");
  }
  return rtn;
}

void JointFeedbackMessage::init(industrial::joint_feedback::JointFeedback & data)
{
  this->init();
  this->data_.copyFrom(data);
}

void JointFeedbackMessage::init()
{
  this->setMessageType(StandardMsgTypes::JOINT_FEEDBACK);
  this->data_.init();
}

bool JointFeedbackMessage::load(ByteArray *buffer)
{
  bool rtn = false;
  LOG_COMM("Executing joint feedback message load");
  if (buffer->load(this->data_))
  {
    rtn = true;
  }
  else
  {
    rtn = false;
    LOG_ERROR("Failed to load joint feedback message data");
  }
  return rtn;
}

bool JointFeedbackMessage::unload(ByteArray *buffer)
{
  bool rtn = false;
  LOG_COMM("Executing joint feedback message unload");

  if (buffer->unload(this->data_))
  {
    rtn = true;
  }
  else
  {
    rtn = false;
    LOG_ERROR("Failed to unload joint feedback message data");
  }
  return rtn;
}

}
}
  • 从SimpleMessage创建JointFeedbackMessage
bool JointFeedbackMessage::init(industrial::simple_message::SimpleMessage & msg)
{
  bool rtn = false;
  ByteArray data = msg.getData();
  this->init();

  if (data.unload(this->data_))
  {
    rtn = true;
  }
  else
  {
    LOG_ERROR("Failed to unload joint feedback message data");
  }
  return rtn;
}
  • 从SimpleMessage创建JointFeedbackMessage
(和RobotStatusMessage一样,直接在基类中实现,此处省略略)

相关文章

网友评论

      本文标题:ROS-I simple_message 源码分析:JointF

      本文链接:https://www.haomeiwen.com/subject/xkycvqtx.html