/* private static T ReadUsingMarshalUnsafe<T>(byte[] data) where T : struct { unsafe { fixed (byte* p = &data[0]) { return (T)Marshal.PtrToStructure(new IntPtr(p), typeof(T)); } } } */ void initializeDataPackets() { VData = new VesselData(); VData.id = 1; HPacket = new HandShakePacket(); HPacket.id = 0; HPacket.M1 = 1; HPacket.M2 = 2; HPacket.M3 = 3; CPacket = new ControlPacket(); VControls.ControlGroup = new Boolean[11]; VControlsOld.ControlGroup = new Boolean[11]; }
private void VesselControls() { CPacket = (ControlPacket)ByteArrayToStructure(buffer, CPacket); VControls.SAS = BitMathByte(CPacket.MainControls, 7); VControls.RCS = BitMathByte(CPacket.MainControls, 6); VControls.Lights = BitMathByte(CPacket.MainControls, 5); VControls.Gear = BitMathByte(CPacket.MainControls, 4); VControls.Brakes = BitMathByte(CPacket.MainControls, 3); VControls.Precision = BitMathByte(CPacket.MainControls, 2); VControls.Abort = BitMathByte(CPacket.MainControls, 1); VControls.Stage = BitMathByte(CPacket.MainControls, 0); for (int j = 1; j <= 10; j++) { VControls.ControlGroup[j] = BitMathUshort(CPacket.ControlGroup, j); } ControlReceived = true; //Debug.Log("KSPSerialIO: ControlPacket received"); }
private void VesselControls() { CPacket = (ControlPacket)ByteArrayToStructure (buffer, CPacket); VControls.SAS = BitMathByte(CPacket.MainControls, 7); VControls.RCS = BitMathByte(CPacket.MainControls, 6); VControls.Lights = BitMathByte(CPacket.MainControls, 5); VControls.Gear = BitMathByte(CPacket.MainControls, 4); VControls.Brakes = BitMathByte(CPacket.MainControls, 3); VControls.Precision = BitMathByte(CPacket.MainControls, 2); VControls.Abort = BitMathByte(CPacket.MainControls, 1); VControls.Stage = BitMathByte(CPacket.MainControls, 0); VControls.Pitch = (float)CPacket.Pitch / 1000.0F; VControls.Roll = (float)CPacket.Roll / 1000.0F; VControls.Yaw = (float)CPacket.Yaw / 1000.0F; VControls.TX = (float)CPacket.TX / 1000.0F; VControls.TY = (float)CPacket.TY / 1000.0F; VControls.TZ = (float)CPacket.TZ / 1000.0F; VControls.WheelSteer = (float)CPacket.WheelSteer / 1000.0F; VControls.Throttle = (float)CPacket.Throttle / 1000.0F; VControls.WheelThrottle = (float)CPacket.WheelThrottle / 1000.0F; for (int j = 1; j <= 10; j++) { VControls.ControlGroup [j] = BitMathUshort (CPacket.ControlGroup, j); } ControlReceived = true; //Debug.Log("KSPSerialIO: ControlPacket received"); }