set_io.h
Go to the documentation of this file.
1 /*********************************************************************
2 * FSRobo-R Package BSDL
3 * ---------
4 * Copyright (C) 2019 FUJISOFT. All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without modification,
7 * are permitted provided that the following conditions are met:
8 * 1. Redistributions of source code must retain the above copyright notice,
9 * this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright notice,
11 * this list of conditions and the following disclaimer in the documentation and/or
12 * other materials provided with the distribution.
13 * 3. Neither the name of the copyright holder nor the names of its contributors
14 * may be used to endorse or promote products derived from this software without
15 * specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
21 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *********************************************************************/
28 
29 #ifndef FSROBO_R_DRIVER_SIMPLE_MESSAGE_SET_IO_H
30 #define FSROBO_R_DRIVER_SIMPLE_MESSAGE_SET_IO_H
31 
35 #include <vector>
36 
37 namespace fsrobo_r_driver
38 {
39 namespace simple_message
40 {
41 namespace io_control
42 {
43 
61 {
62 public:
69  SetIO(void);
74  ~SetIO(void);
75 
80  void init();
81 
87  industrial::shared_types::shared_int address, std::vector<industrial::shared_types::shared_int> &data);
88 
95  {
96  this->address_ = address;
97  }
98 
105  {
106  this->fun_ = fun;
107  }
108 
115  {
116  this->data_size_ = data_size;
117  }
118 
125  {
126  return this->address_;
127  }
128 
135  {
136  return this->fun_;
137  }
138 
145  {
146  return this->data_size_;
147  }
148 
155  {
156  return this->data_;
157  }
158 
164  void copyFrom(SetIO &src);
165 
171  bool operator==(SetIO &rhs);
172 
173  // Overrides - SimpleSerialize
176  unsigned int byteLength()
177  {
178  return 35 * sizeof(industrial::shared_types::shared_int);
179  }
180 
181 private:
186 
191 
194 
195 };
196 }
197 }
198 }
199 
200 #endif // FSROBO_R_DRIVER_SIMPLE_MESSAGE_SET_SINGLE_IO_H
industrial::shared_types::shared_int * getData()
Returns the value of the IO element.
Definition: set_io.h:154
void init()
Initializes a empty write single io command.
Definition: set_io.cpp:53
void setDataSize(industrial::shared_types::shared_int data_size)
Sets value.
Definition: set_io.h:114
industrial::shared_types::shared_int data_size_
Definition: set_io.h:192
industrial::shared_types::shared_int address_
Address of IO element.
Definition: set_io.h:190
void setAddress(industrial::shared_types::shared_int address)
Sets address.
Definition: set_io.h:94
industrial::shared_types::shared_int getAddress()
Returns the address of the IO element.
Definition: set_io.h:124
bool load(industrial::byte_array::ByteArray *buffer)
Definition: set_io.cpp:101
void setFun(industrial::shared_types::shared_int fun)
Sets value.
Definition: set_io.h:104
void copyFrom(SetIO &src)
Copies the passed in value.
Definition: set_io.cpp:79
industrial::shared_types::shared_int getFun()
Returns the value of the IO element.
Definition: set_io.h:134
industrial::shared_types::shared_int fun_
Value of IO element.
Definition: set_io.h:185
bool unload(industrial::byte_array::ByteArray *buffer)
Definition: set_io.cpp:136
industrial::shared_types::shared_int getDataSize()
Returns the value of the IO element.
Definition: set_io.h:144
Class encapsulated write single io data. FSRobo-R specific interface to set IO element on the control...
Definition: set_io.h:60
bool operator==(SetIO &rhs)
== operator implementation
Definition: set_io.cpp:92
industrial::shared_types::shared_int data_[32]
Definition: set_io.h:193


fsrobo_r_driver
Author(s): F-ROSROBO
autogenerated on Sun Feb 9 2020 03:58:29