42 #define K400_OLD_PROTOCOL_THRESHOLD 1
44 #if !defined (BYTE_DECLARED)
46 typedef unsigned char byte;
150 public:
const TKatGNL* GetGNL() {
return &gnl; }
const TKatMFW* GetMFW() {
return &mfw; }
const TKatIDS* GetIDS() {
return &ids; }
const TKatCTB* GetCTB() {
return &ctb; }
const TKatCBX* GetCBX() {
return &cbx; }
const TKatECH* GetECH() {
return &ech; }
163 const TKatMOT* GetMOT() {
return &mot; }
const TKatSCT* GetSCT() {
return &sct; }
TKatEFF* GetEFF() {
return &eff; }
184 void recvMFW();
void recvIDS();
void recvCTB();
void recvGMS();
void recvCBX();
void recvECH();
void recvNMP();
void recvMPS();
205 void sendCBX(
const TKatCBX* _cbx);
219 void enableCrashLimits();
void disableCrashLimits();
void unBlock();
246 void sendSLMP(
byte* p);
249 void sendSLM(
bool exactflag);
Abstract base class for protocol definiton.
TKatMFW mfw
master's firmware version/revision
void setCrashLimit(long idx, int limit)
set collision limits
TKatSCT sct
sensor controllers
void setPositionCollisionLimit(long idx, int limit)
set collision position limits
void startFourSplinesMovement(bool exactflag)
Start a fourSplines movement.
virtual bool init(const TKatGNL _gnl, const TKatMOT _mot, const TKatSCT _sct, const TKatEFF _eff, CCplBase *_protocol)
short mMasterVersion
master version of robot we are communicating with
CCplBase * getProtocol()
get a handle of the protocol, used in CKatana
TKatGNL gnl
katana general
void startSplineMovement(bool exactflag, int moreflag=1)
Start a spline movement.
virtual ~CKatBase()
destructor
short mMasterRevision
master firmware revision
void setSpeedCollisionLimit(long idx, int limit)
set collision speed limits
int checkKatanaType(int type)
checks for a K300 or K400
CCplBase * protocol
protocol interface
void getMasterFirmware(short *fw, short *rev)
Get the master firmware of the robot we are communicating with.
unsigned char byte
type specification (8 bit)
bool out[2]
output: green & red LED
bool inp[2]
input: green & red LED
[CTB] command table defined in the firmware
byte cmdtbl[256]
command table
Inverse Kinematics structure of the endeffektor.
double arr_segment[4]
length of the Katana segments
[GNL] general robot attributes
char modelName[255]
model name
[IDS] identification string
[MFW] master firmware version/revision number
[MOT] every motor's attributes
[SCT] every sens ctrl's attributes