Kinova API Documentation
KINOVAAPIUSBCOMMANDLAYER_API int GetGripperStatus ( Gripper Response)

BETA version - This function gets informations about the robotical arm's gripper. Some information may be missing, it is still in development.

Parameters:
ResponseA struct containing the information of the gripper
#include <iostream>
#include <dlfcn.h> //Ubuntu
#include <vector>
#include "KinovaTypes.h"
//Note that under windows, you may/will have to perform other #include

using namespace std;

int main()
{
        int result;

        cout << "GetGripperStatus function example" << endl;

        //Handle for the library's command layer.
        void * commandLayer_handle;

        //Function pointers to the functions we need
        int (*MyInitAPI)();
        int (*MyCloseAPI)();
        int (*MyGetGripperStatus)(Gripper &);

        //We load the library (Under Windows, use the function LoadLibrary)
        commandLayer_handle = dlopen("Kinova.API.USBCommandLayerUbuntu.so",RTLD_NOW|RTLD_GLOBAL);

        //We load the functions from the library (Under Windows, use GetProcAddress)
        MyInitAPI = (int (*)()) dlsym(commandLayer_handle,"InitAPI");
        MyCloseAPI = (int (*)()) dlsym(commandLayer_handle,"CloseAPI");
        MyGetGripperStatus = (int (*)(Gripper &)) dlsym(commandLayer_handle,"GetGripperStatus");

        //If the was loaded correctly
        if((MyInitAPI == NULL) || (MyCloseAPI == NULL) || (MyGetGripperStatus == NULL))
        {
                cout << "Unable to initialize the command layer." << endl;
        }
        else
        {
                cout << "The command has been initialized correctly." << endl << endl;

                cout << "Calling the method InitAPI()" << endl;
                result = (*MyInitAPI)();
                cout << "result of InitAPI() = " << result << endl;

                Gripper gripper;

                result = (*MyGetGripperStatus)(gripper);

                cout << "Gripper's model : " << gripper.Model << endl;

                for(int i = 0; i < 3; i++)
                {
                        cout << "Finger #" << (i + 1) << endl;
                        cout << "Finger #" << (i + 1) << "'s actual acceleration : " << gripper.Fingers[i].ActualAcceleration << endl;
                        cout << "Finger #" << (i + 1) << "'s actual average current : " << gripper.Fingers[i].ActualAverageCurrent << endl;
                        cout << "Finger #" << (i + 1) << "'s actual command : " << gripper.Fingers[i].ActualCommand << endl;
                        cout << "Finger #" << (i + 1) << "'s actual current : " << gripper.Fingers[i].ActualCurrent << endl;
                        cout << "Finger #" << (i + 1) << "'s actual force : " << gripper.Fingers[i].ActualForce << endl;
                        cout << "Finger #" << (i + 1) << "'s actual position : " << gripper.Fingers[i].ActualPosition << endl;
                        cout << "Finger #" << (i + 1) << "'s actual speed : " << gripper.Fingers[i].ActualSpeed << endl;
                        cout << "Finger #" << (i + 1) << "'s actual temperature : " << gripper.Fingers[i].ActualTemperature << endl;
                        cout << "Finger #" << (i + 1) << "'s code version : " << gripper.Fingers[i].CodeVersion << endl;
                        cout << "Finger #" << (i + 1) << "'s communication errors : " << gripper.Fingers[i].CommunicationErrors << endl;
                        cout << "Finger #" << (i + 1) << "'s cycle count : " << gripper.Fingers[i].CycleCount << endl;
                        cout << "Finger #" << (i + 1) << "'s device ID : " << gripper.Fingers[i].DeviceID << endl;
                        cout << "Finger #" << (i + 1) << "'s finger address : " << gripper.Fingers[i].FingerAddress << endl;
                        cout << "Finger #" << (i + 1) << "'s ID : " << gripper.Fingers[i].ID << endl;
                        cout << "Finger #" << (i + 1) << "'s index : " << gripper.Fingers[i].Index << endl;
                        cout << "Finger #" << (i + 1) << "'s is finger connected : " << gripper.Fingers[i].IsFingerConnected << endl;
                        cout << "Finger #" << (i + 1) << "'s is finger init : " << gripper.Fingers[i].IsFingerInit << endl;
                        cout << "Finger #" << (i + 1) << "'s max acceleration : " << gripper.Fingers[i].MaxAcceleration << endl;
                        cout << "Finger #" << (i + 1) << "'s max angle : " << gripper.Fingers[i].MaxAngle << endl;
                        cout << "Finger #" << (i + 1) << "'s max current : " << gripper.Fingers[i].MaxCurrent << endl;
                        cout << "Finger #" << (i + 1) << "'s max force : " << gripper.Fingers[i].MaxForce << endl;
                        cout << "Finger #" << (i + 1) << "'s max speed : " << gripper.Fingers[i].MaxSpeed << endl;
                        cout << "Finger #" << (i + 1) << "'s min angle : " << gripper.Fingers[i].MinAngle << endl;
                        cout << "Finger #" << (i + 1) << "'s oscillator tuning value : " << gripper.Fingers[i].OscillatorTuningValue << endl;
                        cout << "Finger #" << (i + 1) << "'s peak current : " << gripper.Fingers[i].PeakCurrent << endl;
                        cout << "Finger #" << (i + 1) << "'s peak max temp : " << gripper.Fingers[i].PeakMaxTemp << endl;
                        cout << "Finger #" << (i + 1) << "'s peak min temp : " << gripper.Fingers[i].PeakMinTemp << endl;
                        cout << "Finger #" << (i + 1) << "'s run time : " << gripper.Fingers[i].RunTime << endl << endl;
                }



                cout << endl << "Calling the method CloseAPI()" << endl;
                result = (*MyCloseAPI)();
                cout << "result of CloseAPI() = " << result << endl;
        }

        return 0;
}
 All Classes Files Functions Variables Enumerations Enumerator Defines