示例#1
0
        public void Read(byte[] pack)
        {
            for (int i = 0; i < dio.Length; i++)
            {
                int offset = i * DIOModule.LENGTH;
                dio[i] = new DIOModule();
                dio[i].relayForward  = BitConverter.ToUInt32(pack, offset);
                dio[i].relayReverse  = BitConverter.ToUInt32(pack, offset + 4);
                dio[i].digitalOutput = BitConverter.ToUInt32(pack, offset + 8);
                for (int j = 0; j < dio[i].pwmValues.Length; j++)
                {
                    dio[i].pwmValues[j] = BitConverter.ToSingle(pack, offset + 12 + (4 * j));
                }
                //Debug.Log("PWM: " + BitConverter.ToString(pack));

                //for (int j = 0; j < dio[i].canValues.Length; j++)
                //{
                //    dio[i].canValues[j] = BitConverter.ToSingle(pack, offset + 12 + (4 * 10) + (4 * j));
                //}
            }
            for (int i = 0; i < solenoid.Length; i++)
            {
                int offset = (DIOModule.LENGTH * dio.Length) + (i * SolenoidModule.LENGTH);
                solenoid [i]       = new SolenoidModule();
                solenoid [i].state = pack [offset];
            }
        }
示例#2
0
    public InputStatePacket()
    {
        for (int i = 0; i < dio.Length; i++)
        {
            dio[i] = new DIOModule();
        }

        for (int i = 0; i < encoders.Length; i++)
        {
            encoders[i] = new Encoders();
        }

        ai = new AnalogInput();

        for (int i = 0; i < counter.Length; i++)
        {
            counter[i] = new Counter();
        }
    }
示例#3
0
        public void Read(byte[] pack)
        {
            for (int i = 0; i < dio.Length; i++)
            {
                int offset = i * DIOModule.LENGTH;
                dio[i] = new DIOModule();
                dio[i].relayForward  = BitConverter.ToUInt32(pack, offset);
                dio[i].relayReverse  = BitConverter.ToUInt32(pack, offset + 4);
                dio[i].digitalOutput = BitConverter.ToUInt32(pack, offset + 8);

                for (int j = 0; j < dio[i].pwmValues.Length; j++)
                {
                    dio[i].pwmValues[j] = BitConverter.ToSingle(pack, offset + 12 + (4 * j));
                }
            }

            int totalOffset = DIOModule.LENGTH * dio.Length + SolenoidModule.LENGTH;

            solenoid       = new SolenoidModule();
            solenoid.state = pack[totalOffset];
        }