motoman_read_single_io.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_read_single_io.h" // NOLINT(build/include)
42 #include "shared_types.h" // NOLINT(build/include)
43 #include "log_wrapper.h" // NOLINT(build/include)
44 #endif
45 
47 
48 namespace motoman
49 {
50 namespace simple_message
51 {
52 namespace io_ctrl
53 {
55 {
56  this->init();
57 }
59 {
60 }
61 
63 {
64  // TODO( ): is '0' a good initial value?
65  this->init(0);
66 }
67 
69 {
70  this->setAddress(address);
71 }
72 
74 {
75  this->setAddress(src.getAddress());
76 }
77 
79 {
80  bool rslt = this->address_ == rhs.address_;
81 
82  return rslt;
83 }
84 
86 {
87  LOG_COMM("Executing ReadSingleIO command load");
88 
89  if (!buffer->load(this->address_))
90  {
91  LOG_ERROR("Failed to load ReadSingleIO address");
92  return false;
93  }
94 
95  LOG_COMM("ReadSingleIO data successfully loaded");
96  return true;
97 }
98 
100 {
101  LOG_COMM("Executing ReadSingleIO command unload");
102 
103  if (!buffer->unload(this->address_))
104  {
105  LOG_ERROR("Failed to unload ReadSingleIO address");
106  return false;
107  }
108 
109  LOG_COMM("ReadSingleIO data successfully unloaded");
110  return true;
111 }
112 
113 } // namespace io_ctrl
114 } // namespace simple_message
115 } // namespace motoman
bool load(industrial::byte_array::ByteArray *buffer)
bool operator==(ReadSingleIO &rhs)
== operator implementation
#define LOG_COMM(format,...)
bool load(industrial::shared_types::shared_bool value)
#define LOG_ERROR(format,...)
void init()
Initializes a empty motion control command.
Class encapsulated read single io data. Motoman specific interface to read a single IO element on the...
void copyFrom(ReadSingleIO &src)
Copies the passed in value.
void setAddress(industrial::shared_types::shared_int address)
Sets address.
bool unload(industrial::byte_array::ByteArray *buffer)
bool unload(industrial::shared_types::shared_bool &value)
industrial::shared_types::shared_int address_
Address of IO element.
industrial::shared_types::shared_int getAddress()
Returns the address of the IO element.


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