posture.cpp
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 
32 #include <vector>
33 
35 
36 namespace fsrobo_r_driver
37 {
38 namespace simple_message
39 {
40 namespace posture
41 {
42 
44 {
45  this->init();
46 }
47 
49 {
50 }
51 
53 {
54  this->init(0);
55 }
56 
58 {
59  this->setPosture(posture);
60 }
61 
63 {
64  this->setPosture(src.getPosture());
65 }
66 
68 {
69  bool rslt = this->posture_ == rhs.posture_;
70 
71  return rslt;
72 }
73 
75 {
76  LOG_COMM("Executing Posture command load");
77 
78  if (!buffer->load(this->posture_))
79  {
80  LOG_ERROR("Failed to load Posture posture");
81  return false;
82  }
83 
84  LOG_COMM("Posture data successfully loaded");
85  return true;
86 }
87 
89 {
90  LOG_COMM("Executing Posture command unload");
91 
92  if (!buffer->unload(this->posture_))
93  {
94  LOG_ERROR("Failed to unload Posture posture");
95  return false;
96  }
97 
98  LOG_COMM("SetPosture data successfully unloaded");
99  return true;
100 }
101 
102 }
103 }
104 }
bool unload(industrial::byte_array::ByteArray *buffer)
Definition: posture.cpp:88
#define LOG_COMM(format,...)
bool load(industrial::shared_types::shared_bool value)
bool operator==(Posture &rhs)
== operator implementation
Definition: posture.cpp:67
void copyFrom(Posture &src)
Copies the passed in value.
Definition: posture.cpp:62
industrial::shared_types::shared_int getPosture()
Returns the posture.
Definition: posture.h:102
Class encapsulated posture data. FSRobo-R specific interface to posture on the controller.
Definition: posture.h:58
#define LOG_ERROR(format,...)
void setPosture(industrial::shared_types::shared_int posture)
Set posture.
Definition: posture.h:92
void init()
Initializes a empty posture command.
Definition: posture.cpp:52
bool load(industrial::byte_array::ByteArray *buffer)
Definition: posture.cpp:74
bool unload(industrial::shared_types::shared_bool &value)
industrial::shared_types::shared_int posture_
Posture.
Definition: posture.h:133


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