motoman_motion_ctrl_message.cpp
Go to the documentation of this file.
1 /*
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2013, Southwest Research Institute
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * * Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  * * Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in the
14  * documentation and/or other materials provided with the distribution.
15  * * Neither the name of the Southwest Research Institute, nor the names
16  * of its contributors may be used to endorse or promote products derived
17  * from this software without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
23  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 #ifdef ROS
36 #endif
37 
38 #ifdef MOTOPLUS
39 #include "motoman_motion_ctrl_message.h" // NOLINT(build/include)
40 #include "byte_array.h" // NOLINT(build/include)
41 #include "log_wrapper.h" // NOLINT(build/include)
42 #endif
43 
47 
48 namespace motoman
49 {
50 namespace simple_message
51 {
52 namespace motion_ctrl_message
53 {
55 {
56  this->init();
57 }
58 
60 {
61 }
62 
64 {
65  ByteArray data = msg.getData();
66  this->init();
67 
68  if (!data.unload(this->cmd_))
69  {
70  LOG_ERROR("Failed to unload MotionCtrl data");
71  return false;
72  }
73 
74  return true;
75 }
76 
78 {
79  this->init();
80  this->cmd_.copyFrom(cmd);
81 }
82 
84 {
86  this->cmd_.init();
87 }
88 
90 {
91  LOG_COMM("Executing MotionCtrl message load");
92  if (!buffer->load(this->cmd_))
93  {
94  LOG_ERROR("Failed to load MotionCtrl message");
95  return false;
96  }
97 
98  return true;
99 }
100 
102 {
103  LOG_COMM("Executing MotionCtrl message unload");
104 
105  if (!buffer->unload(this->cmd_))
106  {
107  LOG_ERROR("Failed to unload MotionCtrl message");
108  return false;
109  }
110 
111  return true;
112 }
113 
114 } // namespace motion_ctrl_message
115 } // namespace simple_message
116 } // namespace motoman
117 
void setMessageType(int message_type=industrial::simple_message::StandardMsgTypes::INVALID)
#define LOG_COMM(format,...)
bool load(industrial::shared_types::shared_bool value)
#define LOG_ERROR(format,...)
float data[ROS_MAX_JOINT]
industrial::byte_array::ByteArray & getData()
void init()
Initializes a empty motion control command.
bool unload(industrial::shared_types::shared_bool &value)
void copyFrom(MotionCtrl &src)
Copies the passed in value.
Class encapsulated motion control data. These control messages are required to download command-traje...


motoman_driver
Author(s): Jeremy Zoss (Southwest Research Institute), Ted Miller (MotoROS) (Yaskawa Motoman), Eric Marcil (MotoROS) (Yaskawa Motoman)
autogenerated on Sat May 8 2021 02:27:43