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]; } }
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(); } }
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]; }