public NegotiateProtocolVersion(IURRTDE urRTDE)
        {
            byte[] payload = IToBytes.FromUshort(2);
            var    resp    = urRTDE.SendReceive(IPackageType.RTDE_REQUEST_PROTOCOL_VERSION, payload);

            Accepted = resp[0];
        }
Beispiel #2
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);
        }
Beispiel #3
0
        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);
        }