$search
00001 // ========================================================================= // 00002 // // 00003 // Copyright 1999-2006 // 00004 // // 00005 // AMTEC robotics GmbH // 00006 // 13127 Berlin // 00007 // Germany // 00008 // // 00009 // Tel : +49 30 47 48 68 30 // 00010 // Fax : +49 30 47 48 68 39 // 00011 // Email : support@amtec-robotics.com // 00012 // // 00013 // ========================================================================= // 00014 00015 #include "schunk_libm5api/m5apiw32.h" 00016 #include "../Device/Device.h" 00017 #include "../Util/IOFunctions.h" 00018 #include "../Util/Message.h" 00019 00020 //#pragma data_seg(".shared") 00021 //static int g_iM5DllRefCount = 0; 00022 // 00023 // 00024 #ifdef DEBUG_M5_API 00025 M5DLL_API int g_iM5DebugLevel = 5; //debug level 00026 M5DLL_API int g_iM5DebugFile = 1; //write debug file 00027 M5DLL_API int g_iM5Debug = 0; //write debug output to stdout 00028 #else 00029 M5DLL_API int g_iM5DebugLevel = 0; 00030 M5DLL_API int g_iM5DebugFile = 0; 00031 M5DLL_API int g_iM5Debug = 0; 00032 #endif 00033 00034 //#pragma data_seg() 00035 00036 //#pragma comment(linker, "/SECTION:.shared,RWS") 00037 00038 static std::vector<CDevice*> g_apclDevice; 00039 static std::vector<int> g_aiDeviceRefCount; 00040 //HANDLE g_hM5Dll; 00041 00042 #if defined (_WIN32) 00043 BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) 00044 { 00045 // BOOL bInit; 00046 // CMessage clDebug("M5apiw32", g_iM5DebugLevel, g_iM5Debug, g_iM5DebugFile); 00047 // clDebug.debug(0,"Entering M5Dll main"); 00048 switch (ul_reason_for_call) 00049 { 00050 // The DLL is loading due to process 00051 // initialization or a call to LoadLibrary. 00052 00053 case DLL_PROCESS_ATTACH: 00054 // clDebug.debug(0,"Process attach M5Dll"); 00055 // Initialize critical section if this is the first process. 00056 /* 00057 if(g_iM5DllRefCount == 0) 00058 { 00059 00060 clDebug.debug(0,"Creating mutex for M5Dll"); 00061 g_hM5Dll = CreateMutex(NULL,FALSE,"M5MUTEX"); 00062 if(g_hM5Dll == NULL) 00063 { 00064 clDebug.debug(0,"Creation of mutex failed"); 00065 return FALSE; 00066 } 00067 g_pcDebugFileName = "M5Debug.txt"; 00068 } 00069 else 00070 { 00071 clDebug.debug(0,"Opening mutex for M5Dll"); 00072 g_hM5Dll = OpenMutex(SYNCHRONIZE,FALSE,"M5MUTEX"); 00073 if(g_hM5Dll == NULL) 00074 { 00075 clDebug.debug(0,"Open of mutex failed"); 00076 return FALSE; 00077 } 00078 g_pcDebugFileName = "M5Debug.txt"; 00079 } 00080 */ 00081 // g_iM5DllRefCount++; 00082 // clDebug.debug(0,"M5Dll ref count %i", g_iM5DllRefCount); 00083 break; 00084 00085 // The attached process creates a new thread. 00086 00087 case DLL_THREAD_ATTACH: 00088 // clDebug.debug(0,"Thread attach M5Dll"); 00089 // clDebug.debug(0,"M5Dll ref count %i", g_iM5DllRefCount); 00090 break; 00091 00092 // The thread of the attached process terminates. 00093 00094 case DLL_THREAD_DETACH: 00095 // clDebug.debug(0,"Thread detach M5Dll"); 00096 // clDebug.debug(0,"M5Dll ref count %i", g_iM5DllRefCount); 00097 break; 00098 00099 // The DLL is unloading from a process due to 00100 // process termination or a call to FreeLibrary. 00101 00102 case DLL_PROCESS_DETACH: 00103 // clDebug.debug(0,"Process detach M5Dll"); 00104 // g_iM5DllRefCount--; 00105 // if(g_iM5DllRefCount == 0) 00106 // clDebug.debug(0,"Deleting mutex for M5Dll"); 00107 // CloseHandle(g_hM5Dll); 00108 // clDebug.debug(0,"M5Dll ref count %i", g_iM5DllRefCount); 00109 break; 00110 00111 default: 00112 break; 00113 } 00114 00115 return TRUE; 00116 UNREFERENCED_PARAMETER(hModule); 00117 UNREFERENCED_PARAMETER(lpReserved); 00118 } 00119 #endif 00120 00121 M5DLL_API int WINAPI PCube_getDllVersion() 00122 { 00123 return M5DLLVERSION; 00124 } 00125 00126 M5DLL_API int WINAPI PCube_setDllDebug( int iDebug, int iDebugLevel, int iDebugFile ) 00127 { 00128 g_iM5Debug = iDebug; 00129 g_iM5DebugLevel = iDebugFile; 00130 g_iM5DebugFile = iDebugLevel; 00131 for(int i = 0; i < g_aiDeviceRefCount.size();i++) 00132 if( g_apclDevice[i] != NULL ) 00133 { 00134 g_apclDevice[i]->setDebug(iDebug); 00135 g_apclDevice[i]->setDebugLevel(iDebugLevel); 00136 g_apclDevice[i]->setDebugFile(iDebugFile); 00137 } 00138 return 0; 00139 } 00140 00141 M5DLL_API int WINAPI PCube_configFromFile( const char* acFileName ) 00142 { 00143 int iRetVal, i, j; 00144 char acBuffer[128]; 00145 char acInitString[128]; 00146 char acDevice[128]; 00147 char acModule[128]; 00148 char acDeviceName[128]; 00149 int iDeviceNumber = 0; 00150 int iDeviceStart = 0; 00151 int iModuleNumber = 0; 00152 int iModuleStart = 0; 00153 int iDeviceId = -1; 00154 int iModuleId = -1; 00155 float fHomeOffset = 0.0; 00156 float fHomeVel = 0.0; 00157 int iC0 = 0; 00158 int iDamp = 0; 00159 int iA0 = 0; 00160 float fMinPos = 0.0; 00161 float fMaxPos = 0.0; 00162 float fMaxDeltaPos = 0.0; 00163 float fMaxVel = 0.0; 00164 float fMaxAcc = 0.0; 00165 float fMaxCur = 0.0; 00166 util_searchString("PROCESS", "Debug", "0", acBuffer, 128, acFileName); 00167 g_iM5Debug = atoi(acBuffer); 00168 util_searchString("PROCESS", "DebugLevel", "0", acBuffer, 128, acFileName); 00169 g_iM5DebugLevel = atoi(acBuffer); 00170 util_searchString("PROCESS", "DebugFile", "0", acBuffer, 128, acFileName); 00171 g_iM5DebugFile = atoi(acBuffer); 00172 CMessage clDebug("M5apiw32", g_iM5DebugLevel, g_iM5Debug, g_iM5DebugFile); 00173 00174 iRetVal = util_searchString("PROCESS", "DeviceNumber", "0", acBuffer, 128, acFileName); 00175 if(iRetVal < 0) 00176 { 00177 clDebug.warning("could not open file %s", acFileName); 00178 return ERRID_DEV_OPENINIFILE; 00179 } 00180 iDeviceNumber = atoi(acBuffer); 00181 util_searchString("PROCESS", "DeviceStart", "0", acBuffer, 128, acFileName); 00182 iDeviceStart = atoi(acBuffer); 00183 util_searchString("PROCESS", "ModuleNumber", "0", acBuffer, 128, acFileName); 00184 iModuleNumber = atoi(acBuffer); 00185 util_searchString("PROCESS", "ModuleStart", "0", acBuffer, 128, acFileName); 00186 iModuleStart = atoi(acBuffer); 00187 00188 for(i = 0; i < iDeviceNumber; i++) 00189 { 00190 sprintf(acDevice,"DEVICE_%02d",i + iDeviceStart); 00191 util_searchString(acDevice, "DeviceName", "not available", acDeviceName, 128, acFileName); 00192 util_searchString(acDevice, "InitString", "not available", acInitString, 128, acFileName); 00193 clDebug.debug(0,"Trying to open device %s with initstring %s", acDeviceName, acInitString); 00194 iRetVal = PCube_openDevice(&iDeviceId, acInitString); 00195 if(iRetVal < 0) 00196 { 00197 clDebug.debug(0,"Cound not open device %s with initstring %s", acDeviceName, acInitString); 00198 return iRetVal; 00199 } 00200 (g_apclDevice[iDeviceId])->setName(acDeviceName); 00201 clDebug.debug(0,"Successfully open device %s with initstring %s", acDeviceName, acInitString); 00202 } 00203 00204 for(i = 0; i < iModuleNumber; i++) 00205 { 00206 sprintf(acModule,"MODULE_%02d",i + iModuleStart); 00207 util_searchString(acModule, "DeviceName", "CAN", acDeviceName, 128, acFileName); 00208 util_searchString(acModule, "ModuleId", "-1", acBuffer, 128, acFileName); 00209 iModuleId = atoi(acBuffer); 00210 clDebug.debug(0,"Trying to config module %i on device %s ", iModuleId, acDeviceName); 00211 iDeviceId = -1; 00212 for(j = 0; j < g_apclDevice.size(); j++) 00213 { 00214 if(g_apclDevice[j] != NULL) 00215 if(strcmp(acDeviceName, (g_apclDevice[j])->getName()) == 0) 00216 { 00217 iDeviceId = j; 00218 break; 00219 } 00220 } 00221 if(iDeviceId < 0) 00222 { 00223 clDebug.debug(0,"Cound not found device %s", acDeviceName); 00224 return ERRID_DEV_NODEVICENAME; 00225 } 00226 util_searchString(acModule, "HomeOffset", "not available", acBuffer, 128, acFileName); 00227 if(strcmp(acBuffer, "not available") != 0) 00228 { 00229 fHomeOffset = atof(acBuffer); 00230 iRetVal = PCube_setHomeOffset(iDeviceId, iModuleId, fHomeOffset); 00231 if(iRetVal < 0) 00232 { 00233 clDebug.debug(0,"Cound not set homeoffset of module %i on device %s", iModuleId, acDeviceName); 00234 return iRetVal; 00235 } 00236 clDebug.debug(0,"Set homeoffset to %f of module %i on device %s", fHomeOffset, iModuleId, acDeviceName); 00237 } 00238 util_searchString(acModule, "HomeVel", "not available", acBuffer, 128, acFileName); 00239 if(strcmp(acBuffer, "not available") != 0) 00240 { 00241 fHomeVel = atof(acBuffer); 00242 iRetVal = PCube_setHomeVel(iDeviceId, iModuleId, fHomeVel); 00243 if(iRetVal < 0) 00244 { 00245 clDebug.debug(0,"Cound not set homevel of module %i on device %s", iModuleId, acDeviceName); 00246 return iRetVal; 00247 } 00248 clDebug.debug(0,"Set homevel to %f of module %i on device %s", fHomeVel, iModuleId, acDeviceName); 00249 } 00250 util_searchString(acModule, "C0", "not available", acBuffer, 128, acFileName); 00251 if(strcmp(acBuffer, "not available") != 0) 00252 { 00253 iC0 = atoi(acBuffer); 00254 iRetVal = PCube_setC0(iDeviceId, iModuleId, iC0); 00255 if(iRetVal < 0) 00256 { 00257 clDebug.debug(0,"Cound not set C0 of module %i on device %s", iModuleId, acDeviceName); 00258 return iRetVal; 00259 } 00260 clDebug.debug(0,"Set CO to %i of module %i on device %s", iC0, iModuleId, acDeviceName); 00261 } 00262 util_searchString(acModule, "Damp", "not available", acBuffer, 128, acFileName); 00263 if(strcmp(acBuffer, "not available") != 0) 00264 { 00265 iDamp= atoi(acBuffer); 00266 iRetVal = PCube_setDamp(iDeviceId, iModuleId, iDamp); 00267 if(iRetVal < 0) 00268 { 00269 clDebug.debug(0,"Cound not set damp of module %i on device %s", iModuleId, acDeviceName); 00270 return iRetVal; 00271 } 00272 clDebug.debug(0,"Set damp to %i of module %i on device %s", iDamp, iModuleId, acDeviceName); 00273 } 00274 util_searchString(acModule, "A0", "not available", acBuffer, 128, acFileName); 00275 if(strcmp(acBuffer, "not available") != 0) 00276 { 00277 iA0 = atoi(acBuffer); 00278 iRetVal = PCube_setA0(iDeviceId, iModuleId, iA0); 00279 if(iRetVal < 0) 00280 { 00281 clDebug.debug(0,"Cound not set A0 of module %i on device %s", iModuleId, acDeviceName); 00282 return iRetVal; 00283 } 00284 clDebug.debug(0,"Set A0 to %i of module %i on device %s", iA0, iModuleId, acDeviceName); 00285 } 00286 util_searchString(acModule, "MinPos", "not available", acBuffer, 128, acFileName); 00287 if(strcmp(acBuffer, "not available") != 0) 00288 { 00289 fMinPos = atof(acBuffer); 00290 iRetVal = PCube_setMinPos(iDeviceId, iModuleId, fMinPos); 00291 if(iRetVal < 0) 00292 { 00293 clDebug.debug(0,"Cound not set minpos of module %i on device %s", iModuleId, acDeviceName); 00294 return iRetVal; 00295 } 00296 clDebug.debug(0,"Set minpos to %f of module %i on device %s", fMinPos, iModuleId, acDeviceName); 00297 } 00298 util_searchString(acModule, "MaxPos", "not available", acBuffer, 128, acFileName); 00299 if(strcmp(acBuffer, "not available") != 0) 00300 { 00301 fMaxPos = atof(acBuffer); 00302 iRetVal = PCube_setMaxPos(iDeviceId, iModuleId, fMaxPos); 00303 if(iRetVal < 0) 00304 { 00305 clDebug.debug(0,"Cound not set maxpos of module %i on device %s", iModuleId, acDeviceName); 00306 return iRetVal; 00307 } 00308 clDebug.debug(0,"Set maxpos to %f of module %i on device %s", fMaxPos, iModuleId, acDeviceName); 00309 } 00310 util_searchString(acModule, "MaxDeltaPos", "not available", acBuffer, 128, acFileName); 00311 if(strcmp(acBuffer, "not available") != 0) 00312 { 00313 fMaxDeltaPos = atof(acBuffer); 00314 iRetVal = PCube_setMaxDeltaPos(iDeviceId, iModuleId, fMaxDeltaPos); 00315 if(iRetVal < 0) 00316 { 00317 clDebug.debug(0,"Cound not set maxdeltapos of module %i on device %s", iModuleId, acDeviceName); 00318 return iRetVal; 00319 } 00320 clDebug.debug(0,"Set maxdeltapos to %f of module %i on device %s", fMaxDeltaPos, iModuleId, acDeviceName); 00321 } 00322 util_searchString(acModule, "MaxVel", "not available", acBuffer, 128, acFileName); 00323 if(strcmp(acBuffer, "not available") != 0) 00324 { 00325 fMaxVel = atof(acBuffer); 00326 iRetVal = PCube_setMaxVel(iDeviceId, iModuleId, fMaxVel); 00327 if(iRetVal < 0) 00328 { 00329 clDebug.debug(0,"Cound not set maxvel of module %i on device %s", iModuleId, acDeviceName); 00330 return iRetVal; 00331 } 00332 clDebug.debug(0,"Set maxvel to %f of module %i on device %s", fMaxVel, iModuleId, acDeviceName); 00333 } 00334 util_searchString(acModule, "MaxAcc", "not available", acBuffer, 128, acFileName); 00335 if(strcmp(acBuffer, "not available") != 0) 00336 { 00337 fMaxAcc = atof(acBuffer); 00338 iRetVal = PCube_setMaxAcc(iDeviceId, iModuleId, fMaxAcc); 00339 if(iRetVal < 0) 00340 { 00341 clDebug.debug(0,"Cound not set maxacc of module %i on device %s", iModuleId, acDeviceName); 00342 return iRetVal; 00343 } 00344 clDebug.debug(0,"Set maxacc to %f of module %i on device %s", fMaxAcc, iModuleId, acDeviceName); 00345 } 00346 util_searchString(acModule, "MaxCur", "not available", acBuffer, 128, acFileName); 00347 if(strcmp(acBuffer, "not available") != 0) 00348 { 00349 fMaxCur = atof(acBuffer); 00350 iRetVal = PCube_setMaxCur(iDeviceId, iModuleId, fMaxCur); 00351 if(iRetVal < 0) 00352 { 00353 clDebug.debug(0,"Cound not set maxcur of module %i on device %s", iModuleId, acDeviceName); 00354 return iRetVal; 00355 } 00356 clDebug.debug(0,"Set maxcur to %f of module %i on device %s", fMaxCur, iModuleId, acDeviceName); 00357 } 00358 clDebug.debug(0,"Successfully config module %i on device %s ", iModuleId, acDeviceName); 00359 } 00360 return 0; 00361 } 00362 00363 M5DLL_API int WINAPI PCube_openDevice( int* piDeviceId, const char* acInitString ) 00364 { 00365 int iRetVal = 0; 00366 int i, iDeviceNumber; 00367 bool bReplace = false; 00368 CMessage clDebug("M5apiw32", g_iM5DebugLevel, g_iM5Debug, g_iM5DebugFile); 00369 if(acInitString == NULL || strlen(acInitString) == 0) 00370 { 00371 return ERRID_DEV_NOINITSTRING; 00372 } 00373 iDeviceNumber = g_apclDevice.size(); 00374 clDebug.debug(0,"number of possible devices %i", iDeviceNumber); 00375 for (i=0;i<iDeviceNumber;i++) 00376 { 00377 clDebug.debug(0,"checking device %i", i); 00378 if(g_apclDevice[i] != NULL) 00379 if(strcmp(g_apclDevice[i]->getInitString(),acInitString)==0) 00380 { 00381 *piDeviceId = i; 00382 g_aiDeviceRefCount[i]++; 00383 clDebug.debug(0,"using device with id %i", i); 00384 return 0; 00385 } 00386 } 00387 CDevice* pclDevice = newDevice(acInitString); 00388 if(pclDevice == NULL) 00389 { 00390 return ERRID_DEV_NODEVICENAME; 00391 } 00392 clDebug.debug(0,"created new device"); 00393 pclDevice->setDebug(g_iM5Debug); 00394 pclDevice->setDebugLevel(g_iM5DebugLevel); 00395 pclDevice->setDebugFile(g_iM5DebugFile); 00396 iRetVal = pclDevice->init(acInitString); 00397 if(iRetVal != 0) 00398 { 00399 clDebug.debug(0,"init error device"); 00400 delete pclDevice; 00401 return iRetVal; 00402 } 00403 00404 for (i=0;i<iDeviceNumber;i++) 00405 if(g_apclDevice[i] == NULL) 00406 { 00407 g_apclDevice[i] = pclDevice; 00408 g_aiDeviceRefCount[i] = 1; 00409 *piDeviceId = i; 00410 bReplace = true; 00411 clDebug.debug(0,"replacing device with id %i", i); 00412 break; 00413 } 00414 if(bReplace == false) 00415 { 00416 g_apclDevice.push_back(pclDevice); 00417 g_aiDeviceRefCount.push_back(1); 00418 *piDeviceId = g_apclDevice.size()-1; 00419 clDebug.debug(0,"adding device with id %i", *piDeviceId); 00420 } 00421 return iRetVal; 00422 } 00423 00424 M5DLL_API int WINAPI PCube_closeDevice( int iDeviceId ) 00425 { 00426 if(0 > iDeviceId || iDeviceId >= g_aiDeviceRefCount.size()) 00427 return ERRID_DEV_WRONGDEVICEID; 00428 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00429 return ERRID_DEV_WRONGDEVICEID; 00430 if( g_apclDevice[iDeviceId] == NULL ) 00431 return ERRID_DEV_NOTINITIALIZED; 00432 00433 g_aiDeviceRefCount[iDeviceId]--; 00434 if (g_aiDeviceRefCount[iDeviceId]>0) 00435 return 0; 00436 00437 int iRetVal = g_apclDevice[iDeviceId]->exit(); 00438 delete g_apclDevice[iDeviceId]; 00439 g_apclDevice[iDeviceId] = NULL; 00440 return iRetVal; 00441 } 00442 00443 M5DLL_API int WINAPI PCube_closeDevices( void ) 00444 { 00445 int i; 00446 for(i = 0; i < g_aiDeviceRefCount.size();i++) 00447 g_aiDeviceRefCount[i] = 0; 00448 for(i = 0; i < g_aiDeviceRefCount.size();i++) 00449 if( g_apclDevice[i] != NULL ) 00450 { 00451 g_apclDevice[i]->exit(); 00452 delete g_apclDevice[i]; 00453 g_apclDevice[i] = NULL; 00454 } 00455 return 0; 00456 } 00457 00458 M5DLL_API const char* WINAPI PCube_getDeviceRevision( int iDeviceId ) 00459 { 00460 static const char acString[] = ""; 00461 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00462 return acString; 00463 if( g_apclDevice[iDeviceId] == NULL ) 00464 return acString; 00465 00466 return g_apclDevice[iDeviceId]->getRevision(); 00467 } 00468 00469 M5DLL_API const char* WINAPI PCube_getDeviceName( int iDeviceId ) 00470 { 00471 static const char acString[] = ""; 00472 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00473 return acString; 00474 if( g_apclDevice[iDeviceId] == NULL ) 00475 return acString; 00476 00477 return g_apclDevice[iDeviceId]->getName(); 00478 } 00479 00480 M5DLL_API const char* WINAPI PCube_getDeviceInitString( int iDeviceId ) 00481 { 00482 static const char acString[] = ""; 00483 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00484 return acString; 00485 if( g_apclDevice[iDeviceId] == NULL ) 00486 return acString; 00487 00488 return g_apclDevice[iDeviceId]->getInitString(); 00489 } 00490 00491 M5DLL_API int WINAPI PCube_setDeviceName( int iDeviceId, const char* acDeviceName ) 00492 { 00493 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00494 return ERRID_DEV_WRONGDEVICEID; 00495 if( g_apclDevice[iDeviceId] == NULL ) 00496 return ERRID_DEV_NOTINITIALIZED; 00497 00498 g_apclDevice[iDeviceId]->setName(acDeviceName); 00499 return 0; 00500 } 00501 00502 M5DLL_API int WINAPI PCube_setDeviceDebug( int iDeviceId, int iDebug, int iDebugLevel, int iDebugFile ) 00503 { 00504 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00505 return ERRID_DEV_WRONGDEVICEID; 00506 if( g_apclDevice[iDeviceId] == NULL ) 00507 return ERRID_DEV_NOTINITIALIZED; 00508 00509 g_apclDevice[iDeviceId]->setDebug(iDebug); 00510 g_apclDevice[iDeviceId]->setDebugLevel(iDebugLevel); 00511 g_apclDevice[iDeviceId]->setDebugFile(iDebugFile); 00512 return 0; 00513 } 00514 00515 M5DLL_API int WINAPI PCube_getDeviceCount( void ) 00516 { 00517 int iDeviceCount = 0; 00518 for(int i = 0; i < g_apclDevice.size(); i++) 00519 if( g_apclDevice[i] != NULL ) 00520 iDeviceCount++; 00521 00522 return iDeviceCount; 00523 } 00524 00525 M5DLL_API int WINAPI PCube_getDeviceIdMap( int* aiIdMap ) 00526 { 00527 int iDeviceCount = 0; 00528 for(int i = 0; i < g_apclDevice.size(); i++) 00529 if( g_apclDevice[i] != NULL ) 00530 { 00531 *(aiIdMap++) = i; 00532 iDeviceCount++; 00533 } 00534 00535 return iDeviceCount; 00536 } 00537 00538 M5DLL_API int WINAPI PCube_getModuleCount( int iDeviceId ) 00539 { 00540 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00541 return ERRID_DEV_WRONGDEVICEID; 00542 if( g_apclDevice[iDeviceId] == NULL ) 00543 return ERRID_DEV_NOTINITIALIZED; 00544 00545 return g_apclDevice[iDeviceId]->getModuleCount(); 00546 } 00547 00548 M5DLL_API int WINAPI PCube_getModuleIdMap( int iDeviceId, int* aiIdMap ) 00549 { 00550 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00551 return ERRID_DEV_WRONGDEVICEID; 00552 if( g_apclDevice[iDeviceId] == NULL ) 00553 return ERRID_DEV_NOTINITIALIZED; 00554 00555 int i; 00556 static std::vector<int> aiModules; 00557 int iRetVal = g_apclDevice[iDeviceId]->getModuleIdMap(aiModules); 00558 for(i = 0; i < aiModules.size(); i++) 00559 *(aiIdMap++) = aiModules[i]; 00560 for(i = aiModules.size(); i < MAX_MODULES; i++) 00561 *(aiIdMap++) = 0; 00562 return iRetVal; 00563 } 00564 00565 M5DLL_API int WINAPI PCube_getModuleState( int iDeviceId, int iModuleId, unsigned long* puiState ) 00566 { 00567 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00568 return ERRID_DEV_WRONGDEVICEID; 00569 if( g_apclDevice[iDeviceId] == NULL ) 00570 return ERRID_DEV_NOTINITIALIZED; 00571 00572 int iRetVal = g_apclDevice[iDeviceId]->getModuleState( iModuleId, puiState ); 00573 00574 return iRetVal; 00575 } 00576 00577 M5DLL_API int WINAPI PCube_getModuleType( int iDeviceId, int iModuleId, unsigned char* pucValue ) 00578 { 00579 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00580 return ERRID_DEV_WRONGDEVICEID; 00581 if( g_apclDevice[iDeviceId] == NULL ) 00582 return ERRID_DEV_NOTINITIALIZED; 00583 00584 int iRetVal = g_apclDevice[iDeviceId]->getModuleType( iModuleId, pucValue ); 00585 00586 return iRetVal; 00587 } 00588 00589 M5DLL_API int WINAPI PCube_getModuleVersion( int iDeviceId, int iModuleId, unsigned short* puiValue ) 00590 { 00591 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00592 return ERRID_DEV_WRONGDEVICEID; 00593 if( g_apclDevice[iDeviceId] == NULL ) 00594 return ERRID_DEV_NOTINITIALIZED; 00595 00596 int iRetVal = g_apclDevice[iDeviceId]->getModuleVersion( iModuleId, puiValue ); 00597 00598 return iRetVal; 00599 } 00600 00601 M5DLL_API int WINAPI PCube_getModuleSerialNo( int iDeviceId, int iModuleId, unsigned long* puiValue ) 00602 { 00603 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00604 return ERRID_DEV_WRONGDEVICEID; 00605 if( g_apclDevice[iDeviceId] == NULL ) 00606 return ERRID_DEV_NOTINITIALIZED; 00607 00608 int iRetVal = g_apclDevice[iDeviceId]->getModuleSerialNo( iModuleId, puiValue ); 00609 00610 return iRetVal; 00611 } 00612 00613 M5DLL_API int WINAPI PCube_getDefConfig( int iDeviceId, int iModuleId, unsigned long* puiValue ) 00614 { 00615 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00616 return ERRID_DEV_WRONGDEVICEID; 00617 if( g_apclDevice[iDeviceId] == NULL ) 00618 return ERRID_DEV_NOTINITIALIZED; 00619 00620 int iRetVal = g_apclDevice[iDeviceId]->getDefConfig( iModuleId, puiValue ); 00621 00622 return iRetVal; 00623 } 00624 00625 M5DLL_API int WINAPI PCube_getDefSetup( int iDeviceId, int iModuleId, unsigned long* puiValue ) 00626 { 00627 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00628 return ERRID_DEV_WRONGDEVICEID; 00629 if( g_apclDevice[iDeviceId] == NULL ) 00630 return ERRID_DEV_NOTINITIALIZED; 00631 00632 int iRetVal = g_apclDevice[iDeviceId]->getDefSetup( iModuleId, puiValue ); 00633 00634 return iRetVal; 00635 } 00636 00637 M5DLL_API int WINAPI PCube_getDefBaudRate( int iDeviceId, int iModuleId, unsigned char* pucValue ) 00638 { 00639 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00640 return ERRID_DEV_WRONGDEVICEID; 00641 if( g_apclDevice[iDeviceId] == NULL ) 00642 return ERRID_DEV_NOTINITIALIZED; 00643 00644 int iRetVal = g_apclDevice[iDeviceId]->getDefBaudRate( iModuleId, pucValue ); 00645 00646 return iRetVal; 00647 } 00648 00649 M5DLL_API int WINAPI PCube_getDefBurnCount( int iDeviceId, int iModuleId, unsigned char* pucValue ) 00650 { 00651 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00652 return ERRID_DEV_WRONGDEVICEID; 00653 if( g_apclDevice[iDeviceId] == NULL ) 00654 return ERRID_DEV_NOTINITIALIZED; 00655 00656 int iRetVal = g_apclDevice[iDeviceId]->getDefBurnCount( iModuleId, pucValue ); 00657 00658 return iRetVal; 00659 } 00660 00661 M5DLL_API int WINAPI PCube_getDefGearRatio( int iDeviceId, int iModuleId, float* pfValue ) 00662 { 00663 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00664 return ERRID_DEV_WRONGDEVICEID; 00665 if( g_apclDevice[iDeviceId] == NULL ) 00666 return ERRID_DEV_NOTINITIALIZED; 00667 00668 int iRetVal = g_apclDevice[iDeviceId]->getDefGearRatio( iModuleId, pfValue ); 00669 00670 return iRetVal; 00671 } 00672 00673 M5DLL_API int WINAPI PCube_getDefLinearRatio( int iDeviceId, int iModuleId, float* pfValue ) 00674 { 00675 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00676 return ERRID_DEV_WRONGDEVICEID; 00677 if( g_apclDevice[iDeviceId] == NULL ) 00678 return ERRID_DEV_NOTINITIALIZED; 00679 00680 int iRetVal = g_apclDevice[iDeviceId]->getDefLinearRatio( iModuleId, pfValue ); 00681 00682 return iRetVal; 00683 } 00684 00685 M5DLL_API int WINAPI PCube_getDefCurRatio( int iDeviceId, int iModuleId, float* pfValue ) 00686 { 00687 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00688 return ERRID_DEV_WRONGDEVICEID; 00689 if( g_apclDevice[iDeviceId] == NULL ) 00690 return ERRID_DEV_NOTINITIALIZED; 00691 00692 int iRetVal = g_apclDevice[iDeviceId]->getDefCurRatio( iModuleId, pfValue ); 00693 00694 return iRetVal; 00695 } 00696 00697 M5DLL_API int WINAPI PCube_getDefBrakeTimeOut( int iDeviceId, int iModuleId, unsigned short* puiValue ) 00698 { 00699 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00700 return ERRID_DEV_WRONGDEVICEID; 00701 if( g_apclDevice[iDeviceId] == NULL ) 00702 return ERRID_DEV_NOTINITIALIZED; 00703 00704 int iRetVal = g_apclDevice[iDeviceId]->getDefBrakeTimeOut( iModuleId, puiValue ); 00705 00706 return iRetVal; 00707 } 00708 00709 M5DLL_API int WINAPI PCube_getDefIncPerTurn( int iDeviceId, int iModuleId, unsigned long* puiValue ) 00710 { 00711 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00712 return ERRID_DEV_WRONGDEVICEID; 00713 if( g_apclDevice[iDeviceId] == NULL ) 00714 return ERRID_DEV_NOTINITIALIZED; 00715 00716 int iRetVal = g_apclDevice[iDeviceId]->getDefIncPerTurn( iModuleId, puiValue ); 00717 00718 return iRetVal; 00719 } 00720 00721 M5DLL_API int WINAPI PCube_getDefDioData( int iDeviceId, int iModuleId, unsigned long* puiValue ) 00722 { 00723 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00724 return ERRID_DEV_WRONGDEVICEID; 00725 if( g_apclDevice[iDeviceId] == NULL ) 00726 return ERRID_DEV_NOTINITIALIZED; 00727 00728 int iRetVal = g_apclDevice[iDeviceId]->getDefDioData( iModuleId, puiValue ); 00729 00730 return iRetVal; 00731 } 00732 00733 M5DLL_API int WINAPI PCube_getDefA0( int iDeviceId, int iModuleId, short* piValue ) 00734 { 00735 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00736 return ERRID_DEV_WRONGDEVICEID; 00737 if( g_apclDevice[iDeviceId] == NULL ) 00738 return ERRID_DEV_NOTINITIALIZED; 00739 00740 int iRetVal = g_apclDevice[iDeviceId]->getDefA0( iModuleId, piValue ); 00741 00742 return iRetVal; 00743 } 00744 00745 M5DLL_API int WINAPI PCube_getDefC0( int iDeviceId, int iModuleId, short* piValue ) 00746 { 00747 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00748 return ERRID_DEV_WRONGDEVICEID; 00749 if( g_apclDevice[iDeviceId] == NULL ) 00750 return ERRID_DEV_NOTINITIALIZED; 00751 00752 int iRetVal = g_apclDevice[iDeviceId]->getDefC0( iModuleId, piValue ); 00753 00754 return iRetVal; 00755 } 00756 00757 M5DLL_API int WINAPI PCube_getDefDamp( int iDeviceId, int iModuleId, short* piValue ) 00758 { 00759 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00760 return ERRID_DEV_WRONGDEVICEID; 00761 if( g_apclDevice[iDeviceId] == NULL ) 00762 return ERRID_DEV_NOTINITIALIZED; 00763 00764 int iRetVal = g_apclDevice[iDeviceId]->getDefDamp( iModuleId, piValue ); 00765 00766 return iRetVal; 00767 } 00768 00769 M5DLL_API int WINAPI PCube_getDefHomeOffset( int iDeviceId, int iModuleId, float* pfValue ) 00770 { 00771 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00772 return ERRID_DEV_WRONGDEVICEID; 00773 if( g_apclDevice[iDeviceId] == NULL ) 00774 return ERRID_DEV_NOTINITIALIZED; 00775 00776 int iRetVal = g_apclDevice[iDeviceId]->getDefHomeOffset( iModuleId, pfValue ); 00777 00778 return iRetVal; 00779 } 00780 00781 M5DLL_API int WINAPI PCube_getDefHomeVel( int iDeviceId, int iModuleId, float* pfValue ) 00782 { 00783 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00784 return ERRID_DEV_WRONGDEVICEID; 00785 if( g_apclDevice[iDeviceId] == NULL ) 00786 return ERRID_DEV_NOTINITIALIZED; 00787 00788 int iRetVal = g_apclDevice[iDeviceId]->getDefHomeVel( iModuleId, pfValue ); 00789 00790 return iRetVal; 00791 } 00792 00793 M5DLL_API int WINAPI PCube_getDefMinPos( int iDeviceId, int iModuleId, float* pfValue ) 00794 { 00795 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00796 return ERRID_DEV_WRONGDEVICEID; 00797 if( g_apclDevice[iDeviceId] == NULL ) 00798 return ERRID_DEV_NOTINITIALIZED; 00799 00800 int iRetVal = g_apclDevice[iDeviceId]->getDefMinPos( iModuleId, pfValue ); 00801 00802 return iRetVal; 00803 } 00804 00805 M5DLL_API int WINAPI PCube_getDefMaxPos( int iDeviceId, int iModuleId, float* pfValue ) 00806 { 00807 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00808 return ERRID_DEV_WRONGDEVICEID; 00809 if( g_apclDevice[iDeviceId] == NULL ) 00810 return ERRID_DEV_NOTINITIALIZED; 00811 00812 int iRetVal = g_apclDevice[iDeviceId]->getDefMaxPos( iModuleId, pfValue ); 00813 00814 return iRetVal; 00815 } 00816 00817 M5DLL_API int WINAPI PCube_getDefMaxVel( int iDeviceId, int iModuleId, float* pfValue ) 00818 { 00819 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00820 return ERRID_DEV_WRONGDEVICEID; 00821 if( g_apclDevice[iDeviceId] == NULL ) 00822 return ERRID_DEV_NOTINITIALIZED; 00823 00824 int iRetVal = g_apclDevice[iDeviceId]->getDefMaxVel( iModuleId, pfValue ); 00825 00826 return iRetVal; 00827 } 00828 00829 M5DLL_API int WINAPI PCube_getDefMaxAcc( int iDeviceId, int iModuleId, float* pfValue ) 00830 { 00831 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00832 return ERRID_DEV_WRONGDEVICEID; 00833 if( g_apclDevice[iDeviceId] == NULL ) 00834 return ERRID_DEV_NOTINITIALIZED; 00835 00836 int iRetVal = g_apclDevice[iDeviceId]->getDefMaxAcc( iModuleId, pfValue ); 00837 00838 return iRetVal; 00839 } 00840 00841 M5DLL_API int WINAPI PCube_getDefMaxCur( int iDeviceId, int iModuleId, float* pfValue ) 00842 { 00843 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00844 return ERRID_DEV_WRONGDEVICEID; 00845 if( g_apclDevice[iDeviceId] == NULL ) 00846 return ERRID_DEV_NOTINITIALIZED; 00847 00848 int iRetVal = g_apclDevice[iDeviceId]->getDefMaxCur( iModuleId, pfValue ); 00849 00850 return iRetVal; 00851 } 00852 00853 M5DLL_API int WINAPI PCube_getDefMaxDeltaPos( int iDeviceId, int iModuleId, float* pfValue ) 00854 { 00855 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00856 return ERRID_DEV_WRONGDEVICEID; 00857 if( g_apclDevice[iDeviceId] == NULL ) 00858 return ERRID_DEV_NOTINITIALIZED; 00859 00860 int iRetVal = g_apclDevice[iDeviceId]->getDefMaxDeltaPos( iModuleId, pfValue ); 00861 00862 return iRetVal; 00863 } 00864 00865 M5DLL_API int WINAPI PCube_getConfig( int iDeviceId, int iModuleId, unsigned long* puiValue ) 00866 { 00867 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00868 return ERRID_DEV_WRONGDEVICEID; 00869 if( g_apclDevice[iDeviceId] == NULL ) 00870 return ERRID_DEV_NOTINITIALIZED; 00871 00872 int iRetVal = g_apclDevice[iDeviceId]->getConfig( iModuleId, puiValue ); 00873 00874 return iRetVal; 00875 } 00876 00877 M5DLL_API int WINAPI PCube_getHomeOffset( int iDeviceId, int iModuleId, float* pValue ) 00878 { 00879 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00880 return ERRID_DEV_WRONGDEVICEID; 00881 if( g_apclDevice[iDeviceId] == NULL ) 00882 return ERRID_DEV_NOTINITIALIZED; 00883 00884 int iRetVal = g_apclDevice[iDeviceId]->getHomeOffset( iModuleId, pValue ); 00885 00886 return iRetVal; 00887 } 00888 00889 M5DLL_API int WINAPI PCube_getHomeOffsetInc( int iDeviceId, int iModuleId, long* piValue ) 00890 { 00891 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00892 return ERRID_DEV_WRONGDEVICEID; 00893 if( g_apclDevice[iDeviceId] == NULL ) 00894 return ERRID_DEV_NOTINITIALIZED; 00895 00896 int iRetVal = g_apclDevice[iDeviceId]->getHomeOffsetInc( iModuleId, piValue ); 00897 00898 return iRetVal; 00899 } 00900 00901 M5DLL_API int WINAPI PCube_getIncRatio( int iDeviceId, int iModuleId, float* pValue ) 00902 { 00903 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00904 return ERRID_DEV_WRONGDEVICEID; 00905 if( g_apclDevice[iDeviceId] == NULL ) 00906 return ERRID_DEV_NOTINITIALIZED; 00907 00908 int iRetVal = g_apclDevice[iDeviceId]->getIncRatio( iModuleId, pValue ); 00909 00910 return iRetVal; 00911 } 00912 00913 M5DLL_API int WINAPI PCube_getDioData( int iDeviceId, int iModuleId, unsigned long* puiValue ) 00914 { 00915 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00916 return ERRID_DEV_WRONGDEVICEID; 00917 if( g_apclDevice[iDeviceId] == NULL ) 00918 return ERRID_DEV_NOTINITIALIZED; 00919 00920 int iRetVal = g_apclDevice[iDeviceId]->getDioData( iModuleId, puiValue ); 00921 00922 return iRetVal; 00923 } 00924 00925 M5DLL_API int WINAPI PCube_getA0( int iDeviceId, int iModuleId, short* piValue ) 00926 { 00927 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00928 return ERRID_DEV_WRONGDEVICEID; 00929 if( g_apclDevice[iDeviceId] == NULL ) 00930 return ERRID_DEV_NOTINITIALIZED; 00931 00932 int iRetVal = g_apclDevice[iDeviceId]->getA0( iModuleId, piValue ); 00933 00934 return iRetVal; 00935 } 00936 00937 M5DLL_API int WINAPI PCube_getC0( int iDeviceId, int iModuleId, short* piValue ) 00938 { 00939 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00940 return ERRID_DEV_WRONGDEVICEID; 00941 if( g_apclDevice[iDeviceId] == NULL ) 00942 return ERRID_DEV_NOTINITIALIZED; 00943 00944 int iRetVal = g_apclDevice[iDeviceId]->getC0( iModuleId, piValue ); 00945 00946 return iRetVal; 00947 } 00948 00949 M5DLL_API int WINAPI PCube_getDamp( int iDeviceId, int iModuleId, short* piValue ) 00950 { 00951 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00952 return ERRID_DEV_WRONGDEVICEID; 00953 if( g_apclDevice[iDeviceId] == NULL ) 00954 return ERRID_DEV_NOTINITIALIZED; 00955 00956 int iRetVal = g_apclDevice[iDeviceId]->getDamp( iModuleId, piValue ); 00957 00958 return iRetVal; 00959 } 00960 00961 M5DLL_API int WINAPI PCube_getPos( int iDeviceId, int iModuleId, float* pfPos ) 00962 { 00963 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00964 return ERRID_DEV_WRONGDEVICEID; 00965 if( g_apclDevice[iDeviceId] == NULL ) 00966 return ERRID_DEV_NOTINITIALIZED; 00967 00968 int iRetVal = g_apclDevice[iDeviceId]->getPos( iModuleId, pfPos ); 00969 00970 return iRetVal; 00971 } 00972 00973 M5DLL_API int WINAPI PCube_getVel( int iDeviceId, int iModuleId, float* pfVel ) 00974 { 00975 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00976 return ERRID_DEV_WRONGDEVICEID; 00977 if( g_apclDevice[iDeviceId] == NULL ) 00978 return ERRID_DEV_NOTINITIALIZED; 00979 00980 int iRetVal = g_apclDevice[iDeviceId]->getVel( iModuleId, pfVel ); 00981 00982 return iRetVal; 00983 } 00984 00985 M5DLL_API int WINAPI PCube_getCur( int iDeviceId, int iModuleId, float* pfCur ) 00986 { 00987 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 00988 return ERRID_DEV_WRONGDEVICEID; 00989 if( g_apclDevice[iDeviceId] == NULL ) 00990 return ERRID_DEV_NOTINITIALIZED; 00991 00992 int iRetVal = g_apclDevice[iDeviceId]->getCur( iModuleId, pfCur ); 00993 00994 return iRetVal; 00995 } 00996 00997 M5DLL_API int WINAPI PCube_getMinPos( int iDeviceId, int iModuleId, float* pfValue ) 00998 { 00999 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01000 return ERRID_DEV_WRONGDEVICEID; 01001 if( g_apclDevice[iDeviceId] == NULL ) 01002 return ERRID_DEV_NOTINITIALIZED; 01003 01004 int iRetVal = g_apclDevice[iDeviceId]->getMinPos( iModuleId, pfValue ); 01005 01006 return iRetVal; 01007 } 01008 01009 M5DLL_API int WINAPI PCube_getMaxPos( int iDeviceId, int iModuleId, float* pfValue ) 01010 { 01011 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01012 return ERRID_DEV_WRONGDEVICEID; 01013 if( g_apclDevice[iDeviceId] == NULL ) 01014 return ERRID_DEV_NOTINITIALIZED; 01015 01016 int iRetVal = g_apclDevice[iDeviceId]->getMaxPos( iModuleId, pfValue ); 01017 01018 return iRetVal; 01019 } 01020 01021 M5DLL_API int WINAPI PCube_getMaxVel( int iDeviceId, int iModuleId, float* pfValue ) 01022 { 01023 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01024 return ERRID_DEV_WRONGDEVICEID; 01025 if( g_apclDevice[iDeviceId] == NULL ) 01026 return ERRID_DEV_NOTINITIALIZED; 01027 01028 int iRetVal = g_apclDevice[iDeviceId]->getMaxVel( iModuleId, pfValue ); 01029 01030 return iRetVal; 01031 } 01032 01033 M5DLL_API int WINAPI PCube_getMaxAcc( int iDeviceId, int iModuleId, float* pfValue ) 01034 { 01035 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01036 return ERRID_DEV_WRONGDEVICEID; 01037 if( g_apclDevice[iDeviceId] == NULL ) 01038 return ERRID_DEV_NOTINITIALIZED; 01039 01040 int iRetVal = g_apclDevice[iDeviceId]->getMaxAcc( iModuleId, pfValue ); 01041 01042 return iRetVal; 01043 } 01044 01045 M5DLL_API int WINAPI PCube_getMaxCur( int iDeviceId, int iModuleId, float* pfValue ) 01046 { 01047 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01048 return ERRID_DEV_WRONGDEVICEID; 01049 if( g_apclDevice[iDeviceId] == NULL ) 01050 return ERRID_DEV_NOTINITIALIZED; 01051 01052 int iRetVal = g_apclDevice[iDeviceId]->getMaxCur( iModuleId, pfValue ); 01053 01054 return iRetVal; 01055 } 01056 01057 M5DLL_API int WINAPI PCube_getDeltaPos( int iDeviceId, int iModuleId, float* pfValue ) 01058 { 01059 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01060 return ERRID_DEV_WRONGDEVICEID; 01061 if( g_apclDevice[iDeviceId] == NULL ) 01062 return ERRID_DEV_NOTINITIALIZED; 01063 01064 int iRetVal = g_apclDevice[iDeviceId]->getDeltaPos( iModuleId, pfValue ); 01065 01066 return iRetVal; 01067 } 01068 01069 M5DLL_API int WINAPI PCube_getMaxDeltaPos( int iDeviceId, int iModuleId, float* pfValue ) 01070 { 01071 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01072 return ERRID_DEV_WRONGDEVICEID; 01073 if( g_apclDevice[iDeviceId] == NULL ) 01074 return ERRID_DEV_NOTINITIALIZED; 01075 01076 int iRetVal = g_apclDevice[iDeviceId]->getMaxDeltaPos( iModuleId, pfValue ); 01077 01078 return iRetVal; 01079 } 01080 01081 M5DLL_API int WINAPI PCube_getSavePos( int iDeviceId, int iModuleId, float* pfValue ) 01082 { 01083 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01084 return ERRID_DEV_WRONGDEVICEID; 01085 if( g_apclDevice[iDeviceId] == NULL ) 01086 return ERRID_DEV_NOTINITIALIZED; 01087 01088 int iRetVal = g_apclDevice[iDeviceId]->getSavePos( iModuleId, pfValue ); 01089 01090 return iRetVal; 01091 } 01092 01093 M5DLL_API int WINAPI PCube_getIPolVel( int iDeviceId, int iModuleId, float* pValue ) 01094 { 01095 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01096 return ERRID_DEV_WRONGDEVICEID; 01097 if( g_apclDevice[iDeviceId] == NULL ) 01098 return ERRID_DEV_NOTINITIALIZED; 01099 01100 int iRetVal = g_apclDevice[iDeviceId]->getIPolVel( iModuleId, pValue ); 01101 01102 return iRetVal; 01103 } 01104 01105 M5DLL_API int WINAPI PCube_getPosCountInc( int iDeviceId, int iModuleId, long* piValue ) 01106 { 01107 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01108 return ERRID_DEV_WRONGDEVICEID; 01109 if( g_apclDevice[iDeviceId] == NULL ) 01110 return ERRID_DEV_NOTINITIALIZED; 01111 01112 int iRetVal = g_apclDevice[iDeviceId]->getPosCountInc( iModuleId, piValue ); 01113 01114 return iRetVal; 01115 } 01116 01117 M5DLL_API int WINAPI PCube_getPosInc( int iDeviceId, int iModuleId, long* piValue ) 01118 { 01119 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01120 return ERRID_DEV_WRONGDEVICEID; 01121 if( g_apclDevice[iDeviceId] == NULL ) 01122 return ERRID_DEV_NOTINITIALIZED; 01123 01124 int iRetVal = g_apclDevice[iDeviceId]->getPosInc( iModuleId, piValue ); 01125 01126 return iRetVal; 01127 } 01128 01129 M5DLL_API int WINAPI PCube_getVelInc( int iDeviceId, int iModuleId, long* piValue ) 01130 { 01131 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01132 return ERRID_DEV_WRONGDEVICEID; 01133 if( g_apclDevice[iDeviceId] == NULL ) 01134 return ERRID_DEV_NOTINITIALIZED; 01135 01136 int iRetVal = g_apclDevice[iDeviceId]->getVelInc( iModuleId, piValue ); 01137 01138 return iRetVal; 01139 } 01140 01141 M5DLL_API int WINAPI PCube_getCurInc( int iDeviceId, int iModuleId, short* piValue ) 01142 { 01143 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01144 return ERRID_DEV_WRONGDEVICEID; 01145 if( g_apclDevice[iDeviceId] == NULL ) 01146 return ERRID_DEV_NOTINITIALIZED; 01147 01148 int iRetVal = g_apclDevice[iDeviceId]->getCurInc( iModuleId, piValue ); 01149 01150 return iRetVal; 01151 } 01152 01153 M5DLL_API int WINAPI PCube_getMinPosInc( int iDeviceId, int iModuleId, long* piValue ) 01154 { 01155 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01156 return ERRID_DEV_WRONGDEVICEID; 01157 if( g_apclDevice[iDeviceId] == NULL ) 01158 return ERRID_DEV_NOTINITIALIZED; 01159 01160 int iRetVal = g_apclDevice[iDeviceId]->getMinPosInc( iModuleId, piValue ); 01161 01162 return iRetVal; 01163 } 01164 01165 M5DLL_API int WINAPI PCube_getMaxPosInc( int iDeviceId, int iModuleId, long* piValue ) 01166 { 01167 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01168 return ERRID_DEV_WRONGDEVICEID; 01169 if( g_apclDevice[iDeviceId] == NULL ) 01170 return ERRID_DEV_NOTINITIALIZED; 01171 01172 int iRetVal = g_apclDevice[iDeviceId]->getMaxPosInc( iModuleId, piValue ); 01173 01174 return iRetVal; 01175 } 01176 01177 M5DLL_API int WINAPI PCube_getMaxVelInc( int iDeviceId, int iModuleId, long* piValue ) 01178 { 01179 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01180 return ERRID_DEV_WRONGDEVICEID; 01181 if( g_apclDevice[iDeviceId] == NULL ) 01182 return ERRID_DEV_NOTINITIALIZED; 01183 01184 int iRetVal = g_apclDevice[iDeviceId]->getMaxVelInc( iModuleId, piValue ); 01185 01186 return iRetVal; 01187 } 01188 01189 M5DLL_API int WINAPI PCube_getMaxAccInc( int iDeviceId, int iModuleId, long* piValue ) 01190 { 01191 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01192 return ERRID_DEV_WRONGDEVICEID; 01193 if( g_apclDevice[iDeviceId] == NULL ) 01194 return ERRID_DEV_NOTINITIALIZED; 01195 01196 int iRetVal = g_apclDevice[iDeviceId]->getMaxAccInc( iModuleId, piValue ); 01197 01198 return iRetVal; 01199 } 01200 01201 M5DLL_API int WINAPI PCube_getDeltaPosInc( int iDeviceId, int iModuleId, long* piValue ) 01202 { 01203 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01204 return ERRID_DEV_WRONGDEVICEID; 01205 if( g_apclDevice[iDeviceId] == NULL ) 01206 return ERRID_DEV_NOTINITIALIZED; 01207 01208 int iRetVal = g_apclDevice[iDeviceId]->getDeltaPosInc( iModuleId, piValue ); 01209 01210 return iRetVal; 01211 } 01212 01213 M5DLL_API int WINAPI PCube_getMaxDeltaPosInc( int iDeviceId, int iModuleId, long* piValue ) 01214 { 01215 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01216 return ERRID_DEV_WRONGDEVICEID; 01217 if( g_apclDevice[iDeviceId] == NULL ) 01218 return ERRID_DEV_NOTINITIALIZED; 01219 01220 int iRetVal = g_apclDevice[iDeviceId]->getMaxDeltaPosInc( iModuleId, piValue ); 01221 01222 return iRetVal; 01223 } 01224 01225 M5DLL_API int WINAPI PCube_getStateDioPos( int iDeviceId, int iModuleId, unsigned long* puiState, unsigned char* pucDio, float* pfPos ) 01226 { 01227 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01228 return ERRID_DEV_WRONGDEVICEID; 01229 if( g_apclDevice[iDeviceId] == NULL ) 01230 return ERRID_DEV_NOTINITIALIZED; 01231 01232 int iRetVal = g_apclDevice[iDeviceId]->getStateDioPos( iModuleId, puiState, pucDio, pfPos); 01233 01234 return iRetVal; 01235 } 01236 01237 M5DLL_API int WINAPI PCube_getHomeVel( int iDeviceId, int iModuleId, float* pValue ) 01238 { 01239 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01240 return ERRID_DEV_WRONGDEVICEID; 01241 if( g_apclDevice[iDeviceId] == NULL ) 01242 return ERRID_DEV_NOTINITIALIZED; 01243 01244 int iRetVal = g_apclDevice[iDeviceId]->getHomeVel( iModuleId, pValue ); 01245 01246 return iRetVal; 01247 } 01248 01249 M5DLL_API int WINAPI PCube_getHomeVelInc( int iDeviceId, int iModuleId, long* piValue ) 01250 { 01251 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01252 return ERRID_DEV_WRONGDEVICEID; 01253 if( g_apclDevice[iDeviceId] == NULL ) 01254 return ERRID_DEV_NOTINITIALIZED; 01255 01256 int iRetVal = g_apclDevice[iDeviceId]->getHomeVelInc( iModuleId, piValue ); 01257 01258 return iRetVal; 01259 } 01260 01261 M5DLL_API int WINAPI PCube_getSyncTime( int iDeviceId, int iModuleId, short* piValue ) 01262 { 01263 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01264 return ERRID_DEV_WRONGDEVICEID; 01265 if( g_apclDevice[iDeviceId] == NULL ) 01266 return ERRID_DEV_NOTINITIALIZED; 01267 01268 int iRetVal = g_apclDevice[iDeviceId]->getSyncTime( iModuleId, piValue ); 01269 01270 return iRetVal; 01271 } 01272 01273 M5DLL_API int WINAPI PCube_setConfig( int iDeviceId, int iModuleId, unsigned long puiValue ) 01274 { 01275 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01276 return ERRID_DEV_WRONGDEVICEID; 01277 if( g_apclDevice[iDeviceId] == NULL ) 01278 return ERRID_DEV_NOTINITIALIZED; 01279 01280 int iRetVal = g_apclDevice[iDeviceId]->setConfig( iModuleId, puiValue ); 01281 01282 return iRetVal; 01283 } 01284 01285 M5DLL_API int WINAPI PCube_setHomeOffset( int iDeviceId, int iModuleId, float fValue ) 01286 { 01287 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01288 return ERRID_DEV_WRONGDEVICEID; 01289 if( g_apclDevice[iDeviceId] == NULL ) 01290 return ERRID_DEV_NOTINITIALIZED; 01291 01292 int iRetVal = g_apclDevice[iDeviceId]->setHomeOffset( iModuleId, fValue ); 01293 01294 return iRetVal; 01295 } 01296 01297 M5DLL_API int WINAPI PCube_setHomeOffsetInc( int iDeviceId, int iModuleId, long iValue ) 01298 { 01299 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01300 return ERRID_DEV_WRONGDEVICEID; 01301 if( g_apclDevice[iDeviceId] == NULL ) 01302 return ERRID_DEV_NOTINITIALIZED; 01303 01304 int iRetVal = g_apclDevice[iDeviceId]->setHomeOffsetInc( iModuleId, iValue ); 01305 01306 return iRetVal; 01307 } 01308 01309 M5DLL_API int WINAPI PCube_setDioData( int iDeviceId, int iModuleId, unsigned long uiValue ) 01310 { 01311 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01312 return ERRID_DEV_WRONGDEVICEID; 01313 if( g_apclDevice[iDeviceId] == NULL ) 01314 return ERRID_DEV_NOTINITIALIZED; 01315 01316 int iRetVal = g_apclDevice[iDeviceId]->setDioData( iModuleId, uiValue ); 01317 01318 return iRetVal; 01319 } 01320 01321 M5DLL_API int WINAPI PCube_setA0( int iDeviceId, int iModuleId, short iValue ) 01322 { 01323 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01324 return ERRID_DEV_WRONGDEVICEID; 01325 if( g_apclDevice[iDeviceId] == NULL ) 01326 return ERRID_DEV_NOTINITIALIZED; 01327 01328 int iRetVal = g_apclDevice[iDeviceId]->setA0( iModuleId, iValue ); 01329 01330 return iRetVal; 01331 } 01332 01333 M5DLL_API int WINAPI PCube_setC0( int iDeviceId, int iModuleId, short iValue ) 01334 { 01335 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01336 return ERRID_DEV_WRONGDEVICEID; 01337 if( g_apclDevice[iDeviceId] == NULL ) 01338 return ERRID_DEV_NOTINITIALIZED; 01339 01340 int iRetVal = g_apclDevice[iDeviceId]->setC0( iModuleId, iValue ); 01341 01342 return iRetVal; 01343 } 01344 01345 M5DLL_API int WINAPI PCube_setDamp( int iDeviceId, int iModuleId, short iValue ) 01346 { 01347 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01348 return ERRID_DEV_WRONGDEVICEID; 01349 if( g_apclDevice[iDeviceId] == NULL ) 01350 return ERRID_DEV_NOTINITIALIZED; 01351 01352 int iRetVal = g_apclDevice[iDeviceId]->setDamp( iModuleId, iValue ); 01353 01354 return iRetVal; 01355 } 01356 01357 M5DLL_API int WINAPI PCube_setMinPos( int iDeviceId, int iModuleId, float fValue ) 01358 { 01359 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01360 return ERRID_DEV_WRONGDEVICEID; 01361 if( g_apclDevice[iDeviceId] == NULL ) 01362 return ERRID_DEV_NOTINITIALIZED; 01363 01364 int iRetVal = g_apclDevice[iDeviceId]->setMinPos( iModuleId, fValue ); 01365 01366 return iRetVal; 01367 } 01368 01369 M5DLL_API int WINAPI PCube_setMaxPos( int iDeviceId, int iModuleId, float fValue ) 01370 { 01371 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01372 return ERRID_DEV_WRONGDEVICEID; 01373 if( g_apclDevice[iDeviceId] == NULL ) 01374 return ERRID_DEV_NOTINITIALIZED; 01375 01376 int iRetVal = g_apclDevice[iDeviceId]->setMaxPos( iModuleId, fValue ); 01377 01378 return iRetVal; 01379 } 01380 01381 M5DLL_API int WINAPI PCube_setMaxVel( int iDeviceId, int iModuleId, float fValue ) 01382 { 01383 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01384 return ERRID_DEV_WRONGDEVICEID; 01385 if( g_apclDevice[iDeviceId] == NULL ) 01386 return ERRID_DEV_NOTINITIALIZED; 01387 01388 int iRetVal = g_apclDevice[iDeviceId]->setMaxVel( iModuleId, fValue ); 01389 01390 return iRetVal; 01391 } 01392 01393 M5DLL_API int WINAPI PCube_setMaxAcc( int iDeviceId, int iModuleId, float fValue ) 01394 { 01395 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01396 return ERRID_DEV_WRONGDEVICEID; 01397 if( g_apclDevice[iDeviceId] == NULL ) 01398 return ERRID_DEV_NOTINITIALIZED; 01399 01400 int iRetVal = g_apclDevice[iDeviceId]->setMaxAcc( iModuleId, fValue ); 01401 01402 return iRetVal; 01403 } 01404 01405 M5DLL_API int WINAPI PCube_setMaxCur( int iDeviceId, int iModuleId, float fValue ) 01406 { 01407 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01408 return ERRID_DEV_WRONGDEVICEID; 01409 if( g_apclDevice[iDeviceId] == NULL ) 01410 return ERRID_DEV_NOTINITIALIZED; 01411 01412 int iRetVal = g_apclDevice[iDeviceId]->setMaxCur( iModuleId, fValue ); 01413 01414 return iRetVal; 01415 } 01416 01417 M5DLL_API int WINAPI PCube_setMaxDeltaPos( int iDeviceId, int iModuleId, float fValue ) 01418 { 01419 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01420 return ERRID_DEV_WRONGDEVICEID; 01421 if( g_apclDevice[iDeviceId] == NULL ) 01422 return ERRID_DEV_NOTINITIALIZED; 01423 01424 int iRetVal = g_apclDevice[iDeviceId]->setMaxDeltaPos( iModuleId, fValue ); 01425 01426 return iRetVal; 01427 } 01428 01429 M5DLL_API int WINAPI PCube_setMinPosInc( int iDeviceId, int iModuleId, long iValue ) 01430 { 01431 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01432 return ERRID_DEV_WRONGDEVICEID; 01433 if( g_apclDevice[iDeviceId] == NULL ) 01434 return ERRID_DEV_NOTINITIALIZED; 01435 01436 int iRetVal = g_apclDevice[iDeviceId]->setMinPosInc( iModuleId, iValue ); 01437 01438 return iRetVal; 01439 } 01440 01441 M5DLL_API int WINAPI PCube_setMaxPosInc( int iDeviceId, int iModuleId, long iValue ) 01442 { 01443 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01444 return ERRID_DEV_WRONGDEVICEID; 01445 if( g_apclDevice[iDeviceId] == NULL ) 01446 return ERRID_DEV_NOTINITIALIZED; 01447 01448 int iRetVal = g_apclDevice[iDeviceId]->setMaxPosInc( iModuleId, iValue ); 01449 01450 return iRetVal; 01451 } 01452 01453 M5DLL_API int WINAPI PCube_setMaxVelInc( int iDeviceId, int iModuleId, long iValue ) 01454 { 01455 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01456 return ERRID_DEV_WRONGDEVICEID; 01457 if( g_apclDevice[iDeviceId] == NULL ) 01458 return ERRID_DEV_NOTINITIALIZED; 01459 01460 int iRetVal = g_apclDevice[iDeviceId]->setMaxVelInc( iModuleId, iValue ); 01461 01462 return iRetVal; 01463 } 01464 01465 M5DLL_API int WINAPI PCube_setMaxAccInc( int iDeviceId, int iModuleId, long iValue ) 01466 { 01467 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01468 return ERRID_DEV_WRONGDEVICEID; 01469 if( g_apclDevice[iDeviceId] == NULL ) 01470 return ERRID_DEV_NOTINITIALIZED; 01471 01472 int iRetVal = g_apclDevice[iDeviceId]->setMaxAccInc( iModuleId, iValue ); 01473 01474 return iRetVal; 01475 } 01476 01477 M5DLL_API int WINAPI PCube_setMaxDeltaPosInc( int iDeviceId, int iModuleId, long iValue ) 01478 { 01479 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01480 return ERRID_DEV_WRONGDEVICEID; 01481 if( g_apclDevice[iDeviceId] == NULL ) 01482 return ERRID_DEV_NOTINITIALIZED; 01483 01484 int iRetVal = g_apclDevice[iDeviceId]->setMaxDeltaPosInc( iModuleId, iValue ); 01485 01486 return iRetVal; 01487 } 01488 01489 M5DLL_API int WINAPI PCube_setHomeVel( int iDeviceId, int iModuleId, float fValue ) 01490 { 01491 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01492 return ERRID_DEV_WRONGDEVICEID; 01493 if( g_apclDevice[iDeviceId] == NULL ) 01494 return ERRID_DEV_NOTINITIALIZED; 01495 01496 int iRetVal = g_apclDevice[iDeviceId]->setHomeVel( iModuleId, fValue ); 01497 01498 return iRetVal; 01499 } 01500 01501 M5DLL_API int WINAPI PCube_setHomeVelInc( int iDeviceId, int iModuleId, long iValue ) 01502 { 01503 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01504 return ERRID_DEV_WRONGDEVICEID; 01505 if( g_apclDevice[iDeviceId] == NULL ) 01506 return ERRID_DEV_NOTINITIALIZED; 01507 01508 int iRetVal = g_apclDevice[iDeviceId]->setHomeVelInc( iModuleId, iValue ); 01509 01510 return iRetVal; 01511 } 01512 01513 M5DLL_API int WINAPI PCube_setRampVel( int iDeviceId, int iModuleId, float fValue ) 01514 { 01515 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01516 return ERRID_DEV_WRONGDEVICEID; 01517 if( g_apclDevice[iDeviceId] == NULL ) 01518 return ERRID_DEV_NOTINITIALIZED; 01519 01520 int iRetVal = g_apclDevice[iDeviceId]->setRampVel( iModuleId, fValue ); 01521 01522 return iRetVal; 01523 } 01524 01525 M5DLL_API int WINAPI PCube_setRampVelInc( int iDeviceId, int iModuleId, long iValue ) 01526 { 01527 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01528 return ERRID_DEV_WRONGDEVICEID; 01529 if( g_apclDevice[iDeviceId] == NULL ) 01530 return ERRID_DEV_NOTINITIALIZED; 01531 01532 int iRetVal = g_apclDevice[iDeviceId]->setRampVelInc( iModuleId, iValue ); 01533 01534 return iRetVal; 01535 } 01536 01537 M5DLL_API int WINAPI PCube_setRampAcc( int iDeviceId, int iModuleId, float fValue ) 01538 { 01539 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01540 return ERRID_DEV_WRONGDEVICEID; 01541 if( g_apclDevice[iDeviceId] == NULL ) 01542 return ERRID_DEV_NOTINITIALIZED; 01543 01544 int iRetVal = g_apclDevice[iDeviceId]->setRampAcc( iModuleId, fValue ); 01545 01546 return iRetVal; 01547 } 01548 01549 M5DLL_API int WINAPI PCube_setRampAccInc( int iDeviceId, int iModuleId, long iValue ) 01550 { 01551 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01552 return ERRID_DEV_WRONGDEVICEID; 01553 if( g_apclDevice[iDeviceId] == NULL ) 01554 return ERRID_DEV_NOTINITIALIZED; 01555 01556 int iRetVal = g_apclDevice[iDeviceId]->setRampAccInc( iModuleId, iValue ); 01557 01558 return iRetVal; 01559 } 01560 01561 M5DLL_API int WINAPI PCube_setSyncTime( int iDeviceId, int iModuleId, short iValue ) 01562 { 01563 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01564 return ERRID_DEV_WRONGDEVICEID; 01565 if( g_apclDevice[iDeviceId] == NULL ) 01566 return ERRID_DEV_NOTINITIALIZED; 01567 01568 int iRetVal = g_apclDevice[iDeviceId]->setSyncTime( iModuleId, iValue ); 01569 01570 return iRetVal; 01571 } 01572 01573 M5DLL_API int WINAPI PCube_updateModuleIdMap( int iDeviceId ) 01574 { 01575 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01576 return ERRID_DEV_WRONGDEVICEID; 01577 if( g_apclDevice[iDeviceId] == NULL ) 01578 return ERRID_DEV_NOTINITIALIZED; 01579 01580 int iRetVal = g_apclDevice[iDeviceId]->updateModuleIdMap(); 01581 01582 return iRetVal; 01583 } 01584 01585 M5DLL_API int WINAPI PCube_homeModule( int iDeviceId, int iModuleId ) 01586 { 01587 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01588 return ERRID_DEV_WRONGDEVICEID; 01589 if( g_apclDevice[iDeviceId] == NULL ) 01590 return ERRID_DEV_NOTINITIALIZED; 01591 01592 int iRetVal = g_apclDevice[iDeviceId]->homeModule( iModuleId ); 01593 01594 return iRetVal; 01595 } 01596 01597 M5DLL_API int WINAPI PCube_haltModule( int iDeviceId, int iModuleId ) 01598 { 01599 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01600 return ERRID_DEV_WRONGDEVICEID; 01601 if( g_apclDevice[iDeviceId] == NULL ) 01602 return ERRID_DEV_NOTINITIALIZED; 01603 01604 int iRetVal = g_apclDevice[iDeviceId]->haltModule( iModuleId ); 01605 01606 return iRetVal; 01607 } 01608 01609 M5DLL_API int WINAPI PCube_resetModule( int iDeviceId, int iModuleId ) 01610 { 01611 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01612 return ERRID_DEV_WRONGDEVICEID; 01613 if( g_apclDevice[iDeviceId] == NULL ) 01614 return ERRID_DEV_NOTINITIALIZED; 01615 01616 int iRetVal = g_apclDevice[iDeviceId]->resetModule( iModuleId ); 01617 01618 return iRetVal; 01619 } 01620 01621 M5DLL_API int WINAPI PCube_recalcPIDParams( int iDeviceId, int iModuleId ) 01622 { 01623 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01624 return ERRID_DEV_WRONGDEVICEID; 01625 if( g_apclDevice[iDeviceId] == NULL ) 01626 return ERRID_DEV_NOTINITIALIZED; 01627 01628 int iRetVal = g_apclDevice[iDeviceId]->recalcPIDParams( iModuleId ); 01629 01630 return iRetVal; 01631 } 01632 01633 M5DLL_API int WINAPI PCube_movePos( int iDeviceId, int iModuleId, float fPos ) 01634 { 01635 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01636 return ERRID_DEV_WRONGDEVICEID; 01637 if( g_apclDevice[iDeviceId] == NULL ) 01638 return ERRID_DEV_NOTINITIALIZED; 01639 01640 int iRetVal = g_apclDevice[iDeviceId]->movePos( iModuleId, fPos ); 01641 01642 return iRetVal; 01643 } 01644 01645 M5DLL_API int WINAPI PCube_moveRamp( int iDeviceId, int iModuleId, float fPos, float fVel, float fAcc ) 01646 { 01647 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01648 return ERRID_DEV_WRONGDEVICEID; 01649 if( g_apclDevice[iDeviceId] == NULL ) 01650 return ERRID_DEV_NOTINITIALIZED; 01651 01652 int iRetVal = g_apclDevice[iDeviceId]->moveRamp( iModuleId, fPos, fVel, fAcc ); 01653 01654 return iRetVal; 01655 } 01656 01657 M5DLL_API int WINAPI PCube_moveVel( int iDeviceId, int iModuleId, float fVel ) 01658 { 01659 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01660 return ERRID_DEV_WRONGDEVICEID; 01661 if( g_apclDevice[iDeviceId] == NULL ) 01662 return ERRID_DEV_NOTINITIALIZED; 01663 01664 int iRetVal = g_apclDevice[iDeviceId]->moveVel( iModuleId, fVel ); 01665 01666 return iRetVal; 01667 } 01668 01669 M5DLL_API int WINAPI PCube_moveCur( int iDeviceId, int iModuleId, float fCur ) 01670 { 01671 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01672 return ERRID_DEV_WRONGDEVICEID; 01673 if( g_apclDevice[iDeviceId] == NULL ) 01674 return ERRID_DEV_NOTINITIALIZED; 01675 01676 int iRetVal = g_apclDevice[iDeviceId]->moveCur( iModuleId, fCur ); 01677 01678 return iRetVal; 01679 } 01680 01681 M5DLL_API int WINAPI PCube_moveStep( int iDeviceId, int iModuleId, float fPos, unsigned short uiTime ) 01682 { 01683 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01684 return ERRID_DEV_WRONGDEVICEID; 01685 if( g_apclDevice[iDeviceId] == NULL ) 01686 return ERRID_DEV_NOTINITIALIZED; 01687 01688 int iRetVal = g_apclDevice[iDeviceId]->moveStep( iModuleId, fPos, uiTime ); 01689 01690 return iRetVal; 01691 } 01692 01693 M5DLL_API int WINAPI PCube_movePosInc( int iDeviceId, int iModuleId, long iPos ) 01694 { 01695 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01696 return ERRID_DEV_WRONGDEVICEID; 01697 if( g_apclDevice[iDeviceId] == NULL ) 01698 return ERRID_DEV_NOTINITIALIZED; 01699 01700 int iRetVal = g_apclDevice[iDeviceId]->movePosInc( iModuleId, iPos ); 01701 01702 return iRetVal; 01703 } 01704 01705 M5DLL_API int WINAPI PCube_moveRampInc( int iDeviceId, int iModuleId, long iPos, long iVel, long iAcc ) 01706 { 01707 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01708 return ERRID_DEV_WRONGDEVICEID; 01709 if( g_apclDevice[iDeviceId] == NULL ) 01710 return ERRID_DEV_NOTINITIALIZED; 01711 01712 int iRetVal = g_apclDevice[iDeviceId]->moveRampInc( iModuleId, iPos, iVel, iAcc ); 01713 01714 return iRetVal; 01715 } 01716 01717 M5DLL_API int WINAPI PCube_moveVelInc( int iDeviceId, int iModuleId, long iVel ) 01718 { 01719 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01720 return ERRID_DEV_WRONGDEVICEID; 01721 if( g_apclDevice[iDeviceId] == NULL ) 01722 return ERRID_DEV_NOTINITIALIZED; 01723 01724 int iRetVal = g_apclDevice[iDeviceId]->moveVelInc( iModuleId, iVel ); 01725 01726 return iRetVal; 01727 } 01728 01729 M5DLL_API int WINAPI PCube_moveCurInc( int iDeviceId, int iModuleId, long iCur ) 01730 { 01731 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01732 return ERRID_DEV_WRONGDEVICEID; 01733 if( g_apclDevice[iDeviceId] == NULL ) 01734 return ERRID_DEV_NOTINITIALIZED; 01735 01736 int iRetVal = g_apclDevice[iDeviceId]->moveCurInc( iModuleId, iCur ); 01737 01738 return iRetVal; 01739 } 01740 01741 M5DLL_API int WINAPI PCube_moveStepInc( int iDeviceId, int iModuleId, long iPos, unsigned short uiTime ) 01742 { 01743 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01744 return ERRID_DEV_WRONGDEVICEID; 01745 if( g_apclDevice[iDeviceId] == NULL ) 01746 return ERRID_DEV_NOTINITIALIZED; 01747 01748 int iRetVal = g_apclDevice[iDeviceId]->moveStepInc( iModuleId, iPos, uiTime ); 01749 01750 return iRetVal; 01751 } 01752 01753 M5DLL_API int WINAPI PCube_movePosExtended( int iDeviceId, int iModuleId, float fPos, unsigned long* puiState, unsigned char* pucDio, float* pfPos ) 01754 { 01755 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01756 return ERRID_DEV_WRONGDEVICEID; 01757 if( g_apclDevice[iDeviceId] == NULL ) 01758 return ERRID_DEV_NOTINITIALIZED; 01759 01760 int iRetVal = g_apclDevice[iDeviceId]->movePosExtended( iModuleId, fPos, puiState, pucDio, pfPos ); 01761 01762 return iRetVal; 01763 } 01764 01765 M5DLL_API int WINAPI PCube_moveRampExtended( int iDeviceId, int iModuleId, float fPos, float fVel, float fAcc, unsigned long* puiState, unsigned char* pucDio, float* pfPos ) 01766 { 01767 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01768 return ERRID_DEV_WRONGDEVICEID; 01769 if( g_apclDevice[iDeviceId] == NULL ) 01770 return ERRID_DEV_NOTINITIALIZED; 01771 01772 int iRetVal = g_apclDevice[iDeviceId]->moveRampExtended( iModuleId, fPos, fVel, fAcc, puiState, pucDio, pfPos ); 01773 01774 return iRetVal; 01775 } 01776 01777 M5DLL_API int WINAPI PCube_moveVelExtended( int iDeviceId, int iModuleId, float fCur, unsigned long* puiState, unsigned char* pucDio, float* pfPos ) 01778 { 01779 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01780 return ERRID_DEV_WRONGDEVICEID; 01781 if( g_apclDevice[iDeviceId] == NULL ) 01782 return ERRID_DEV_NOTINITIALIZED; 01783 01784 int iRetVal = g_apclDevice[iDeviceId]->moveVelExtended( iModuleId, fCur, puiState, pucDio, pfPos ); 01785 01786 return iRetVal; 01787 } 01788 01789 M5DLL_API int WINAPI PCube_moveCurExtended( int iDeviceId, int iModuleId, float fCur, unsigned long* puiState, unsigned char* pucDio, float* pfPos ) 01790 { 01791 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01792 return ERRID_DEV_WRONGDEVICEID; 01793 if( g_apclDevice[iDeviceId] == NULL ) 01794 return ERRID_DEV_NOTINITIALIZED; 01795 01796 int iRetVal = g_apclDevice[iDeviceId]->moveCurExtended( iModuleId, fCur, puiState, pucDio, pfPos ); 01797 01798 return iRetVal; 01799 } 01800 01801 M5DLL_API int WINAPI PCube_moveStepExtended( int iDeviceId, int iModuleId, float fPos, unsigned short uiTime, unsigned long* puiState, unsigned char* pucDio, float* pfPos ) 01802 { 01803 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01804 return ERRID_DEV_WRONGDEVICEID; 01805 if( g_apclDevice[iDeviceId] == NULL ) 01806 return ERRID_DEV_NOTINITIALIZED; 01807 01808 int iRetVal = g_apclDevice[iDeviceId]->moveStepExtended( iModuleId, fPos, uiTime, puiState, pucDio, pfPos ); 01809 01810 return iRetVal; 01811 } 01812 01813 M5DLL_API int WINAPI PCube_homeAll( int iDeviceId ) 01814 { 01815 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01816 return ERRID_DEV_WRONGDEVICEID; 01817 if( g_apclDevice[iDeviceId] == NULL ) 01818 return ERRID_DEV_NOTINITIALIZED; 01819 01820 int iRetVal = g_apclDevice[iDeviceId]->homeAll(); 01821 01822 return iRetVal; 01823 } 01824 01825 M5DLL_API int WINAPI PCube_resetAll( int iDeviceId ) 01826 { 01827 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01828 return ERRID_DEV_WRONGDEVICEID; 01829 if( g_apclDevice[iDeviceId] == NULL ) 01830 return ERRID_DEV_NOTINITIALIZED; 01831 01832 int iRetVal = g_apclDevice[iDeviceId]->resetAll(); 01833 01834 return iRetVal; 01835 } 01836 01837 M5DLL_API int WINAPI PCube_haltAll( int iDeviceId ) 01838 { 01839 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01840 return ERRID_DEV_WRONGDEVICEID; 01841 if( g_apclDevice[iDeviceId] == NULL ) 01842 return ERRID_DEV_NOTINITIALIZED; 01843 01844 int iRetVal = g_apclDevice[iDeviceId]->haltAll(); 01845 01846 return iRetVal; 01847 } 01848 01849 M5DLL_API int WINAPI PCube_serveWatchdogAll( int iDeviceId ) 01850 { 01851 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01852 return ERRID_DEV_WRONGDEVICEID; 01853 if( g_apclDevice[iDeviceId] == NULL ) 01854 return ERRID_DEV_NOTINITIALIZED; 01855 01856 int iRetVal = g_apclDevice[iDeviceId]->serveWatchdogAll(); 01857 01858 return iRetVal; 01859 } 01860 01861 M5DLL_API int WINAPI PCube_setBaudRateAll( int iDeviceId, unsigned char ucValue ) 01862 { 01863 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01864 return ERRID_DEV_WRONGDEVICEID; 01865 if( g_apclDevice[iDeviceId] == NULL ) 01866 return ERRID_DEV_NOTINITIALIZED; 01867 01868 int iRetVal = g_apclDevice[iDeviceId]->setBaudRateAll(ucValue); 01869 01870 return iRetVal; 01871 } 01872 01873 M5DLL_API int WINAPI PCube_startMotionAll( int iDeviceId ) 01874 { 01875 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01876 return ERRID_DEV_WRONGDEVICEID; 01877 if( g_apclDevice[iDeviceId] == NULL ) 01878 return ERRID_DEV_NOTINITIALIZED; 01879 01880 int iRetVal = g_apclDevice[iDeviceId]->startMotionAll(); 01881 01882 return iRetVal; 01883 } 01884 01885 M5DLL_API int WINAPI PCube_savePosAll( int iDeviceId ) 01886 { 01887 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01888 return ERRID_DEV_WRONGDEVICEID; 01889 if( g_apclDevice[iDeviceId] == NULL ) 01890 return ERRID_DEV_NOTINITIALIZED; 01891 01892 int iRetVal = g_apclDevice[iDeviceId]->savePosAll(); 01893 01894 return iRetVal; 01895 } 01896 01897 M5DLL_API int WINAPI PCube_waitForHomeEnd( int iDeviceId, int iModuleId, unsigned long uiTime ) 01898 { 01899 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01900 return ERRID_DEV_WRONGDEVICEID; 01901 if( g_apclDevice[iDeviceId] == NULL ) 01902 return ERRID_DEV_NOTINITIALIZED; 01903 01904 int iRetVal = g_apclDevice[iDeviceId]->waitForHomeEnd( iModuleId, uiTime ); 01905 01906 return iRetVal; 01907 } 01908 01909 M5DLL_API int WINAPI PCube_waitForMotionEnd( int iDeviceId, int iModuleId, unsigned long uiTime ) 01910 { 01911 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01912 return ERRID_DEV_WRONGDEVICEID; 01913 if( g_apclDevice[iDeviceId] == NULL ) 01914 return ERRID_DEV_NOTINITIALIZED; 01915 01916 int iRetVal = g_apclDevice[iDeviceId]->waitForMotionEnd( iModuleId, uiTime ); 01917 01918 return iRetVal; 01919 } 01920 01921 M5DLL_API int WINAPI PCube_waitForRampEnd( int iDeviceId, int iModuleId, unsigned long uiTime ) 01922 { 01923 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01924 return ERRID_DEV_WRONGDEVICEID; 01925 if( g_apclDevice[iDeviceId] == NULL ) 01926 return ERRID_DEV_NOTINITIALIZED; 01927 01928 int iRetVal = g_apclDevice[iDeviceId]->waitForRampEnd( iModuleId, uiTime ); 01929 01930 return iRetVal; 01931 } 01932 01933 M5DLL_API int WINAPI PCube_waitForRampDec( int iDeviceId, int iModuleId, unsigned long uiTime ) 01934 { 01935 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01936 return ERRID_DEV_WRONGDEVICEID; 01937 if( g_apclDevice[iDeviceId] == NULL ) 01938 return ERRID_DEV_NOTINITIALIZED; 01939 01940 int iRetVal = g_apclDevice[iDeviceId]->waitForRampDec( iModuleId, uiTime ); 01941 01942 return iRetVal; 01943 } 01944 01945 M5DLL_API int WINAPI PCube_waitForRampSteady( int iDeviceId, int iModuleId, unsigned long uiTime ) 01946 { 01947 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01948 return ERRID_DEV_WRONGDEVICEID; 01949 if( g_apclDevice[iDeviceId] == NULL ) 01950 return ERRID_DEV_NOTINITIALIZED; 01951 01952 int iRetVal = g_apclDevice[iDeviceId]->waitForRampSteady( iModuleId, uiTime ); 01953 01954 return iRetVal; 01955 } 01956 01957 M5DLL_API int WINAPI PCube_waitForHomeEndAll( int iDeviceId, unsigned long uiTime ) 01958 { 01959 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01960 return ERRID_DEV_WRONGDEVICEID; 01961 if( g_apclDevice[iDeviceId] == NULL ) 01962 return ERRID_DEV_NOTINITIALIZED; 01963 01964 int iRetVal = g_apclDevice[iDeviceId]->waitForHomeEndAll( uiTime ); 01965 01966 return iRetVal; 01967 } 01968 01969 M5DLL_API int WINAPI PCube_waitForMotionEndAll( int iDeviceId, unsigned long uiTime ) 01970 { 01971 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01972 return ERRID_DEV_WRONGDEVICEID; 01973 if( g_apclDevice[iDeviceId] == NULL ) 01974 return ERRID_DEV_NOTINITIALIZED; 01975 01976 int iRetVal = g_apclDevice[iDeviceId]->waitForMotionEndAll( uiTime ); 01977 01978 return iRetVal; 01979 } 01980 01981 M5DLL_API int WINAPI PCube_waitForRampEndAll( int iDeviceId, unsigned long uiTime ) 01982 { 01983 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01984 return ERRID_DEV_WRONGDEVICEID; 01985 if( g_apclDevice[iDeviceId] == NULL ) 01986 return ERRID_DEV_NOTINITIALIZED; 01987 01988 int iRetVal = g_apclDevice[iDeviceId]->waitForRampEndAll( uiTime ); 01989 01990 return iRetVal; 01991 } 01992 01993 M5DLL_API int WINAPI PCube_waitForStartMotionAll( int iDeviceId ) 01994 { 01995 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 01996 return ERRID_DEV_WRONGDEVICEID; 01997 if( g_apclDevice[iDeviceId] == NULL ) 01998 return ERRID_DEV_NOTINITIALIZED; 01999 02000 int iRetVal = g_apclDevice[iDeviceId]->waitForStartMotionAll(); 02001 02002 return iRetVal; 02003 } 02004 02005 M5DLL_API int WINAPI PCube_xmit8Bytes( int iDeviceId, int iModuleId, void* pBytes ) 02006 { 02007 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02008 return ERRID_DEV_WRONGDEVICEID; 02009 if( g_apclDevice[iDeviceId] == NULL ) 02010 return ERRID_DEV_NOTINITIALIZED; 02011 02012 int iRetVal = g_apclDevice[iDeviceId]->xmit8Bytes( iModuleId, pBytes ); 02013 02014 return iRetVal; 02015 } 02016 02017 M5DLL_API int WINAPI PCube_xack8Bytes( int iDeviceId, int iModuleId, void* pBytes ) 02018 { 02019 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02020 return ERRID_DEV_WRONGDEVICEID; 02021 if( g_apclDevice[iDeviceId] == NULL ) 02022 return ERRID_DEV_NOTINITIALIZED; 02023 02024 int iRetVal = g_apclDevice[iDeviceId]->xack8Bytes( iModuleId, pBytes ); 02025 02026 return iRetVal; 02027 } 02028 02029 M5DLL_API int WINAPI PCube_doInternal( int iDeviceId, int iModuleId, void* pBytes ) 02030 { 02031 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02032 return ERRID_DEV_WRONGDEVICEID; 02033 if( g_apclDevice[iDeviceId] == NULL ) 02034 return ERRID_DEV_NOTINITIALIZED; 02035 02036 int iRetVal = g_apclDevice[iDeviceId]->doInternal( iModuleId, pBytes ); 02037 02038 return iRetVal; 02039 } 02040 02041 M5DLL_API int WINAPI PCube_getStateInternal( int iDeviceId, int iModuleId, unsigned long* pStat ) 02042 { 02043 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02044 return ERRID_DEV_WRONGDEVICEID; 02045 if( g_apclDevice[iDeviceId] == NULL ) 02046 return ERRID_DEV_NOTINITIALIZED; 02047 02048 int iRetVal = g_apclDevice[iDeviceId]->getStateInternal( iModuleId, pStat ); 02049 02050 return iRetVal; 02051 } 02052 02053 M5DLL_API int WINAPI PCube_initDLR_FTS( int iDeviceId ) 02054 { 02055 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02056 return ERRID_DEV_WRONGDEVICEID; 02057 if( g_apclDevice[iDeviceId] == NULL ) 02058 return ERRID_DEV_NOTINITIALIZED; 02059 02060 int iRetVal = g_apclDevice[iDeviceId]->initDLR_FTS(); 02061 02062 return iRetVal; 02063 } 02064 02065 M5DLL_API int WINAPI PCube_getDataDLR_FTS( int iDeviceId, float* fVal0, float* fVal1, float* fVal2, float* fVal3, float* fVal4, float* fVal5, long* piState ) 02066 { 02067 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02068 return ERRID_DEV_WRONGDEVICEID; 02069 if( g_apclDevice[iDeviceId] == NULL ) 02070 return ERRID_DEV_NOTINITIALIZED; 02071 02072 static std::vector<float> afVector; 02073 int iRetVal = g_apclDevice[iDeviceId]->getDataDLR_FTS( afVector, piState ); 02074 *fVal0 = afVector[0]; 02075 *fVal1 = afVector[1]; 02076 *fVal2 = afVector[2]; 02077 *fVal3 = afVector[3]; 02078 *fVal4 = afVector[4]; 02079 *fVal5 = afVector[5]; 02080 02081 return iRetVal; 02082 } 02083 02084 M5DLL_API int WINAPI PCube_getDataSCHUNK_FTC( int iDeviceId, int iModulId, int iChannelTypeId, float* fVal0, float* fVal1, float* fVal2, float* fVal3, float* fVal4, float* fVal5, short* piState ) 02085 { 02086 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02087 return ERRID_DEV_WRONGDEVICEID; 02088 if( g_apclDevice[iDeviceId] == NULL ) 02089 return ERRID_DEV_NOTINITIALIZED; 02090 02091 static std::vector<float> afVector; 02092 int iRetVal = g_apclDevice[iDeviceId]->getDataSCHUNK_FTC( iModulId, iChannelTypeId, afVector, piState ); 02093 *fVal0 = afVector[0]; 02094 *fVal1 = afVector[1]; 02095 *fVal2 = afVector[2]; 02096 *fVal3 = afVector[3]; 02097 *fVal4 = afVector[4]; 02098 *fVal5 = afVector[5]; 02099 02100 return iRetVal; 02101 } 02102 02103 M5DLL_API int WINAPI PCube_setNullSCHUNK_FTC( int iDeviceId, int iModulId, short* piState ) 02104 { 02105 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02106 return ERRID_DEV_WRONGDEVICEID; 02107 if( g_apclDevice[iDeviceId] == NULL ) 02108 return ERRID_DEV_NOTINITIALIZED; 02109 02110 int iRetVal = g_apclDevice[iDeviceId]->setNullSCHUNK_FTC( iModulId, piState ); 02111 02112 return iRetVal; 02113 } 02114 02115 M5DLL_API int WINAPI PCube_initEMS_IO( int iDeviceId, unsigned char ucType, unsigned long uiSerialNo ) 02116 { 02117 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02118 return ERRID_DEV_WRONGDEVICEID; 02119 if( g_apclDevice[iDeviceId] == NULL ) 02120 return ERRID_DEV_NOTINITIALIZED; 02121 02122 // int iRetVal = g_apclDevice[iDeviceId]->initEMS_IO( ucType, uiSerialNo ); 02123 // return iRetVal; 02124 return ERRID_DEV_WRONGDEVICEID; 02125 } 02126 02127 M5DLL_API int WINAPI PCube_getDataEMS_DIO( int iDeviceId, int iModuleId, int iChannelId, int* pData ) 02128 { 02129 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02130 return ERRID_DEV_WRONGDEVICEID; 02131 if( g_apclDevice[iDeviceId] == NULL ) 02132 return ERRID_DEV_NOTINITIALIZED; 02133 02134 bool bData = false; 02135 // int iRetVal = g_apclDevice[iDeviceId]->getDataEMS_IO( iModuleId, iChannelId, bData ); 02136 // *pData = (int)bData; 02137 // return iRetVal; 02138 return ERRID_DEV_WRONGDEVICEID; 02139 } 02140 02141 M5DLL_API int WINAPI PCube_setDataEMS_DIO( int iDeviceId, int iModuleId, int iChannelId, int iData ) 02142 { 02143 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02144 return ERRID_DEV_WRONGDEVICEID; 02145 if( g_apclDevice[iDeviceId] == NULL ) 02146 return ERRID_DEV_NOTINITIALIZED; 02147 02148 bool bData = (bool)iData; 02149 // int iRetVal = g_apclDevice[iDeviceId]->setDataEMS_IO( iModuleId, iChannelId, bData ); 02150 // return iRetVal; 02151 return ERRID_DEV_WRONGDEVICEID; 02152 } 02153 02154 M5DLL_API int WINAPI PCube_getDataEMS_AIO( int iDeviceId, int iModuleId, int iChannelId, float* pfData ) 02155 { 02156 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02157 return ERRID_DEV_WRONGDEVICEID; 02158 if( g_apclDevice[iDeviceId] == NULL ) 02159 return ERRID_DEV_NOTINITIALIZED; 02160 02161 // int iRetVal = g_apclDevice[iDeviceId]->getDataEMS_IO( iModuleId, iChannelId, *pfData ); 02162 // return iRetVal; 02163 return ERRID_DEV_WRONGDEVICEID; 02164 } 02165 02166 M5DLL_API int WINAPI PCube_setDataEMS_AIO( int iDeviceId, int iModuleId, int iChannelId, float fData ) 02167 { 02168 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02169 return ERRID_DEV_WRONGDEVICEID; 02170 if( g_apclDevice[iDeviceId] == NULL ) 02171 return ERRID_DEV_NOTINITIALIZED; 02172 02173 // int iRetVal = g_apclDevice[iDeviceId]->setDataEMS_IO( iModuleId, iChannelId, fData ); 02174 // return iRetVal; 02175 return ERRID_DEV_WRONGDEVICEID; 02176 } 02177 02178 M5DLL_API int WINAPI PCube_getDataMP55_IO( int iDeviceId, int iModuleId, float* pfData ) 02179 { 02180 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02181 return ERRID_DEV_WRONGDEVICEID; 02182 if( g_apclDevice[iDeviceId] == NULL ) 02183 return ERRID_DEV_NOTINITIALIZED; 02184 02185 int iRetVal = g_apclDevice[iDeviceId]->getDataMP55_IO( iModuleId, pfData ); 02186 02187 return iRetVal; 02188 } 02189 02190 M5DLL_API int WINAPI PCube_setTaraMP55_IO( int iDeviceId, int iModuleId, float fData ) 02191 { 02192 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02193 return ERRID_DEV_WRONGDEVICEID; 02194 if( g_apclDevice[iDeviceId] == NULL ) 02195 return ERRID_DEV_NOTINITIALIZED; 02196 02197 int iRetVal = g_apclDevice[iDeviceId]->setTaraMP55_IO( iModuleId, fData ); 02198 02199 return iRetVal; 02200 } 02201 02202 M5DLL_API int WINAPI PCube_getDefCurOffset( int iDeviceId, int iModuleId, float* pfValue ) 02203 { 02204 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02205 return ERRID_DEV_WRONGDEVICEID; 02206 if( g_apclDevice[iDeviceId] == NULL ) 02207 return ERRID_DEV_NOTINITIALIZED; 02208 02209 int iRetVal = g_apclDevice[iDeviceId]->getDefCurOffset( iModuleId, pfValue ); 02210 02211 return iRetVal; 02212 } 02213 02214 M5DLL_API int WINAPI PCube_setInitMP55_IO_fast( int iDeviceId, int iModuleId ) 02215 { 02216 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02217 return ERRID_DEV_WRONGDEVICEID; 02218 if( g_apclDevice[iDeviceId] == NULL ) 02219 return ERRID_DEV_NOTINITIALIZED; 02220 02221 int iRetVal = g_apclDevice[iDeviceId]->setInitMP55_IO_fast( iModuleId ); 02222 02223 return iRetVal; 02224 } 02225 02226 M5DLL_API int WINAPI PCube_getDataMP55_IO_fast( int iDeviceId, int iModuleId, float* pfData ) 02227 { 02228 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02229 return ERRID_DEV_WRONGDEVICEID; 02230 if( g_apclDevice[iDeviceId] == NULL ) 02231 return ERRID_DEV_NOTINITIALIZED; 02232 02233 int iRetVal = g_apclDevice[iDeviceId]->getDataMP55_IO_fast( iModuleId, pfData ); 02234 02235 return iRetVal; 02236 } 02237 02238 M5DLL_API int WINAPI PCube_getRawMotorCurrent( int iDeviceId, int iModuleId, short* piValue ) 02239 { 02240 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02241 return ERRID_DEV_WRONGDEVICEID; 02242 if( g_apclDevice[iDeviceId] == NULL ) 02243 return ERRID_DEV_NOTINITIALIZED; 02244 02245 int iRetVal = g_apclDevice[iDeviceId]->getRawMotorCurrent( iModuleId, piValue ); 02246 02247 return iRetVal; 02248 } 02249 02250 M5DLL_API int WINAPI PCube_getRawMotorSupply( int iDeviceId, int iModuleId, short* piValue ) 02251 { 02252 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02253 return ERRID_DEV_WRONGDEVICEID; 02254 if( g_apclDevice[iDeviceId] == NULL ) 02255 return ERRID_DEV_NOTINITIALIZED; 02256 02257 int iRetVal = g_apclDevice[iDeviceId]->getRawMotorSupply( iModuleId, piValue ); 02258 02259 return iRetVal; 02260 } 02261 02262 M5DLL_API int WINAPI PCube_getRawTemperature( int iDeviceId, int iModuleId, short* piValue ) 02263 { 02264 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02265 return ERRID_DEV_WRONGDEVICEID; 02266 if( g_apclDevice[iDeviceId] == NULL ) 02267 return ERRID_DEV_NOTINITIALIZED; 02268 02269 int iRetVal = g_apclDevice[iDeviceId]->getRawTemperature( iModuleId, piValue ); 02270 02271 return iRetVal; 02272 } 02273 02274 M5DLL_API int WINAPI PCube_getRawLogicSupply( int iDeviceId, int iModuleId, short* piValue ) 02275 { 02276 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02277 return ERRID_DEV_WRONGDEVICEID; 02278 if( g_apclDevice[iDeviceId] == NULL ) 02279 return ERRID_DEV_NOTINITIALIZED; 02280 02281 int iRetVal = g_apclDevice[iDeviceId]->getRawLogicSupply( iModuleId, piValue ); 02282 02283 return iRetVal; 02284 } 02285 02286 M5DLL_API int WINAPI PCube_getCanOpenRawAbsEnc( int iDeviceId, int iModuleId, short* piValue ) 02287 { 02288 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02289 return ERRID_DEV_WRONGDEVICEID; 02290 if( g_apclDevice[iDeviceId] == NULL ) 02291 return ERRID_DEV_NOTINITIALIZED; 02292 02293 int iRetVal = g_apclDevice[iDeviceId]->getCanOpenRawAbsEnc( iModuleId, piValue ); 02294 02295 return iRetVal; 02296 } 02297 02298 M5DLL_API int WINAPI PCube_getLoadLimit( int iDeviceId, int iModuleId, long* piValue) 02299 { 02300 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02301 return ERRID_DEV_WRONGDEVICEID; 02302 if( g_apclDevice[iDeviceId] == NULL ) 02303 return ERRID_DEV_NOTINITIALIZED; 02304 02305 int iRetVal = g_apclDevice[iDeviceId]->getLoadLimit( iModuleId, piValue ); 02306 02307 return iRetVal; 02308 } 02309 02310 M5DLL_API int WINAPI PCube_getMaxLoadGradient( int iDeviceId, int iModuleId, long* piValue) 02311 { 02312 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02313 return ERRID_DEV_WRONGDEVICEID; 02314 if( g_apclDevice[iDeviceId] == NULL ) 02315 return ERRID_DEV_NOTINITIALIZED; 02316 02317 int iRetVal = g_apclDevice[iDeviceId]->getMaxLoadGradient( iModuleId, piValue ); 02318 02319 return iRetVal; 02320 } 02321 02322 M5DLL_API int WINAPI PCube_getLoadDeltaTime( int iDeviceId, int iModuleId, unsigned short* piValue) 02323 { 02324 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02325 return ERRID_DEV_WRONGDEVICEID; 02326 if( g_apclDevice[iDeviceId] == NULL ) 02327 return ERRID_DEV_NOTINITIALIZED; 02328 02329 int iRetVal = g_apclDevice[iDeviceId]->getLoadDeltaTime( iModuleId, piValue ); 02330 02331 return iRetVal; 02332 } 02333 02334 M5DLL_API int WINAPI PCube_setLoadLimit( int iDeviceId, int iModuleId, long iValue) 02335 { 02336 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02337 return ERRID_DEV_WRONGDEVICEID; 02338 if( g_apclDevice[iDeviceId] == NULL ) 02339 return ERRID_DEV_NOTINITIALIZED; 02340 02341 int iRetVal = g_apclDevice[iDeviceId]->setLoadLimit( iModuleId, iValue ); 02342 02343 return iRetVal; 02344 } 02345 02346 M5DLL_API int WINAPI PCube_setMaxLoadGradient( int iDeviceId, int iModuleId, long iValue) 02347 { 02348 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02349 return ERRID_DEV_WRONGDEVICEID; 02350 if( g_apclDevice[iDeviceId] == NULL ) 02351 return ERRID_DEV_NOTINITIALIZED; 02352 02353 int iRetVal = g_apclDevice[iDeviceId]->setMaxLoadGradient( iModuleId, iValue ); 02354 02355 return iRetVal; 02356 } 02357 02358 M5DLL_API int WINAPI PCube_setLoadDeltaTime( int iDeviceId, int iModuleId, unsigned short iValue) 02359 { 02360 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02361 return ERRID_DEV_WRONGDEVICEID; 02362 if( g_apclDevice[iDeviceId] == NULL ) 02363 return ERRID_DEV_NOTINITIALIZED; 02364 02365 int iRetVal = g_apclDevice[iDeviceId]->setLoadDeltaTime( iModuleId, iValue ); 02366 02367 return iRetVal; 02368 } 02369 02370 M5DLL_API int WINAPI PCube_saveParameters( int iDeviceId, int iModuleId ) 02371 { 02372 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02373 return ERRID_DEV_WRONGDEVICEID; 02374 if( g_apclDevice[iDeviceId] == NULL ) 02375 return ERRID_DEV_NOTINITIALIZED; 02376 02377 int iRetVal = g_apclDevice[iDeviceId]->saveParameters( iModuleId ); 02378 02379 return iRetVal; 02380 } 02381 02382 M5DLL_API int WINAPI PCube_getDefCANBaudRate( int iDeviceId, int iModuleId, unsigned char* pucValue ) 02383 { 02384 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02385 return ERRID_DEV_WRONGDEVICEID; 02386 if( g_apclDevice[iDeviceId] == NULL ) 02387 return ERRID_DEV_NOTINITIALIZED; 02388 02389 int iRetVal = g_apclDevice[iDeviceId]->getDefCANBaudRate( iModuleId, pucValue ); 02390 02391 return iRetVal; 02392 } 02393 02394 M5DLL_API int WINAPI PCube_getDefRSBaudRate( int iDeviceId, int iModuleId, unsigned char* pucValue ) 02395 { 02396 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02397 return ERRID_DEV_WRONGDEVICEID; 02398 if( g_apclDevice[iDeviceId] == NULL ) 02399 return ERRID_DEV_NOTINITIALIZED; 02400 02401 int iRetVal = g_apclDevice[iDeviceId]->getDefRSBaudRate( iModuleId, pucValue ); 02402 02403 return iRetVal; 02404 } 02405 02406 M5DLL_API int WINAPI PCube_setDefGearRatio( int iDeviceId, int iModuleId, float fValue ) 02407 { 02408 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02409 return ERRID_DEV_WRONGDEVICEID; 02410 if( g_apclDevice[iDeviceId] == NULL ) 02411 return ERRID_DEV_NOTINITIALIZED; 02412 02413 int iRetVal = g_apclDevice[iDeviceId]->setDefGearRatio( iModuleId, fValue ); 02414 02415 return iRetVal; 02416 } 02417 02418 M5DLL_API int WINAPI PCube_setDefLinRatio( int iDeviceId, int iModuleId, float fValue ) 02419 { 02420 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02421 return ERRID_DEV_WRONGDEVICEID; 02422 if( g_apclDevice[iDeviceId] == NULL ) 02423 return ERRID_DEV_NOTINITIALIZED; 02424 02425 int iRetVal = g_apclDevice[iDeviceId]->setDefLinRatio( iModuleId, fValue ); 02426 02427 return iRetVal; 02428 } 02429 02430 M5DLL_API int WINAPI PCube_setDefCurRatio( int iDeviceId, int iModuleId, float fValue ) 02431 { 02432 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02433 return ERRID_DEV_WRONGDEVICEID; 02434 if( g_apclDevice[iDeviceId] == NULL ) 02435 return ERRID_DEV_NOTINITIALIZED; 02436 02437 int iRetVal = g_apclDevice[iDeviceId]->setDefCurRatio( iModuleId, fValue ); 02438 02439 return iRetVal; 02440 } 02441 02442 M5DLL_API int WINAPI PCube_setDefHomeAcc( int iDeviceId, int iModuleId, float fValue ) 02443 { 02444 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02445 return ERRID_DEV_WRONGDEVICEID; 02446 if( g_apclDevice[iDeviceId] == NULL ) 02447 return ERRID_DEV_NOTINITIALIZED; 02448 02449 int iRetVal = g_apclDevice[iDeviceId]->setDefHomeAcc( iModuleId, fValue ); 02450 02451 return iRetVal; 02452 } 02453 02454 M5DLL_API int WINAPI PCube_setModuleSerialNo( int iDeviceId, int iModuleId, unsigned long uiValue ) 02455 { 02456 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02457 return ERRID_DEV_WRONGDEVICEID; 02458 if( g_apclDevice[iDeviceId] == NULL ) 02459 return ERRID_DEV_NOTINITIALIZED; 02460 02461 int iRetVal = g_apclDevice[iDeviceId]->setModuleSerialNo( iModuleId, uiValue ); 02462 02463 return iRetVal; 02464 } 02465 02466 M5DLL_API int WINAPI PCube_setDefIncPerTurn( int iDeviceId, int iModuleId, unsigned long uiValue ) 02467 { 02468 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02469 return ERRID_DEV_WRONGDEVICEID; 02470 if( g_apclDevice[iDeviceId] == NULL ) 02471 return ERRID_DEV_NOTINITIALIZED; 02472 02473 int iRetVal = g_apclDevice[iDeviceId]->setDefIncPerTurn( iModuleId, uiValue ); 02474 02475 return iRetVal; 02476 } 02477 02478 M5DLL_API int WINAPI PCube_setDefBrakeTimeOut( int iDeviceId, int iModuleId, unsigned short uiValue ) 02479 { 02480 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02481 return ERRID_DEV_WRONGDEVICEID; 02482 if( g_apclDevice[iDeviceId] == NULL ) 02483 return ERRID_DEV_NOTINITIALIZED; 02484 02485 int iRetVal = g_apclDevice[iDeviceId]->setDefBrakeTimeOut( iModuleId, uiValue ); 02486 02487 return iRetVal; 02488 } 02489 02490 M5DLL_API int WINAPI PCube_setDefAddress( int iDeviceId, int iModuleId, unsigned char uiValue ) 02491 { 02492 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02493 return ERRID_DEV_WRONGDEVICEID; 02494 if( g_apclDevice[iDeviceId] == NULL ) 02495 return ERRID_DEV_NOTINITIALIZED; 02496 02497 int iRetVal = g_apclDevice[iDeviceId]->setDefAddress( iModuleId, uiValue ); 02498 02499 return iRetVal; 02500 } 02501 02502 M5DLL_API int WINAPI PCube_setDefCANBaudRate( int iDeviceId, int iModuleId, unsigned char uiValue ) 02503 { 02504 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02505 return ERRID_DEV_WRONGDEVICEID; 02506 if( g_apclDevice[iDeviceId] == NULL ) 02507 return ERRID_DEV_NOTINITIALIZED; 02508 02509 int iRetVal = g_apclDevice[iDeviceId]->setDefCANBaudRate( iModuleId, uiValue ); 02510 02511 return iRetVal; 02512 } 02513 02514 M5DLL_API int WINAPI PCube_setDefRSBaudRate( int iDeviceId, int iModuleId, unsigned char uiValue ) 02515 { 02516 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02517 return ERRID_DEV_WRONGDEVICEID; 02518 if( g_apclDevice[iDeviceId] == NULL ) 02519 return ERRID_DEV_NOTINITIALIZED; 02520 02521 int iRetVal = g_apclDevice[iDeviceId]->setDefRSBaudRate( iModuleId, uiValue ); 02522 02523 return iRetVal; 02524 } 02525 02526 M5DLL_API int WINAPI PCube_setDefSetup( int iDeviceId, int iModuleId, unsigned long uiValue ) 02527 { 02528 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02529 return ERRID_DEV_WRONGDEVICEID; 02530 if( g_apclDevice[iDeviceId] == NULL ) 02531 return ERRID_DEV_NOTINITIALIZED; 02532 02533 int iRetVal = g_apclDevice[iDeviceId]->setDefSetup( iModuleId, uiValue ); 02534 02535 return iRetVal; 02536 } 02537 02538 M5DLL_API int WINAPI PCube_getMotorCurrent( int iDeviceId, int iModuleId, float* pfValue ) 02539 { 02540 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02541 return ERRID_DEV_WRONGDEVICEID; 02542 if( g_apclDevice[iDeviceId] == NULL ) 02543 return ERRID_DEV_NOTINITIALIZED; 02544 02545 int iRetVal = g_apclDevice[iDeviceId]->getMotorCurrent( iModuleId, pfValue ); 02546 02547 return iRetVal; 02548 } 02549 02550 M5DLL_API int WINAPI PCube_getMotorSupply( int iDeviceId, int iModuleId, float* pfValue ) 02551 { 02552 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02553 return ERRID_DEV_WRONGDEVICEID; 02554 if( g_apclDevice[iDeviceId] == NULL ) 02555 return ERRID_DEV_NOTINITIALIZED; 02556 02557 int iRetVal = g_apclDevice[iDeviceId]->getMotorSupply( iModuleId, pfValue ); 02558 02559 return iRetVal; 02560 } 02561 02562 M5DLL_API int WINAPI PCube_getTemperature( int iDeviceId, int iModuleId, float* pfValue ) 02563 { 02564 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02565 return ERRID_DEV_WRONGDEVICEID; 02566 if( g_apclDevice[iDeviceId] == NULL ) 02567 return ERRID_DEV_NOTINITIALIZED; 02568 02569 int iRetVal = g_apclDevice[iDeviceId]->getTemperature( iModuleId, pfValue ); 02570 02571 return iRetVal; 02572 } 02573 02574 M5DLL_API int WINAPI PCube_getLogicSupply( int iDeviceId, int iModuleId, float* pfValue ) 02575 { 02576 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02577 return ERRID_DEV_WRONGDEVICEID; 02578 if( g_apclDevice[iDeviceId] == NULL ) 02579 return ERRID_DEV_NOTINITIALIZED; 02580 02581 int iRetVal = g_apclDevice[iDeviceId]->getLogicSupply( iModuleId, pfValue ); 02582 02583 return iRetVal; 02584 } 02585 02586 M5DLL_API int WINAPI PCube_getMinLogicVoltage( int iDeviceId, int iModuleId, float* pfValue ) 02587 { 02588 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02589 return ERRID_DEV_WRONGDEVICEID; 02590 if( g_apclDevice[iDeviceId] == NULL ) 02591 return ERRID_DEV_NOTINITIALIZED; 02592 02593 int iRetVal = g_apclDevice[iDeviceId]->getMinLogicVoltage( iModuleId, pfValue ); 02594 02595 return iRetVal; 02596 } 02597 02598 M5DLL_API int WINAPI PCube_getMaxLogicVoltage( int iDeviceId, int iModuleId, float* pfValue ) 02599 { 02600 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02601 return ERRID_DEV_WRONGDEVICEID; 02602 if( g_apclDevice[iDeviceId] == NULL ) 02603 return ERRID_DEV_NOTINITIALIZED; 02604 02605 int iRetVal = g_apclDevice[iDeviceId]->getMaxLogicVoltage( iModuleId, pfValue ); 02606 02607 return iRetVal; 02608 } 02609 02610 M5DLL_API int WINAPI PCube_getMinMotorVoltage( int iDeviceId, int iModuleId, float* pfValue ) 02611 { 02612 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02613 return ERRID_DEV_WRONGDEVICEID; 02614 if( g_apclDevice[iDeviceId] == NULL ) 02615 return ERRID_DEV_NOTINITIALIZED; 02616 02617 int iRetVal = g_apclDevice[iDeviceId]->getMinMotorVoltage( iModuleId, pfValue ); 02618 02619 return iRetVal; 02620 } 02621 02622 M5DLL_API int WINAPI PCube_getMaxMotorVoltage( int iDeviceId, int iModuleId, float* pfValue ) 02623 { 02624 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02625 return ERRID_DEV_WRONGDEVICEID; 02626 if( g_apclDevice[iDeviceId] == NULL ) 02627 return ERRID_DEV_NOTINITIALIZED; 02628 02629 int iRetVal = g_apclDevice[iDeviceId]->getMaxMotorVoltage( iModuleId, pfValue ); 02630 02631 return iRetVal; 02632 } 02633 02634 M5DLL_API int WINAPI PCube_getNominalMotorCurrent( int iDeviceId, int iModuleId, float* pfValue ) 02635 { 02636 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02637 return ERRID_DEV_WRONGDEVICEID; 02638 if( g_apclDevice[iDeviceId] == NULL ) 02639 return ERRID_DEV_NOTINITIALIZED; 02640 02641 int iRetVal = g_apclDevice[iDeviceId]->getNominalMotorCurrent( iModuleId, pfValue ); 02642 02643 return iRetVal; 02644 } 02645 02646 M5DLL_API int WINAPI PCube_getMaximumMotorCurrent( int iDeviceId, int iModuleId, float* pfValue ) 02647 { 02648 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02649 return ERRID_DEV_WRONGDEVICEID; 02650 if( g_apclDevice[iDeviceId] == NULL ) 02651 return ERRID_DEV_NOTINITIALIZED; 02652 02653 int iRetVal = g_apclDevice[iDeviceId]->getMaximumMotorCurrent( iModuleId, pfValue ); 02654 02655 return iRetVal; 02656 } 02657 02658 M5DLL_API int WINAPI PCube_getLogicUndershootTime( int iDeviceId, int iModuleId, long* piValue ) 02659 { 02660 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02661 return ERRID_DEV_WRONGDEVICEID; 02662 if( g_apclDevice[iDeviceId] == NULL ) 02663 return ERRID_DEV_NOTINITIALIZED; 02664 02665 int iRetVal = g_apclDevice[iDeviceId]->getLogicUndershootTime( iModuleId, piValue ); 02666 02667 return iRetVal; 02668 } 02669 02670 M5DLL_API int WINAPI PCube_getLogicOvershootTime( int iDeviceId, int iModuleId, long* piValue ) 02671 { 02672 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02673 return ERRID_DEV_WRONGDEVICEID; 02674 if( g_apclDevice[iDeviceId] == NULL ) 02675 return ERRID_DEV_NOTINITIALIZED; 02676 02677 int iRetVal = g_apclDevice[iDeviceId]->getLogicOvershootTime( iModuleId, piValue ); 02678 02679 return iRetVal; 02680 } 02681 02682 M5DLL_API int WINAPI PCube_getMotorUndershootTime( int iDeviceId, int iModuleId, long* piValue ) 02683 { 02684 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02685 return ERRID_DEV_WRONGDEVICEID; 02686 if( g_apclDevice[iDeviceId] == NULL ) 02687 return ERRID_DEV_NOTINITIALIZED; 02688 02689 int iRetVal = g_apclDevice[iDeviceId]->getMotorUndershootTime( iModuleId, piValue ); 02690 02691 return iRetVal; 02692 } 02693 02694 M5DLL_API int WINAPI PCube_getMotorOvershootTime( int iDeviceId, int iModuleId, long* piValue ) 02695 { 02696 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02697 return ERRID_DEV_WRONGDEVICEID; 02698 if( g_apclDevice[iDeviceId] == NULL ) 02699 return ERRID_DEV_NOTINITIALIZED; 02700 02701 int iRetVal = g_apclDevice[iDeviceId]->getMotorOvershootTime( iModuleId, piValue ); 02702 02703 return iRetVal; 02704 } 02705 02706 M5DLL_API int WINAPI PCube_getNomCurOvershootTime( int iDeviceId, int iModuleId, long* piValue ) 02707 { 02708 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02709 return ERRID_DEV_WRONGDEVICEID; 02710 if( g_apclDevice[iDeviceId] == NULL ) 02711 return ERRID_DEV_NOTINITIALIZED; 02712 02713 int iRetVal = g_apclDevice[iDeviceId]->getNomCurOvershootTime( iModuleId, piValue ); 02714 02715 return iRetVal; 02716 } 02717 02718 M5DLL_API int WINAPI PCube_getHMaxCurOvershootTime( int iDeviceId, int iModuleId, long* piValue ) 02719 { 02720 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02721 return ERRID_DEV_WRONGDEVICEID; 02722 if( g_apclDevice[iDeviceId] == NULL ) 02723 return ERRID_DEV_NOTINITIALIZED; 02724 02725 int iRetVal = g_apclDevice[iDeviceId]->getHMaxCurOvershootTime( iModuleId, piValue ); 02726 02727 return iRetVal; 02728 } 02729 02730 M5DLL_API int WINAPI PCube_setMinLogicVoltage( int iDeviceId, int iModuleId, float fValue ) 02731 { 02732 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02733 return ERRID_DEV_WRONGDEVICEID; 02734 if( g_apclDevice[iDeviceId] == NULL ) 02735 return ERRID_DEV_NOTINITIALIZED; 02736 02737 int iRetVal = g_apclDevice[iDeviceId]->setMinLogicVoltage( iModuleId, fValue ); 02738 02739 return iRetVal; 02740 } 02741 02742 M5DLL_API int WINAPI PCube_setMaxLogicVoltage( int iDeviceId, int iModuleId, float fValue ) 02743 { 02744 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02745 return ERRID_DEV_WRONGDEVICEID; 02746 if( g_apclDevice[iDeviceId] == NULL ) 02747 return ERRID_DEV_NOTINITIALIZED; 02748 02749 int iRetVal = g_apclDevice[iDeviceId]->setMaxLogicVoltage( iModuleId, fValue ); 02750 02751 return iRetVal; 02752 } 02753 02754 M5DLL_API int WINAPI PCube_setMinMotorVoltage( int iDeviceId, int iModuleId, float fValue ) 02755 { 02756 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02757 return ERRID_DEV_WRONGDEVICEID; 02758 if( g_apclDevice[iDeviceId] == NULL ) 02759 return ERRID_DEV_NOTINITIALIZED; 02760 02761 int iRetVal = g_apclDevice[iDeviceId]->setMinMotorVoltage( iModuleId, fValue ); 02762 02763 return iRetVal; 02764 } 02765 02766 M5DLL_API int WINAPI PCube_setMaxMotorVoltage( int iDeviceId, int iModuleId, float fValue ) 02767 { 02768 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02769 return ERRID_DEV_WRONGDEVICEID; 02770 if( g_apclDevice[iDeviceId] == NULL ) 02771 return ERRID_DEV_NOTINITIALIZED; 02772 02773 int iRetVal = g_apclDevice[iDeviceId]->setMaxMotorVoltage( iModuleId, fValue ); 02774 02775 return iRetVal; 02776 } 02777 02778 M5DLL_API int WINAPI PCube_setNominalMotorCurrent( int iDeviceId, int iModuleId, float fValue ) 02779 { 02780 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02781 return ERRID_DEV_WRONGDEVICEID; 02782 if( g_apclDevice[iDeviceId] == NULL ) 02783 return ERRID_DEV_NOTINITIALIZED; 02784 02785 int iRetVal = g_apclDevice[iDeviceId]->setNominalMotorCurrent( iModuleId, fValue ); 02786 02787 return iRetVal; 02788 } 02789 02790 M5DLL_API int WINAPI PCube_setMaximumMotorCurrent( int iDeviceId, int iModuleId, float fValue ) 02791 { 02792 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02793 return ERRID_DEV_WRONGDEVICEID; 02794 if( g_apclDevice[iDeviceId] == NULL ) 02795 return ERRID_DEV_NOTINITIALIZED; 02796 02797 int iRetVal = g_apclDevice[iDeviceId]->setMaximumMotorCurrent( iModuleId, fValue ); 02798 02799 return iRetVal; 02800 } 02801 02802 M5DLL_API int WINAPI PCube_setLogicUndershootTime( int iDeviceId, int iModuleId, long iValue ) 02803 { 02804 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02805 return ERRID_DEV_WRONGDEVICEID; 02806 if( g_apclDevice[iDeviceId] == NULL ) 02807 return ERRID_DEV_NOTINITIALIZED; 02808 02809 int iRetVal = g_apclDevice[iDeviceId]->setLogicUndershootTime( iModuleId, iValue ); 02810 02811 return iRetVal; 02812 } 02813 02814 M5DLL_API int WINAPI PCube_setLogicOvershootTime( int iDeviceId, int iModuleId, long iValue ) 02815 { 02816 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02817 return ERRID_DEV_WRONGDEVICEID; 02818 if( g_apclDevice[iDeviceId] == NULL ) 02819 return ERRID_DEV_NOTINITIALIZED; 02820 02821 int iRetVal = g_apclDevice[iDeviceId]->setLogicOvershootTime( iModuleId, iValue ); 02822 02823 return iRetVal; 02824 } 02825 02826 M5DLL_API int WINAPI PCube_setMotorUndershootTime( int iDeviceId, int iModuleId, long iValue ) 02827 { 02828 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02829 return ERRID_DEV_WRONGDEVICEID; 02830 if( g_apclDevice[iDeviceId] == NULL ) 02831 return ERRID_DEV_NOTINITIALIZED; 02832 02833 int iRetVal = g_apclDevice[iDeviceId]->setMotorUndershootTime( iModuleId, iValue ); 02834 02835 return iRetVal; 02836 } 02837 02838 M5DLL_API int WINAPI PCube_setMotorOvershootTime( int iDeviceId, int iModuleId, long iValue ) 02839 { 02840 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02841 return ERRID_DEV_WRONGDEVICEID; 02842 if( g_apclDevice[iDeviceId] == NULL ) 02843 return ERRID_DEV_NOTINITIALIZED; 02844 02845 int iRetVal = g_apclDevice[iDeviceId]->setMotorOvershootTime( iModuleId, iValue ); 02846 02847 return iRetVal; 02848 } 02849 02850 M5DLL_API int WINAPI PCube_setNomCurOvershootTime( int iDeviceId, int iModuleId, long iValue ) 02851 { 02852 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02853 return ERRID_DEV_WRONGDEVICEID; 02854 if( g_apclDevice[iDeviceId] == NULL ) 02855 return ERRID_DEV_NOTINITIALIZED; 02856 02857 int iRetVal = g_apclDevice[iDeviceId]->setNomCurOvershootTime( iModuleId, iValue ); 02858 02859 return iRetVal; 02860 } 02861 02862 M5DLL_API int WINAPI PCube_setHMaxCurOvershootTime( int iDeviceId, int iModuleId, long iValue ) 02863 { 02864 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02865 return ERRID_DEV_WRONGDEVICEID; 02866 if( g_apclDevice[iDeviceId] == NULL ) 02867 return ERRID_DEV_NOTINITIALIZED; 02868 02869 int iRetVal = g_apclDevice[iDeviceId]->setHMaxCurOvershootTime( iModuleId, iValue ); 02870 02871 return iRetVal; 02872 } 02873 02874 M5DLL_API int WINAPI PCube_getKpPWMLimit( int iDeviceId, int iModuleId, long* piValue ) 02875 { 02876 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02877 return ERRID_DEV_WRONGDEVICEID; 02878 if( g_apclDevice[iDeviceId] == NULL ) 02879 return ERRID_DEV_NOTINITIALIZED; 02880 02881 int iRetVal = g_apclDevice[iDeviceId]->getKpPWMLimit( iModuleId, piValue ); 02882 02883 return iRetVal; 02884 } 02885 02886 M5DLL_API int WINAPI PCube_getCurrentLimit( int iDeviceId, int iModuleId, float* pfValue ) 02887 { 02888 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02889 return ERRID_DEV_WRONGDEVICEID; 02890 if( g_apclDevice[iDeviceId] == NULL ) 02891 return ERRID_DEV_NOTINITIALIZED; 02892 02893 int iRetVal = g_apclDevice[iDeviceId]->getCurrentLimit( iModuleId, pfValue ); 02894 02895 return iRetVal; 02896 } 02897 02898 M5DLL_API int WINAPI PCube_getMaxPWMOutput( int iDeviceId, int iModuleId, long* piValue ) 02899 { 02900 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02901 return ERRID_DEV_WRONGDEVICEID; 02902 if( g_apclDevice[iDeviceId] == NULL ) 02903 return ERRID_DEV_NOTINITIALIZED; 02904 02905 int iRetVal = g_apclDevice[iDeviceId]->getMaxPWMOutput( iModuleId, piValue ); 02906 02907 return iRetVal; 02908 } 02909 02910 M5DLL_API int WINAPI PCube_setKpPWMLimit( int iDeviceId, int iModuleId, long iValue ) 02911 { 02912 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02913 return ERRID_DEV_WRONGDEVICEID; 02914 if( g_apclDevice[iDeviceId] == NULL ) 02915 return ERRID_DEV_NOTINITIALIZED; 02916 02917 int iRetVal = g_apclDevice[iDeviceId]->setKpPWMLimit( iModuleId, iValue ); 02918 02919 return iRetVal; 02920 } 02921 02922 M5DLL_API int WINAPI PCube_setCurrentLimit( int iDeviceId, int iModuleId, float fValue ) 02923 { 02924 if(0 > iDeviceId || iDeviceId >= g_apclDevice.size()) 02925 return ERRID_DEV_WRONGDEVICEID; 02926 if( g_apclDevice[iDeviceId] == NULL ) 02927 return ERRID_DEV_NOTINITIALIZED; 02928 02929 int iRetVal = g_apclDevice[iDeviceId]->setCurrentLimit( iModuleId, fValue ); 02930 02931 return iRetVal; 02932 }