motoman_write_single_io_message.cpp
Go to the documentation of this file.
1 /*
2  * Software License Agreement (BSD License)
3  *
4  * Copyright (c) 2016, Delft Robotics 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 Delft Robotics 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  * \author G.A. vd. Hoorn (TU Delft Robotics Institute)
32  */
33 
34 #ifdef ROS
38 #endif
39 
40 #ifdef MOTOPLUS
41 #include "motoman_write_single_io_message.h" // NOLINT(build/include)
42 #include "byte_array.h" // NOLINT(build/include)
43 #include "log_wrapper.h" // NOLINT(build/include)
44 #endif
45 
49 
50 namespace motoman
51 {
52 namespace simple_message
53 {
54 namespace io_ctrl_message
55 {
57 {
58  this->init();
59 }
60 
62 {
63 }
64 
66 {
67  ByteArray data = msg.getData();
68  this->init();
69 
70  if (!data.unload(this->cmd_))
71  {
72  LOG_ERROR("Failed to unload WriteSingleIO data");
73  return false;
74  }
75 
76  return true;
77 }
78 
80 {
81  this->init();
82  this->cmd_.copyFrom(cmd);
83 }
84 
86 {
88  this->cmd_.init();
89 }
90 
92 {
93  LOG_COMM("Executing WriteSingleIO message load");
94  if (!buffer->load(this->cmd_))
95  {
96  LOG_ERROR("Failed to load WriteSingleIO message");
97  return false;
98  }
99 
100  return true;
101 }
102 
104 {
105  LOG_COMM("Executing WriteSingleIO message unload");
106 
107  if (!buffer->unload(this->cmd_))
108  {
109  LOG_ERROR("Failed to unload WriteSingleIO message");
110  return false;
111  }
112 
113  return true;
114 }
115 
116 } // namespace io_ctrl_message
117 } // namespace simple_message
118 } // namespace motoman
119 
void setMessageType(int message_type=industrial::simple_message::StandardMsgTypes::INVALID)
void init()
Initializes a empty write single io command.
Class encapsulated write single io data. Motoman specific interface to write a single IO element on t...
#define LOG_COMM(format,...)
bool load(industrial::shared_types::shared_bool value)
#define LOG_ERROR(format,...)
void copyFrom(WriteSingleIO &src)
Copies the passed in value.
float data[ROS_MAX_JOINT]
industrial::byte_array::ByteArray & getData()
bool unload(industrial::shared_types::shared_bool &value)


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:44