public void Dispose() { if (VREPWrapper.simxPauseCommunication(clientID, 0) != 0) { throw new VREPException(simx_error.remote_error_flag, "Restarting communication failed"); } // Console.WriteLine("--- Set Block closed ------"); }
public VREPSetBlock(int cID) { // Console.WriteLine("--- Opening Set Block -----"); clientID = cID; if (VREPWrapper.simxPauseCommunication(cID, 1) != 0) { throw new VREPException(simx_error.remote_error_flag, "Pausing communication failed"); } }
public static simx_error SetJointPositionControl(int clientID, int jointID, bool onOff) { if (positionControlEnabled == onOff) { return(simx_error.noerror); } var code = new List <simx_error> { VREPWrapper.simxSetObjectIntParameter(clientID, jointID, 2001, (onOff) ? 1 : 0, simx_opmode.oneshot_wait), VREPWrapper.simxSetObjectFloatParameter(clientID, jointID, 2002, P, simx_opmode.oneshot), VREPWrapper.simxSetObjectFloatParameter(clientID, jointID, 2003, I, simx_opmode.oneshot), VREPWrapper.simxSetObjectFloatParameter(clientID, jointID, 2004, D, simx_opmode.oneshot) }; foreach (var c in code.Where(p => p > simx_error.noerror).Select((p, i) => new { Code = p, Index = i })) { Console.WriteLine("Errors: {0}: {1} -> {2}", jointID, c.Index, c.Code); } positionControlEnabled = onOff; return(code.Max()); }
public static void EndSetBlock(int clientID) { VREPWrapper.simxPauseCommunication(clientID, 0); }