MIRA
FunctionBlock.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012 MetraLabs GmbH (MLAB), GERMANY.
3  * All rights reserved.
4  * Contact: info@MetraLabs.com
5  *
6  * Commercial Usage:
7  * Licensees holding valid commercial licenses may use this file in
8  * accordance with the commercial license agreement provided with the
9  * software or, alternatively, in accordance with the terms contained in
10  * a written agreement between you and MetraLabs.
11  *
12  * GNU General Public License Usage:
13  * Alternatively, this file may be used under the terms of the GNU
14  * General Public License version 3.0 as published by the Free Software
15  * Foundation and appearing in the file LICENSE.GPL3 included in the
16  * packaging of this file. Please review the following information to
17  * ensure the GNU General Public License version 3.0 requirements will be
18  * met: http://www.gnu.org/copyleft/gpl.html.
19  * Alternatively you may (at your option) use any later version of the GNU
20  * General Public License if such license has been publicly approved by
21  * MetraLabs (or its successors, if any).
22  *
23  * IN NO EVENT SHALL "MLAB" BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
24  * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
25  * OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF "MLABS" HAS BEEN
26  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  * "MLAB" SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT
29  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30  * A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN
31  * "AS IS" BASIS, AND "MLAB" HAS NO OBLIGATION TO PROVIDE MAINTENANCE,
32  * SUPPORT, UPDATES, ENHANCEMENTS OR MODIFICATIONS.
33  */
34 
43 #ifndef _MLAB_SCITOS_FUNCTION_BLOCK_H_
44 #define _MLAB_SCITOS_FUNCTION_BLOCK_H_
45 
47 #include <can/CANOpenSDOClient.h>
48 
49 namespace mira { namespace robot {
50 
52 
53 class FunctionBlock : public Object
54 {
56 public:
59 
61 
62  FunctionBlock(uint32 iFuncBlockID, uint8 iNodeID, uint16 iIndex) :
63  functionBlockID(iFuncBlockID), nodeID(iNodeID), index(iIndex)
64  {}
65 
67  template <typename Reflector>
68  void reflect(Reflector& r)
69  {
70  }
71 
73 
74 public:
77 
78  void checkFunctionBlockID();
79 
81 
82 public:
85 
87  uint8 nodeID;
88 
90  uint16 index;
91 
94 };
95 
97 
98 }}
99 
100 #endif
mira::can::CANOpenSDOClientPtr sdoClient
Definition: FunctionBlock.h:93
FunctionBlock(uint32 iFuncBlockID, uint8 iNodeID, uint16 iIndex)
Definition: FunctionBlock.h:62
void reflect(Reflector &r)
Reflect for serialization.
Definition: FunctionBlock.h:68
FunctionBlock()
Definition: FunctionBlock.h:60
boost::shared_ptr< CANOpenSDOClient > CANOpenSDOClientPtr
uint8 nodeID
ID of the can node.
Definition: FunctionBlock.h:87
#define MIRA_OBJECT(classIdentifier)
uint32 functionBlockID
ID of the function block.
Definition: FunctionBlock.h:84
Definition: FunctionBlock.h:53
uint16 index
Index.
Definition: FunctionBlock.h:90