motoman_read_single_io_reply.h
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 #ifndef MOTOMAN_DRIVER_SIMPLE_MESSAGE_MOTOMAN_READ_SINGLE_IO_REPLY_H
35 #define MOTOMAN_DRIVER_SIMPLE_MESSAGE_MOTOMAN_READ_SINGLE_IO_REPLY_H
36 
37 #include <string>
38 #ifdef ROS
42 #endif
43 
44 #ifdef MOTOPLUS
45 #include "simple_serialize.h" // NOLINT(build/include)
46 #include "shared_types.h" // NOLINT(build/include)
47 #include "log_wrapper.h" // NOLINT(build/include)
48 #endif
49 
50 namespace motoman
51 {
52 namespace simple_message
53 {
54 namespace io_ctrl_reply
55 {
56 
61 {
63 {
64  SUCCESS = 0,
65  READ_ADDRESS_INVALID = 1001, // The ioAddress cannot be read on this controller
66  WRITE_ADDRESS_INVALID = 1002, // The ioAddress cannot be written to on this controller
67  WRITE_VALUE_INVALID = 1003, // The value supplied is not a valid value for the addressed IO element
68  READ_API_ERROR = 1004, // mpReadIO returned -1
69  WRITE_API_ERROR = 1005, // mpWriteIO returned -1
70 };
71 } // namespace ReadSingleIOReplyResultCodes
73 
92 {
93 public:
100  ReadSingleIOReply(void);
105  ~ReadSingleIOReply(void);
106 
111  void init();
112 
118  ReadSingleIOReplyResultCode result_code);
119 
126  {
127  this->value_ = value;
128  }
129 
136  {
137  return this->value_;
138  }
139 
146  {
147  this->result_code_ = result_code;
148  }
149 
156  {
157  return this->result_code_;
158  }
159 
160  /*
161  * \brief Returns a string interpretation of a result code
162  * \param code result code
163  * \return string message associated with result code
164  */
165  static std::string getResultString(industrial::shared_types::shared_int code);
166  std::string getResultString() const
167  {
168  return getResultString(this->result_code_);
169  }
170 
171 
177  void copyFrom(ReadSingleIOReply &src);
178 
184  bool operator==(ReadSingleIOReply &rhs);
185 
186  // Overrides - SimpleSerialize
187  bool load(industrial::byte_array::ByteArray *buffer);
188  bool unload(industrial::byte_array::ByteArray *buffer);
189  unsigned int byteLength()
190  {
191  return 2 * sizeof(industrial::shared_types::shared_int);
192  }
193 
194 private:
199 
204 };
205 } // namespace io_ctrl_reply
206 } // namespace simple_message
207 } // namespace motoman
208 
209 #endif // MOTOMAN_DRIVER_SIMPLE_MESSAGE_MOTOMAN_READ_SINGLE_IO_REPLY_H
industrial::shared_types::shared_int getResultCode() const
Returns the result code.
industrial::shared_types::shared_int getValue() const
Returns the value.
UINT32 value
industrial::shared_types::shared_int result_code_
The result code.
Class encapsulated read single io reply data. These messages are sent by the FS100 controller in resp...
industrial::shared_types::shared_int value_
The value.
void setValue(industrial::shared_types::shared_int value)
Sets value.
bool operator==(const Rotation &a, const Rotation &b)
void setResultCode(industrial::shared_types::shared_int result_code)
Sets the result code.


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