public NegotiateProtocolVersion(IURRTDE urRTDE) { byte[] payload = IToBytes.FromUshort(2); var resp = urRTDE.SendReceive(IPackageType.RTDE_REQUEST_PROTOCOL_VERSION, payload); Accepted = resp[0]; }
public SetupOutput(IURRTDE urRTDE, double frequency, string variables) { var bFreq = IToBytes.FromDouble(frequency); var bVar = IToBytes.FromString(variables); byte[] payload = new byte[bFreq.Length + bVar.Length]; Buffer.BlockCopy(bFreq, 0, payload, 0, bFreq.Length); Buffer.BlockCopy(bVar, 0, payload, bFreq.Length, bVar.Length); var resp = urRTDE.SendReceive(IPackageType.RTDE_CONTROL_PACKAGE_SETUP_OUTPUTS, payload); OutputRecipeId = resp[0]; byte[] temp = new byte[resp.Length - 1]; Buffer.BlockCopy(resp, 1, temp, 0, temp.Length); VariableTypes = IFromBytes.ToString(temp); }
public static byte[] Pack(byte packagetType, byte[] payload) { byte[] type = new byte[1]; type[0] = packagetType; ushort size = Convert.ToUInt16(2 + type.Length + payload.Length); byte[] package = new byte[size]; byte[] bSize = IToBytes.FromUshort(size); Buffer.BlockCopy(bSize, 0, package, 0, bSize.Length); Buffer.BlockCopy(type, 0, package, bSize.Length, type.Length); if (payload.Length > 0) { Buffer.BlockCopy(payload, 0, package, bSize.Length + type.Length, payload.Length); } return(package); }