KatanaNativeInterface  $VERSION$
cplBase.h
Go to the documentation of this file.
1 /*
2  * Katana Native Interface - A C++ interface to the robot arm Katana.
3  * Copyright (C) 2005 Neuronics AG
4  * Check out the AUTHORS file for detailed contact information.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  */
20 
21 
22 /****************************************************************************/
23 #ifndef _CPLBASE_H_
24 #define _CPLBASE_H_
25 /****************************************************************************/
26 #include "common/dllexport.h"
27 #include "KNI/cdlBase.h"
28 
29 /****************************************************************************/
30 
31 #if !defined (BYTE_DECLARED)
32 #define BYTE_DECLARED
33 typedef unsigned char byte;
34 #endif
35 
36 //--------------------------------------------------------------------------//
37 
38 
48 
49 protected:
53 
54 public:
55 
61  virtual bool init(CCdlBase* _device, byte _kataddr = 24) = 0;
62 
69  virtual void comm(const byte* pack, byte* buf, byte* size) = 0;
70 
75  virtual ~CCplBase() {};
76 
81  virtual void getMasterFirmware(short* fw, short* rev) = 0;
82 };
83 
84 /****************************************************************************/
85 #endif //_CPLBASE_H_
86 /****************************************************************************/
dllexport.h
CCplBase::getMasterFirmware
virtual void getMasterFirmware(short *fw, short *rev)=0
Get the master firmware of the robot we are communicating with.
CCplBase::comm
virtual void comm(const byte *pack, byte *buf, byte *size)=0
Base communication function.
cdlBase.h
byte
unsigned char byte
type specification (8 bit)
Definition: cplBase.h:33
CCdlBase
Abstract base class for devices.
Definition: cdlBase.h:47
CCplBase::~CCplBase
virtual ~CCplBase()
destructor
Definition: cplBase.h:75
CCplBase::init
virtual bool init(CCdlBase *_device, byte _kataddr=24)=0
Basic initializing function.
CCplBase
Abstract base class for protocol definiton.
Definition: cplBase.h:47
DLLDIR
#define DLLDIR
Definition: dllexport.h:30
CCplBase::mMasterVersion
short mMasterVersion
master version of robot we are communicating with
Definition: cplBase.h:51
CCplBase::device
CCdlBase * device
communication device
Definition: cplBase.h:50
CCplBase::mMasterRevision
short mMasterRevision
master firmware revision
Definition: cplBase.h:52