00001
00006 #define RELEASE 0.0.4
00007
00016
00017
00018
00022
00026 #define TRUE 1
00027
00030 #define FALSE 0
00031
00036 #define KUKA_VARNAME_LEN 14
00037
00044 #define KUKA_STRING_LEN 128
00045
00047
00048
00052
00056 typedef float kukaReal_t;
00057
00061 typedef int kukaInt_t;
00062
00065 typedef int kukaBool_t;
00066
00071 typedef char kukaChar_t;
00072
00076 typedef kukaChar_t kukaString_t[KUKA_STRING_LEN];
00077
00079
00080
00084
00092 struct kukaAxis_s
00093 {
00095 kukaReal_t a1;
00097 kukaReal_t a2;
00099 kukaReal_t a3;
00101 kukaReal_t a4;
00103 kukaReal_t a5;
00105 kukaReal_t a6;
00106 };
00107 typedef struct kukaAxis_s kukaAxis_t;
00108
00120 struct kukaFrame_s
00121 {
00123 kukaReal_t x;
00125 kukaReal_t y;
00127 kukaReal_t z;
00129 kukaReal_t a;
00131 kukaReal_t b;
00133 kukaReal_t c;
00134 };
00135 typedef struct kukaFrame_s kukaFrame_t;
00136
00147 struct kukaPos_s
00148 {
00149 kukaReal_t x;
00150 kukaReal_t y;
00151 kukaReal_t z;
00152 kukaReal_t a;
00153 kukaReal_t b;
00154 kukaReal_t c;
00155 kukaInt_t s;
00156 kukaInt_t t;
00157 };
00158 typedef struct kukaPos_s kukaPos_t;
00159
00161
00162
00166
00172 enum kukaType_e{
00173
00174 KUKA_UNKNOWN = 0x0000 | 0x000,
00175
00178 KUKA_SIMPLE = 0x0000 | 0x0001,
00179 KUKA_INT = 0x0010 | KUKA_SIMPLE,
00180 KUKA_REAL = 0x0020 | KUKA_SIMPLE,
00181 KUKA_BOOL = 0x0030 | KUKA_SIMPLE,
00182 KUKA_CHAR = 0x0040 | KUKA_SIMPLE,
00183 KUKA_STRING = 0x0050 | KUKA_SIMPLE,
00184
00186 KUKA_STRUCT = 0x0000 | 0x0002,
00187 KUKA_AXIS = 0x0010 | KUKA_STRUCT,
00188 KUKA_FRAME = 0x0020 | KUKA_STRUCT,
00189 KUKA_POS = 0x0030 | KUKA_STRUCT,
00190
00191 KUKA_ERROR = 0x0000 | 0x000a,
00192 };
00193 typedef enum kukaType_e kukaType_t;
00194
00196
00197
00201
00203 enum kukaErrorType_e {
00205 KUKA_KUKA_E = 0x0010 | KUKA_ERROR,
00208 KUKA_CROSS_E = 0x0020 | KUKA_ERROR,
00211 KUKA_RPC_E = 0x0030 | KUKA_ERROR,
00214 KUKA_API_E = 0x0040 | KUKA_ERROR
00215 };
00216 typedef enum kukaErrorType_e kukaErrorType_t;
00217
00226 struct kukaError_s
00227 {
00235 kukaErrorType_t type;
00239 long no;
00243 kukaString_t desc;
00244 };
00245 typedef struct kukaError_s kukaError_t;
00246
00248
00249
00253
00266 struct kukaVal {
00267 kukaType_t type;
00268 union {
00269 kukaInt_t kukaInt;
00270 kukaReal_t kukaReal;
00271 kukaBool_t kukaBool;
00272 kukaChar_t kukaChar;
00273 kukaString_t kukaString;
00274 kukaAxis_t kukaAxis;
00275 kukaFrame_t kukaFrame;
00276 kukaPos_t kukaPos;
00277 kukaError_t kukaError;
00278 } kukaVal_u;
00279 };
00280 typedef struct kukaVal kukaVal;
00281
00283
00284
00288
00292 struct kukaVar_s
00293 {
00295 char nom[KUKA_VARNAME_LEN];
00297 kukaVal valeur;
00298 };
00299 typedef struct kukaVar_s kukaVar_t;
00300
00302
00303
00304
00305
00306
00307
00314
00326 int kuka_initialize(char* serveur);
00327
00334 int kuka_uninitialize(void);
00335
00352 int kuka_getVar(kukaVar_t *varInOut);
00353
00369 int kuka_setVar(kukaVar_t *varIn);
00370
00373 int kuka_loadModule(char* module);
00374
00377 int kuka_unloadModule(void);
00378
00380
00381
00382
00383
00387
00391 void kuka_displayVar(kukaVar_t *var);
00392
00403 void kuka_getError(kukaVar_t **kukaError);
00404