/*//////////////////////////////////////////////////////////////////// * Created source file xps_c8_drivers.cpp for API description */ #include #include #include #include #include "Socket.h" #ifdef _WIN32 #define DLL _declspec(dllexport) #else #define DLL #endif #include "XPS_C8_drivers.h" #define SIZE_SMALL 256 #define SIZE_NOMINAL 512 #define SIZE_BIG 2048 #define SIZE_HUGE 32768 #define SIZE_NAME 100 #ifdef __cplusplus extern "C" { #endif #define DLL_VERSION "Library version for XPS-C8 Firmware V2.0.1" /***********************************************************************/ int __stdcall TCP_ConnectToServer(char *Ip_Address, int Ip_Port, double TimeOut) { return (ConnectToServer(Ip_Address, Ip_Port, TimeOut)); } /***********************************************************************/ void __stdcall TCP_SetTimeout(int SocketIndex, double Timeout) { SetTCPTimeout(SocketIndex, Timeout); } /***********************************************************************/ void __stdcall TCP_CloseSocket(int SocketIndex) { CloseSocket(SocketIndex); } /***********************************************************************/ char * __stdcall TCP_GetError(int SocketIndex) { return (GetError(SocketIndex)); } /***********************************************************************/ char * __stdcall GetLibraryVersion(void) { return (DLL_VERSION); } /***********************************************************************/ int __stdcall ElapsedTimeGet (int SocketIndex, double * ElapsedTime) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "ElapsedTimeGet (double *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", ElapsedTime); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall ErrorStringGet (int SocketIndex, int ErrorCode, char * ErrorString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "ErrorStringGet (%d,char *)", ErrorCode); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ErrorString, pt); ptNext = strchr (ErrorString, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall FirmwareVersionGet (int SocketIndex, char * Version) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "FirmwareVersionGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (Version, pt); ptNext = strchr (Version, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall TCLScriptExecute (int SocketIndex, char * TCLFileName, char * TaskName, char * ParametersList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "TCLScriptExecute (%s,%s,%s)", TCLFileName, TaskName, ParametersList); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall TCLScriptExecuteAndWait (int SocketIndex, char * TCLFileName, char * TaskName, char * InputParametersList, char * OutputParametersList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "TCLScriptExecuteAndWait (%s,%s,%s,char *)", TCLFileName, TaskName, InputParametersList); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (OutputParametersList, pt); ptNext = strchr (OutputParametersList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall TCLScriptKill (int SocketIndex, char * TaskName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "TCLScriptKill (%s)", TaskName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall TimerGet (int SocketIndex, char * TimerName, int * FrequencyTicks) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "TimerGet (%s,int *)", TimerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", FrequencyTicks); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall TimerSet (int SocketIndex, char * TimerName, int FrequencyTicks) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "TimerSet (%s,%d)", TimerName, FrequencyTicks); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall Reboot (int SocketIndex) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "Reboot ()"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventAdd (int SocketIndex, char * PositionerName, char * EventName, char * EventParameter, char * ActionName, char * ActionParameter1, char * ActionParameter2, char * ActionParameter3) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EventAdd (%s,%s,%s,%s,%s,%s,%s)", PositionerName, EventName, EventParameter, ActionName, ActionParameter1, ActionParameter2, ActionParameter3); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventGet (int SocketIndex, char * PositionerName, char * EventsAndActionsList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "EventGet (%s,char *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (EventsAndActionsList, pt); ptNext = strchr (EventsAndActionsList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventRemove (int SocketIndex, char * PositionerName, char * EventName, char * EventParameter) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EventRemove (%s,%s,%s)", PositionerName, EventName, EventParameter); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventWait (int SocketIndex, char * PositionerName, char * EventName, char * EventParameter) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EventWait (%s,%s,%s)", PositionerName, EventName, EventParameter); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedConfigurationTriggerSet (int SocketIndex, int NbElements, char * ExtendedEventNameList, char * EventParameter1List, char * EventParameter2List, char * EventParameter3List, char * EventParameter4List) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, ExtendedEventNameList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray1)[SIZE_NAME]; stringArray1 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, EventParameter1List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray1[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray1[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray2)[SIZE_NAME]; stringArray2 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, EventParameter2List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray2[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray2[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray3)[SIZE_NAME]; stringArray3 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, EventParameter3List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray3[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray3[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray4)[SIZE_NAME]; stringArray4 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, EventParameter4List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray4[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray4[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedConfigurationTriggerSet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s,%s,%s,%s,%s", stringArray0[i], stringArray1[i], stringArray2[i], stringArray3[i], stringArray4[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; delete [] stringArray1; delete [] stringArray2; delete [] stringArray3; delete [] stringArray4; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedConfigurationTriggerGet (int SocketIndex, char * EventTriggerConfiguration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedConfigurationTriggerGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (EventTriggerConfiguration, pt); ptNext = strchr (EventTriggerConfiguration, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedConfigurationActionSet (int SocketIndex, int NbElements, char * ExtendedActionNameList, char * ActionParameter1List, char * ActionParameter2List, char * ActionParameter3List, char * ActionParameter4List) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, ExtendedActionNameList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray1)[SIZE_NAME]; stringArray1 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, ActionParameter1List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray1[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray1[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray2)[SIZE_NAME]; stringArray2 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, ActionParameter2List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray2[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray2[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray3)[SIZE_NAME]; stringArray3 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, ActionParameter3List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray3[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray3[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } char (*stringArray4)[SIZE_NAME]; stringArray4 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, ActionParameter4List, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray4[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray4[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedConfigurationActionSet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s,%s,%s,%s,%s", stringArray0[i], stringArray1[i], stringArray2[i], stringArray3[i], stringArray4[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; delete [] stringArray1; delete [] stringArray2; delete [] stringArray3; delete [] stringArray4; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedConfigurationActionGet (int SocketIndex, char * ActionConfiguration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedConfigurationActionGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ActionConfiguration, pt); ptNext = strchr (ActionConfiguration, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedStart (int SocketIndex, int * ID) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedStart (int *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", ID); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedAllGet (int SocketIndex, char * EventActionConfigurations) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_NOMINAL); /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedAllGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_NOMINAL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (EventActionConfigurations, pt); ptNext = strchr (EventActionConfigurations, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedGet (int SocketIndex, int ID, char * EventTriggerConfiguration, char * ActionConfiguration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedGet (%d,char *,char *)", ID); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (EventTriggerConfiguration, pt); ptNext = strchr (EventTriggerConfiguration, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ActionConfiguration, pt); ptNext = strchr (ActionConfiguration, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedRemove (int SocketIndex, int ID) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedRemove (%d)", ID); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventExtendedWait (int SocketIndex) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EventExtendedWait ()"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringConfigurationGet (int SocketIndex, char * Type) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_HUGE); /* Convert to string */ sprintf (ExecuteMethod, "GatheringConfigurationGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_HUGE); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (Type, pt); ptNext = strchr (Type, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringConfigurationSet (int SocketIndex, int NbElements, char * TypeList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, TypeList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "GatheringConfigurationSet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s", stringArray0[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringCurrentNumberGet (int SocketIndex, int * CurrentNumber, int * MaximumSamplesNumber) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GatheringCurrentNumberGet (int *,int *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", CurrentNumber); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", MaximumSamplesNumber); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringStopAndSave (int SocketIndex) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GatheringStopAndSave ()"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringDataAcquire (int SocketIndex) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GatheringDataAcquire ()"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringReset (int SocketIndex) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GatheringReset ()"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringExternalConfigurationSet (int SocketIndex, int NbElements, char * TypeList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, TypeList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "GatheringExternalConfigurationSet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s", stringArray0[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringExternalConfigurationGet (int SocketIndex, char * Type) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_HUGE); /* Convert to string */ sprintf (ExecuteMethod, "GatheringExternalConfigurationGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_HUGE); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (Type, pt); ptNext = strchr (Type, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringExternalCurrentNumberGet (int SocketIndex, int * CurrentNumber, int * MaximumSamplesNumber) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GatheringExternalCurrentNumberGet (int *,int *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", CurrentNumber); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", MaximumSamplesNumber); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringExternalStopAndSave (int SocketIndex) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GatheringExternalStopAndSave ()"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GlobalArrayGet (int SocketIndex, int Number, char * ValueString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GlobalArrayGet (%d,char *)", Number); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ValueString, pt); ptNext = strchr (ValueString, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GlobalArraySet (int SocketIndex, int Number, char * ValueString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GlobalArraySet (%d,%s)", Number, ValueString); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GPIOAnalogGet (int SocketIndex, int NbElements, char * GPIONameList, double AnalogValue[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, GPIONameList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "GPIOAnalogGet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s,double *", stringArray0[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &AnalogValue[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GPIOAnalogSet (int SocketIndex, int NbElements, char * GPIONameList, double AnalogOutputValue[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, GPIONameList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "GPIOAnalogSet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s,%.13g", stringArray0[i], AnalogOutputValue[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GPIOAnalogGainGet (int SocketIndex, int NbElements, char * GPIONameList, int AnalogInputGainValue[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, GPIONameList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "GPIOAnalogGainGet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s,int *", stringArray0[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", &AnalogInputGainValue[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GPIOAnalogGainSet (int SocketIndex, int NbElements, char * GPIONameList, int AnalogInputGainValue[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Split list */ char *token; char seps[] = " \t;"; int indice; char list [SIZE_NOMINAL]; char (*stringArray0)[SIZE_NAME]; stringArray0 = new char [NbElements][SIZE_NAME]; indice = 0; strncpyWithEOS (list, GPIONameList, SIZE_NOMINAL, SIZE_NOMINAL); token = strtok( list, seps ); while (( token != NULL ) && ( indice < NbElements )) { memset(stringArray0[indice],'\0', SIZE_NAME); strncpyWithEOS(stringArray0[indice], token, SIZE_NAME, SIZE_NAME); token = strtok( NULL, seps ); indice++; } /* Convert to string */ sprintf (ExecuteMethod, "GPIOAnalogGainSet ("); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%s,%d", stringArray0[i], AnalogInputGainValue[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Clear memory */ delete [] stringArray0; /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GPIODigitalGet (int SocketIndex, char * GPIOName, unsigned short * DigitalValue) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GPIODigitalGet (%s,unsigned short *)", GPIOName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%hu", DigitalValue); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GPIODigitalSet (int SocketIndex, char * GPIOName, unsigned short Mask, unsigned short DigitalOutputValue) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GPIODigitalSet (%s,%hu,%hu)", GPIOName, Mask, DigitalOutputValue); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupAnalogTrackingModeEnable (int SocketIndex, char * GroupName, char * Type) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupAnalogTrackingModeEnable (%s,%s)", GroupName, Type); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupAnalogTrackingModeDisable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupAnalogTrackingModeDisable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupCorrectorOutputGet (int SocketIndex, char * GroupName, int NbElements, double CorrectorOutput[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupCorrectorOutputGet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "double *"); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &CorrectorOutput[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupHomeSearch (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupHomeSearch (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupHomeSearchAndRelativeMove (int SocketIndex, char * GroupName, int NbElements, double TargetDisplacement[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupHomeSearchAndRelativeMove (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%.13g", TargetDisplacement[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupInitialize (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupInitialize (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupInitializeWithEncoderCalibration (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupInitializeWithEncoderCalibration (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupJogParametersSet (int SocketIndex, char * GroupName, int NbElements, double Velocity[], double Acceleration[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupJogParametersSet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%.13g,%.13g", Velocity[i], Acceleration[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupJogParametersGet (int SocketIndex, char * GroupName, int NbElements, double Velocity[], double Acceleration[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupJogParametersGet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "double *,double *"); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &Velocity[i]); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &Acceleration[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupJogCurrentGet (int SocketIndex, char * GroupName, int NbElements, double Velocity[], double Acceleration[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupJogCurrentGet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "double *,double *"); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &Velocity[i]); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &Acceleration[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupJogModeEnable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupJogModeEnable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupJogModeDisable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupJogModeDisable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupKill (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupKill (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupMoveAbort (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupMoveAbort (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupMoveAbsolute (int SocketIndex, char * GroupName, int NbElements, double TargetPosition[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupMoveAbsolute (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%.13g", TargetPosition[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupMoveRelative (int SocketIndex, char * GroupName, int NbElements, double TargetDisplacement[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupMoveRelative (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "%.13g", TargetDisplacement[i]); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupMotionDisable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupMotionDisable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupMotionEnable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupMotionEnable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupPositionCurrentGet (int SocketIndex, char * GroupName, int NbElements, double CurrentEncoderPosition[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupPositionCurrentGet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "double *"); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &CurrentEncoderPosition[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupPositionSetpointGet (int SocketIndex, char * GroupName, int NbElements, double SetPointPosition[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupPositionSetpointGet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "double *"); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &SetPointPosition[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupPositionTargetGet (int SocketIndex, char * GroupName, int NbElements, double TargetPosition[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupPositionTargetGet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "double *"); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &TargetPosition[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupReferencingActionExecute (int SocketIndex, char * PositionerName, char * ReferencingAction, char * ReferencingSensor, double ReferencingParameter) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupReferencingActionExecute (%s,%s,%s,%.13g)", PositionerName, ReferencingAction, ReferencingSensor, ReferencingParameter); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupReferencingStart (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupReferencingStart (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupReferencingStop (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupReferencingStop (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupStatusGet (int SocketIndex, char * GroupName, int * Status) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupStatusGet (%s,int *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", Status); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupStatusStringGet (int SocketIndex, int GroupStatusCode, char * GroupStatusString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_NOMINAL); /* Convert to string */ sprintf (ExecuteMethod, "GroupStatusStringGet (%d,char *)", GroupStatusCode); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_NOMINAL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (GroupStatusString, pt); ptNext = strchr (GroupStatusString, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupVelocityCurrentGet (int SocketIndex, char * GroupName, int NbElements, double CurrentVelocity[]) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); char temp[SIZE_NOMINAL]; /* Convert to string */ sprintf (ExecuteMethod, "GroupVelocityCurrentGet (%s,", GroupName); for (int i = 0; i < NbElements; i++) { sprintf (temp, "double *"); strncat (ExecuteMethod, temp, SIZE_SMALL); if ((i + 1) < NbElements) { strncat (ExecuteMethod, ",", SIZE_SMALL); } } strcat (ExecuteMethod, ")"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; for (int i = 0; i < NbElements; i++) { if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", &CurrentVelocity[i]); } } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall KillAll (int SocketIndex) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "KillAll ()"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerAnalogTrackingPositionParametersGet (int SocketIndex, char * PositionerName, char * GPIOName, double * Offset, double * Scale, double * Velocity, double * Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerAnalogTrackingPositionParametersGet (%s,char *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (GPIOName, pt); ptNext = strchr (GPIOName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Offset); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Scale); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Velocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Acceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerAnalogTrackingPositionParametersSet (int SocketIndex, char * PositionerName, char * GPIOName, double Offset, double Scale, double Velocity, double Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerAnalogTrackingPositionParametersSet (%s,%s,%.13g,%.13g,%.13g,%.13g)", PositionerName, GPIOName, Offset, Scale, Velocity, Acceleration); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerAnalogTrackingVelocityParametersGet (int SocketIndex, char * PositionerName, char * GPIOName, double * Offset, double * Scale, double * DeadBandThreshold, int * Order, double * Velocity, double * Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerAnalogTrackingVelocityParametersGet (%s,char *,double *,double *,double *,int *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (GPIOName, pt); ptNext = strchr (GPIOName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Offset); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Scale); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", DeadBandThreshold); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", Order); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Velocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Acceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerAnalogTrackingVelocityParametersSet (int SocketIndex, char * PositionerName, char * GPIOName, double Offset, double Scale, double DeadBandThreshold, int Order, double Velocity, double Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerAnalogTrackingVelocityParametersSet (%s,%s,%.13g,%.13g,%.13g,%d,%.13g,%.13g)", PositionerName, GPIOName, Offset, Scale, DeadBandThreshold, Order, Velocity, Acceleration); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerBacklashGet (int SocketIndex, char * PositionerName, double * BacklashValue, char * BacklaskStatus) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerBacklashGet (%s,double *,char *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", BacklashValue); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (BacklaskStatus, pt); ptNext = strchr (BacklaskStatus, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerBacklashSet (int SocketIndex, char * PositionerName, double BacklashValue) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerBacklashSet (%s,%.13g)", PositionerName, BacklashValue); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerBacklashEnable (int SocketIndex, char * PositionerName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerBacklashEnable (%s)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerBacklashDisable (int SocketIndex, char * PositionerName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerBacklashDisable (%s)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorNotchFiltersSet (int SocketIndex, char * PositionerName, double NotchFrequency1, double NotchBandwith1, double NotchGain1, double NotchFrequency2, double NotchBandwith2, double NotchGain2) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorNotchFiltersSet (%s,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g)", PositionerName, NotchFrequency1, NotchBandwith1, NotchGain1, NotchFrequency2, NotchBandwith2, NotchGain2); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorNotchFiltersGet (int SocketIndex, char * PositionerName, double * NotchFrequency1, double * NotchBandwith1, double * NotchGain1, double * NotchFrequency2, double * NotchBandwith2, double * NotchGain2) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorNotchFiltersGet (%s,double *,double *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", NotchFrequency1); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", NotchBandwith1); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", NotchGain1); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", NotchFrequency2); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", NotchBandwith2); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", NotchGain2); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIDFFAccelerationSet (int SocketIndex, char * PositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainAcceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIDFFAccelerationSet (%s,%d,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g)", PositionerName, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainAcceleration); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIDFFAccelerationGet (int SocketIndex, char * PositionerName, bool * ClosedLoopStatus, double * KP, double * KI, double * KD, double * KS, double * IntegrationTime, double * DerivativeFilterCutOffFrequency, double * GKP, double * GKI, double * GKD, double * KForm, double * FeedForwardGainAcceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIDFFAccelerationGet (%s,bool *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", ClosedLoopStatus); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KP); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KI); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KD); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KS); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", IntegrationTime); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", DerivativeFilterCutOffFrequency); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKP); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKI); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKD); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KForm); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", FeedForwardGainAcceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIDFFVelocitySet (int SocketIndex, char * PositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIDFFVelocitySet (%s,%d,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g)", PositionerName, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainVelocity); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIDFFVelocityGet (int SocketIndex, char * PositionerName, bool * ClosedLoopStatus, double * KP, double * KI, double * KD, double * KS, double * IntegrationTime, double * DerivativeFilterCutOffFrequency, double * GKP, double * GKI, double * GKD, double * KForm, double * FeedForwardGainVelocity) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIDFFVelocityGet (%s,bool *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", ClosedLoopStatus); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KP); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KI); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KD); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KS); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", IntegrationTime); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", DerivativeFilterCutOffFrequency); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKP); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKI); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKD); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KForm); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", FeedForwardGainVelocity); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIDDualFFVoltageSet (int SocketIndex, char * PositionerName, bool ClosedLoopStatus, double KP, double KI, double KD, double KS, double IntegrationTime, double DerivativeFilterCutOffFrequency, double GKP, double GKI, double GKD, double KForm, double FeedForwardGainVelocity, double FeedForwardGainAcceleration, double Friction) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIDDualFFVoltageSet (%s,%d,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g,%.13g)", PositionerName, ClosedLoopStatus, KP, KI, KD, KS, IntegrationTime, DerivativeFilterCutOffFrequency, GKP, GKI, GKD, KForm, FeedForwardGainVelocity, FeedForwardGainAcceleration, Friction); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIDDualFFVoltageGet (int SocketIndex, char * PositionerName, bool * ClosedLoopStatus, double * KP, double * KI, double * KD, double * KS, double * IntegrationTime, double * DerivativeFilterCutOffFrequency, double * GKP, double * GKI, double * GKD, double * KForm, double * FeedForwardGainVelocity, double * FeedForwardGainAcceleration, double * Friction) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIDDualFFVoltageGet (%s,bool *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", ClosedLoopStatus); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KP); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KI); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KD); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KS); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", IntegrationTime); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", DerivativeFilterCutOffFrequency); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKP); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKI); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", GKD); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KForm); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", FeedForwardGainVelocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", FeedForwardGainAcceleration); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Friction); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIPositionSet (int SocketIndex, char * PositionerName, bool ClosedLoopStatus, double KP, double KI, double IntegrationTime) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIPositionSet (%s,%d,%.13g,%.13g,%.13g)", PositionerName, ClosedLoopStatus, KP, KI, IntegrationTime); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorPIPositionGet (int SocketIndex, char * PositionerName, bool * ClosedLoopStatus, double * KP, double * KI, double * IntegrationTime) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorPIPositionGet (%s,bool *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", ClosedLoopStatus); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KP); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", KI); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", IntegrationTime); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCorrectorTypeGet (int SocketIndex, char * PositionerName, char * CorrectorType) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCorrectorTypeGet (%s,char *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (CorrectorType, pt); ptNext = strchr (CorrectorType, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCurrentVelocityAccelerationFiltersSet (int SocketIndex, char * PositionerName, double CurrentVelocityCutOffFrequency, double CurrentAccelerationCutOffFrequency) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCurrentVelocityAccelerationFiltersSet (%s,%.13g,%.13g)", PositionerName, CurrentVelocityCutOffFrequency, CurrentAccelerationCutOffFrequency); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerCurrentVelocityAccelerationFiltersGet (int SocketIndex, char * PositionerName, double * CurrentVelocityCutOffFrequency, double * CurrentAccelerationCutOffFrequency) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerCurrentVelocityAccelerationFiltersGet (%s,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CurrentVelocityCutOffFrequency); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CurrentAccelerationCutOffFrequency); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerDriverStatusGet (int SocketIndex, char * PositionerName, int * DriverStatus) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerDriverStatusGet (%s,int *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", DriverStatus); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerDriverStatusStringGet (int SocketIndex, int PositionerDriverStatus, char * PositionerDriverStatusString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_NOMINAL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerDriverStatusStringGet (%d,char *)", PositionerDriverStatus); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_NOMINAL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerDriverStatusString, pt); ptNext = strchr (PositionerDriverStatusString, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerEncoderAmplitudeValuesGet (int SocketIndex, char * PositionerName, double * MaxSinusAmplitude, double * CurrentSinusAmplitude, double * MaxCosinusAmplitude, double * CurrentCosinusAmplitude) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerEncoderAmplitudeValuesGet (%s,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaxSinusAmplitude); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CurrentSinusAmplitude); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaxCosinusAmplitude); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CurrentCosinusAmplitude); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerEncoderCalibrationParametersGet (int SocketIndex, char * PositionerName, double * SinusOffset, double * CosinusOffset, double * DifferentialGain, double * PhaseCompensation) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerEncoderCalibrationParametersGet (%s,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SinusOffset); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CosinusOffset); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", DifferentialGain); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", PhaseCompensation); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerErrorGet (int SocketIndex, char * PositionerName, int * ErrorCode) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerErrorGet (%s,int *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", ErrorCode); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerErrorStringGet (int SocketIndex, int PositionerErrorCode, char * PositionerErrorString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_NOMINAL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerErrorStringGet (%d,char *)", PositionerErrorCode); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_NOMINAL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerErrorString, pt); ptNext = strchr (PositionerErrorString, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerHardwareStatusGet (int SocketIndex, char * PositionerName, int * HardwareStatus) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerHardwareStatusGet (%s,int *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", HardwareStatus); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerHardwareStatusStringGet (int SocketIndex, int PositionerHardwareStatus, char * PositionerHardwareStatusString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_NOMINAL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerHardwareStatusStringGet (%d,char *)", PositionerHardwareStatus); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_NOMINAL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerHardwareStatusString, pt); ptNext = strchr (PositionerHardwareStatusString, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerHardInterpolatorFactorGet (int SocketIndex, char * PositionerName, int * InterpolationFactor) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerHardInterpolatorFactorGet (%s,int *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", InterpolationFactor); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerHardInterpolatorFactorSet (int SocketIndex, char * PositionerName, int InterpolationFactor) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerHardInterpolatorFactorSet (%s,%d)", PositionerName, InterpolationFactor); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerMaximumVelocityAndAccelerationGet (int SocketIndex, char * PositionerName, double * MaximumVelocity, double * MaximumAcceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerMaximumVelocityAndAccelerationGet (%s,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumVelocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumAcceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerMotionDoneGet (int SocketIndex, char * PositionerName, double * PositionWindow, double * VelocityWindow, double * CheckingTime, double * MeanPeriod, double * TimeOut) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerMotionDoneGet (%s,double *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", PositionWindow); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", VelocityWindow); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CheckingTime); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MeanPeriod); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", TimeOut); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerMotionDoneSet (int SocketIndex, char * PositionerName, double PositionWindow, double VelocityWindow, double CheckingTime, double MeanPeriod, double TimeOut) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerMotionDoneSet (%s,%.13g,%.13g,%.13g,%.13g,%.13g)", PositionerName, PositionWindow, VelocityWindow, CheckingTime, MeanPeriod, TimeOut); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerPositionCompareGet (int SocketIndex, char * PositionerName, double * MinimumPosition, double * MaximumPosition, double * PositionStep, bool * EnableState) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerPositionCompareGet (%s,double *,double *,double *,bool *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MinimumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", PositionStep); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", EnableState); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerPositionCompareSet (int SocketIndex, char * PositionerName, double MinimumPosition, double MaximumPosition, double PositionStep) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerPositionCompareSet (%s,%.13g,%.13g,%.13g)", PositionerName, MinimumPosition, MaximumPosition, PositionStep); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerPositionCompareEnable (int SocketIndex, char * PositionerName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerPositionCompareEnable (%s)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerPositionCompareDisable (int SocketIndex, char * PositionerName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerPositionCompareDisable (%s)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerSGammaExactVelocityAjustedDisplacementGet (int SocketIndex, char * PositionerName, double DesiredDisplacement, double * AdjustedDisplacement) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerSGammaExactVelocityAjustedDisplacementGet (%s,%.13g,double *)", PositionerName, DesiredDisplacement); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", AdjustedDisplacement); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerSGammaParametersGet (int SocketIndex, char * PositionerName, double * Velocity, double * Acceleration, double * MinimumTjerkTime, double * MaximumTjerkTime) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerSGammaParametersGet (%s,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Velocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Acceleration); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MinimumTjerkTime); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumTjerkTime); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerSGammaParametersSet (int SocketIndex, char * PositionerName, double Velocity, double Acceleration, double MinimumTjerkTime, double MaximumTjerkTime) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerSGammaParametersSet (%s,%.13g,%.13g,%.13g,%.13g)", PositionerName, Velocity, Acceleration, MinimumTjerkTime, MaximumTjerkTime); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerSGammaPreviousMotionTimesGet (int SocketIndex, char * PositionerName, double * SettingTime, double * SettlingTime) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerSGammaPreviousMotionTimesGet (%s,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SettingTime); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SettlingTime); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerStageParameterGet (int SocketIndex, char * PositionerName, char * ParameterName, char * ParameterValue) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerStageParameterGet (%s,%s,char *)", PositionerName, ParameterName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ParameterValue, pt); ptNext = strchr (ParameterValue, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerUserTravelLimitsGet (int SocketIndex, char * PositionerName, double * UserMinimumTarget, double * UserMaximumTarget) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerUserTravelLimitsGet (%s,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserMinimumTarget); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserMaximumTarget); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerUserTravelLimitsSet (int SocketIndex, char * PositionerName, double UserMinimumTarget, double UserMaximumTarget) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "PositionerUserTravelLimitsSet (%s,%.13g,%.13g)", PositionerName, UserMinimumTarget, UserMaximumTarget); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall MultipleAxesPVTVerification (int SocketIndex, char * GroupName, char * TrajectoryFileName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "MultipleAxesPVTVerification (%s,%s)", GroupName, TrajectoryFileName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall MultipleAxesPVTVerificationResultGet (int SocketIndex, char * PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "MultipleAxesPVTVerificationResultGet (%s,char *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (FileName, pt); ptNext = strchr (FileName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MinimumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumVelocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumAcceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall MultipleAxesPVTExecution (int SocketIndex, char * GroupName, char * TrajectoryFileName, int ExecutionNumber) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "MultipleAxesPVTExecution (%s,%s,%d)", GroupName, TrajectoryFileName, ExecutionNumber); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall MultipleAxesPVTParametersGet (int SocketIndex, char * GroupName, char * FileName, int * CurrentElementNumber) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "MultipleAxesPVTParametersGet (%s,char *,int *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (FileName, pt); ptNext = strchr (FileName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", CurrentElementNumber); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall MultipleAxesPVTPulseOutputSet (int SocketIndex, char * GroupName, int StartElement, int EndElement, double TimeInterval) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "MultipleAxesPVTPulseOutputSet (%s,%d,%d,%.13g)", GroupName, StartElement, EndElement, TimeInterval); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall MultipleAxesPVTPulseOutputGet (int SocketIndex, char * GroupName, int * StartElement, int * EndElement, double * TimeInterval) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "MultipleAxesPVTPulseOutputGet (%s,int *,int *,double *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", StartElement); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", EndElement); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", TimeInterval); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SingleAxisSlaveModeEnable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SingleAxisSlaveModeEnable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SingleAxisSlaveModeDisable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SingleAxisSlaveModeDisable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SingleAxisSlaveParametersSet (int SocketIndex, char * GroupName, char * PositionerName, double Ratio) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SingleAxisSlaveParametersSet (%s,%s,%.13g)", GroupName, PositionerName, Ratio); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SingleAxisSlaveParametersGet (int SocketIndex, char * GroupName, char * PositionerName, double * Ratio) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SingleAxisSlaveParametersGet (%s,char *,double *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerName, pt); ptNext = strchr (PositionerName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Ratio); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SpindleSlaveModeEnable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SpindleSlaveModeEnable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SpindleSlaveModeDisable (int SocketIndex, char * GroupName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SpindleSlaveModeDisable (%s)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SpindleSlaveParametersSet (int SocketIndex, char * GroupName, char * PositionerName, double Ratio) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SpindleSlaveParametersSet (%s,%s,%.13g)", GroupName, PositionerName, Ratio); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall SpindleSlaveParametersGet (int SocketIndex, char * GroupName, char * PositionerName, double * Ratio) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "SpindleSlaveParametersGet (%s,char *,double *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerName, pt); ptNext = strchr (PositionerName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Ratio); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupSpinParametersSet (int SocketIndex, char * GroupName, double Velocity, double Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupSpinParametersSet (%s,%.13g,%.13g)", GroupName, Velocity, Acceleration); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupSpinParametersGet (int SocketIndex, char * GroupName, double * Velocity, double * Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupSpinParametersGet (%s,double *,double *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Velocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Acceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupSpinCurrentGet (int SocketIndex, char * GroupName, double * Velocity, double * Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupSpinCurrentGet (%s,double *,double *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Velocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Acceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupSpinModeStop (int SocketIndex, char * GroupName, double Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GroupSpinModeStop (%s,%.13g)", GroupName, Acceleration); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYLineArcVerification (int SocketIndex, char * GroupName, char * TrajectoryFileName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYLineArcVerification (%s,%s)", GroupName, TrajectoryFileName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYLineArcVerificationResultGet (int SocketIndex, char * PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYLineArcVerificationResultGet (%s,char *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (FileName, pt); ptNext = strchr (FileName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MinimumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumVelocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumAcceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYLineArcExecution (int SocketIndex, char * GroupName, char * TrajectoryFileName, double Velocity, double Acceleration, int ExecutionNumber) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYLineArcExecution (%s,%s,%.13g,%.13g,%d)", GroupName, TrajectoryFileName, Velocity, Acceleration, ExecutionNumber); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYLineArcParametersGet (int SocketIndex, char * GroupName, char * FileName, double * Velocity, double * Acceleration, int * CurrentElementNumber) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYLineArcParametersGet (%s,char *,double *,double *,int *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (FileName, pt); ptNext = strchr (FileName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Velocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Acceleration); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", CurrentElementNumber); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYLineArcPulseOutputSet (int SocketIndex, char * GroupName, double StartLength, double EndLength, double PathLengthInterval) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYLineArcPulseOutputSet (%s,%.13g,%.13g,%.13g)", GroupName, StartLength, EndLength, PathLengthInterval); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYLineArcPulseOutputGet (int SocketIndex, char * GroupName, double * StartLength, double * EndLength, double * PathLengthInterval) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYLineArcPulseOutputGet (%s,double *,double *,double *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", StartLength); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", EndLength); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", PathLengthInterval); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYZSplineVerification (int SocketIndex, char * GroupName, char * TrajectoryFileName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYZSplineVerification (%s,%s)", GroupName, TrajectoryFileName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYZSplineVerificationResultGet (int SocketIndex, char * PositionerName, char * FileName, double * MinimumPosition, double * MaximumPosition, double * MaximumVelocity, double * MaximumAcceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYZSplineVerificationResultGet (%s,char *,double *,double *,double *,double *)", PositionerName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (FileName, pt); ptNext = strchr (FileName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MinimumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumPosition); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumVelocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", MaximumAcceleration); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYZSplineExecution (int SocketIndex, char * GroupName, char * TrajectoryFileName, double Velocity, double Acceleration) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYZSplineExecution (%s,%s,%.13g,%.13g)", GroupName, TrajectoryFileName, Velocity, Acceleration); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall XYZSplineParametersGet (int SocketIndex, char * GroupName, char * FileName, double * Velocity, double * Acceleration, int * CurrentElementNumber) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "XYZSplineParametersGet (%s,char *,double *,double *,int *)", GroupName); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (FileName, pt); ptNext = strchr (FileName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Velocity); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", Acceleration); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%d", CurrentElementNumber); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EEPROMCIESet (int SocketIndex, int CardNumber, char * ReferenceString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EEPROMCIESet (%d,%s)", CardNumber, ReferenceString); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EEPROMDACOffsetCIESet (int SocketIndex, int PlugNumber, double DAC1Offset, double DAC2Offset) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EEPROMDACOffsetCIESet (%d,%.13g,%.13g)", PlugNumber, DAC1Offset, DAC2Offset); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EEPROMDriverSet (int SocketIndex, int PlugNumber, char * ReferenceString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EEPROMDriverSet (%d,%s)", PlugNumber, ReferenceString); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EEPROMINTSet (int SocketIndex, int CardNumber, char * ReferenceString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "EEPROMINTSet (%d,%s)", CardNumber, ReferenceString); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall CPUCoreAndBoardSupplyVoltagesGet (int SocketIndex, double * VoltageCPUCore, double * SupplyVoltage1P5V, double * SupplyVoltage3P3V, double * SupplyVoltage5V, double * SupplyVoltage12V, double * SupplyVoltageM12V, double * SupplyVoltageM5V, double * SupplyVoltage5VSB) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "CPUCoreAndBoardSupplyVoltagesGet (double *,double *,double *,double *,double *,double *,double *,double *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", VoltageCPUCore); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SupplyVoltage1P5V); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SupplyVoltage3P3V); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SupplyVoltage5V); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SupplyVoltage12V); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SupplyVoltageM12V); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SupplyVoltageM5V); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", SupplyVoltage5VSB); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall CPUTemperatureAndFanSpeedGet (int SocketIndex, double * CPUTemperature, double * CPUFanSpeed) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "CPUTemperatureAndFanSpeedGet (double *,double *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CPUTemperature); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", CPUFanSpeed); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall ActionListGet (int SocketIndex, char * ActionList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "ActionListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ActionList, pt); ptNext = strchr (ActionList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall ActionExtendedListGet (int SocketIndex, char * ActionList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "ActionExtendedListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ActionList, pt); ptNext = strchr (ActionList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall APIExtendedListGet (int SocketIndex, char * Method) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_HUGE); /* Convert to string */ sprintf (ExecuteMethod, "APIExtendedListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_HUGE); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (Method, pt); ptNext = strchr (Method, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall APIListGet (int SocketIndex, char * Method) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_HUGE); /* Convert to string */ sprintf (ExecuteMethod, "APIListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_HUGE); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (Method, pt); ptNext = strchr (Method, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall ErrorListGet (int SocketIndex, char * ErrorsList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_HUGE); /* Convert to string */ sprintf (ExecuteMethod, "ErrorListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_HUGE); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ErrorsList, pt); ptNext = strchr (ErrorsList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall EventListGet (int SocketIndex, char * EventList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "EventListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (EventList, pt); ptNext = strchr (EventList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringListGet (int SocketIndex, char * list) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "GatheringListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (list, pt); ptNext = strchr (list, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringExtendedListGet (int SocketIndex, char * list) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "GatheringExtendedListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (list, pt); ptNext = strchr (list, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringExternalListGet (int SocketIndex, char * list) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "GatheringExternalListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (list, pt); ptNext = strchr (list, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GroupStatusListGet (int SocketIndex, char * GroupStatusList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_HUGE); /* Convert to string */ sprintf (ExecuteMethod, "GroupStatusListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_HUGE); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (GroupStatusList, pt); ptNext = strchr (GroupStatusList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall HardwareInternalListGet (int SocketIndex, char * InternalHardwareList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_NOMINAL); /* Convert to string */ sprintf (ExecuteMethod, "HardwareInternalListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_NOMINAL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (InternalHardwareList, pt); ptNext = strchr (InternalHardwareList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall HardwareDriverAndStageGet (int SocketIndex, int PlugNumber, char * DriverName, char * StageName) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_NOMINAL); /* Convert to string */ sprintf (ExecuteMethod, "HardwareDriverAndStageGet (%d,char *,char *)", PlugNumber); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_NOMINAL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (DriverName, pt); ptNext = strchr (DriverName, ','); if (ptNext != NULL) *ptNext = '\0'; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (StageName, pt); ptNext = strchr (StageName, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall ObjectsListGet (int SocketIndex, char * ObjectsList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_HUGE); /* Convert to string */ sprintf (ExecuteMethod, "ObjectsListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_HUGE); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ObjectsList, pt); ptNext = strchr (ObjectsList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerErrorListGet (int SocketIndex, char * PositionerErrorList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "PositionerErrorListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerErrorList, pt); ptNext = strchr (PositionerErrorList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerHardwareStatusListGet (int SocketIndex, char * PositionerHardwareStatusList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "PositionerHardwareStatusListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerHardwareStatusList, pt); ptNext = strchr (PositionerHardwareStatusList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall PositionerDriverStatusListGet (int SocketIndex, char * PositionerDriverStatusList) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "PositionerDriverStatusListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (PositionerDriverStatusList, pt); ptNext = strchr (PositionerDriverStatusList, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall ReferencingActionListGet (int SocketIndex, char * list) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "ReferencingActionListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (list, pt); ptNext = strchr (list, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall ReferencingSensorListGet (int SocketIndex, char * list) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_BIG); /* Convert to string */ sprintf (ExecuteMethod, "ReferencingSensorListGet (char *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_BIG); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (list, pt); ptNext = strchr (list, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall GatheringUserDatasGet (int SocketIndex, double * UserData1, double * UserData2, double * UserData3, double * UserData4, double * UserData5, double * UserData6, double * UserData7, double * UserData8) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "GatheringUserDatasGet (double *,double *,double *,double *,double *,double *,double *,double *)"); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData1); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData2); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData3); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData4); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData5); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData6); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData7); if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) sscanf (pt, "%lf", UserData8); } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } /***********************************************************************/ int __stdcall TestTCP (int SocketIndex, char * InputString, char * ReturnString) { int ret = -1; char ExecuteMethod[SIZE_NOMINAL]; char *ReturnedValue = (char *) malloc (sizeof(char) * SIZE_SMALL); /* Convert to string */ sprintf (ExecuteMethod, "TestTCP (%s,char *)", InputString); /* Send this string and wait return function from controller */ /* return function : ==0 -> OK ; < 0 -> NOK */ SendAndReceive (SocketIndex, ExecuteMethod, ReturnedValue, SIZE_SMALL); if (strlen (ReturnedValue) > 0) sscanf (ReturnedValue, "%i", &ret); /* Get the returned values in the out parameters */ if (ret == 0) { char * pt; char * ptNext; pt = ReturnedValue; ptNext = NULL; if (pt != NULL) pt = strchr (pt, ','); if (pt != NULL) pt++; if (pt != NULL) strcpy (ReturnString, pt); ptNext = strchr (ReturnString, ','); if (ptNext != NULL) *ptNext = '\0'; } if (NULL != ReturnedValue) free (ReturnedValue); return (ret); } #ifdef __cplusplus } #endif