public Form1() { InitializeComponent(); int a = (40 + (104 * trackBar1.Value)); string b = a.ToString() + Deg; textBox1.Text = b; int c = 10 * trackBar2.Value; string d = c.ToString() + perc; textBox2.Text = d; _serialPort.RtsEnable = true; string[] ports = SerialPort.GetPortNames(); // _serialPort.PortName = ports[1]; //_serialPort.BaudRate = Convert.ToInt32(9600 ); // _serialPort.Parity = Parity.None; // _serialPort.DataBits = Convert.ToInt32( 8); // _serialPort.StopBits = StopBits.One; _serialPort.Handshake = Handshake.None; // Set the read/write timeouts _serialPort.ReadTimeout = 4000; _serialPort.WriteTimeout = 5000; lapData = new PacketLapData(0); motionData = new PacketMotionData(0); sessionData = new PacketSessionData(0); telemetryData = new PacketCarTelemetryData(0); }
} // From telemetry data packets stored in lastRPMs public F12019NewTelemetryData(PacketMotionData data) { this.posX = data.m_carMotionData[0].m_worldPositionX; this.posY = data.m_carMotionData[0].m_worldPositionY; this.posZ = data.m_carMotionData[0].m_worldPositionZ; this.worldVelocityX = data.m_carMotionData[0].m_worldVelocityX; this.worldVelocityY = data.m_carMotionData[0].m_worldVelocityY; this.worldVelocityZ = data.m_carMotionData[0].m_worldVelocityZ; this.localVelocityX = data.m_localVelocityX; this.localVelocityY = data.m_localVelocityY; this.localVelocityZ = data.m_localVelocityZ; this.gForceLateral = data.m_carMotionData[0].m_gForceLateral; this.gForceLongitudinal = data.m_carMotionData[0].m_gForceLongitudinal; this.gForceVertical = data.m_carMotionData[0].m_gForceVertical; this.yaw = data.m_carMotionData[0].m_yaw; this.pitch = data.m_carMotionData[0].m_pitch; this.roll = data.m_carMotionData[0].m_roll; this.wheelSlipRL = data.m_wheelSlip[0]; this.wheelSlipRR = data.m_wheelSlip[1]; this.wheelSlipFL = data.m_wheelSlip[2]; this.wheelSlipFR = data.m_wheelSlip[3]; this.suspAccelRL = data.m_suspensionAcceleration[0]; this.suspAccelRR = data.m_suspensionAcceleration[1]; this.suspAccelFL = data.m_suspensionAcceleration[2]; this.suspAccelFR = data.m_suspensionAcceleration[3]; this.angularVelocityX = data.m_angularVelocityX; this.angularVelocityY = data.m_angularVelocityY; this.angularVelocityZ = data.m_angularVelocityZ; this.angularAccelerationX = data.m_angularAccelerationX; this.angularAccelerationY = data.m_angularAccelerationY; this.angularAccelerationZ = data.m_angularAccelerationZ; this.frontWheelsAngle = data.m_frontWheelsAngle; this.RPMs = F12019NewTelemetryProvider.lastRPMs; }
private void HandlePacket(PacketHeader packet, byte[] bytes) { _telemetryRecorder.RecordPacket(packet, bytes); switch (packet.PacketType) { case PacketType.Motion: var motionPacket = StructUtility.ConvertToPacket <PacketMotionData>(bytes); OnMotionPacketReceived(new PacketReceivedEventArgs <PacketMotionData>(_oldMotionData, motionPacket)); _oldMotionData = motionPacket; break; case PacketType.Session: var sessionPacket = StructUtility.ConvertToPacket <PacketSessionData>(bytes); OnSessionPacketReceived(new PacketReceivedEventArgs <PacketSessionData>(_oldSessionData, sessionPacket)); _oldSessionData = sessionPacket; break; case PacketType.LapData: var lapPacket = StructUtility.ConvertToPacket <PacketLapData>(bytes); OnLapPacketReceivedReceived(new PacketReceivedEventArgs <PacketLapData>(_oldLapData, lapPacket)); _oldLapData = lapPacket; break; case PacketType.Event: var eventPacket = StructUtility.ConvertToPacket <EventPacket>(bytes); OnEventPacketReceived(new PacketReceivedEventArgs <EventPacket>(_oldEventPacket, eventPacket)); _oldEventPacket = eventPacket; break; case PacketType.Participants: var participantPacket = StructUtility.ConvertToPacket <PacketParticipantsData>(bytes); OnParticipantsPacketReceived(new PacketReceivedEventArgs <PacketParticipantsData>(_oldParticipantsData, participantPacket)); _oldParticipantsData = participantPacket; break; case PacketType.CarSetups: var carSetupsPacket = StructUtility.ConvertToPacket <PacketCarSetupData>(bytes); OnCarSetupPacketReceived(new PacketReceivedEventArgs <PacketCarSetupData>(_oldCarSetupData, carSetupsPacket)); _oldCarSetupData = carSetupsPacket; break; case PacketType.CarTelemetry: var carTelemetryPacket = StructUtility.ConvertToPacket <PacketCarTelemetryData>(bytes); OnCarTelemetryPacketReceived(new PacketReceivedEventArgs <PacketCarTelemetryData>(_oldCarTelemetryData, carTelemetryPacket)); _oldCarTelemetryData = carTelemetryPacket; break; case PacketType.CarStatus: var carStatusPacket = StructUtility.ConvertToPacket <PacketCarStatusData>(bytes); OnCarStatusPacketReceived(new PacketReceivedEventArgs <PacketCarStatusData>(_oldCarStatusData, carStatusPacket)); _oldCarStatusData = carStatusPacket; break; } _oldSessionId = packet.SessionUId; _oldFrameIdentifier = packet.FrameIdentifier; }
public void Parse(byte[] buffer) { F1BytesAccessor bytesAccessor = new F1BytesAccessor(buffer, true); PacketMotionData packetMotion = new PacketMotionData(); //packetMotion. packetReceived?.Invoke(this, new F1PacketEventEventArgs(packetMotionData: packetMotion)); }
public F1PacketEventEventArgs(PacketHeader packetHeader = null, CarMotionData carMotionData = null, PacketSessionData packetSessionData = null, PacketMotionData packetMotionData = null) { this.packetHeader = packetHeader; this.carMotionData = carMotionData; this.packetMotionData = packetMotionData; this.packetSessionData = packetSessionData; }
public void OnDebugDataSelected(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count == 0) { return; } var selectedDebugData = ((DebugModel)e.AddedItems[0]); switch (selectedDebugData.PacketType) { case PacketType.Motion: PacketMotionData motionData = StructUtility.ConvertToPacket <PacketMotionData>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(motionData); return; case PacketType.Session: PacketSessionData sessionData = StructUtility.ConvertToPacket <PacketSessionData>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(sessionData); return; case PacketType.LapData: PacketLapData lapData = StructUtility.ConvertToPacket <PacketLapData>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(lapData); return; case PacketType.Event: EventPacket eventData = StructUtility.ConvertToPacket <EventPacket>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(eventData); return; case PacketType.Participants: PacketParticipantsData participantsData = StructUtility.ConvertToPacket <PacketParticipantsData>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(participantsData); return; case PacketType.CarSetups: PacketCarSetupData carSetupsData = StructUtility.ConvertToPacket <PacketCarSetupData>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(carSetupsData); return; case PacketType.CarTelemetry: PacketCarTelemetryData carTelemetryData = StructUtility.ConvertToPacket <PacketCarTelemetryData>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(carTelemetryData); return; case PacketType.CarStatus: PacketCarStatusData carStatusData = StructUtility.ConvertToPacket <PacketCarStatusData>(selectedDebugData.Data); DebugDetails = new ObjectViewModelHierarchy(carStatusData); return; } }
public async Task ReceiveLoop(CancellationToken cancellationToken) { while (!cancellationToken.IsCancellationRequested) { UdpReceiveResult receiveResult = await _udpReceiver.Receive(cancellationToken).ConfigureAwait(false); byte[] rawPacked = receiveResult.Buffer; PacketHeader header = DeserializePackedHeader(rawPacked); switch (header.MPacketId) { case 0: PacketMotionData packetMotionData = Deserialize <PacketMotionData>(rawPacked); _dataSetCompositor.ProcessPacket(packetMotionData); break; case 1: PacketSessionData packetSessionData = Deserialize <PacketSessionData>(rawPacked); _dataSetCompositor.ProcessPacket(packetSessionData); break; case 2: PacketLapData packetLapData = Deserialize <PacketLapData>(rawPacked); _dataSetCompositor.ProcessPacket(packetLapData); break; case 3: PacketEventData packetEventData = Deserialize <PacketEventData>(rawPacked); _dataSetCompositor.ProcessPacket(packetEventData); break; case 4: PacketParticipantsData packetParticipantsData = Deserialize <PacketParticipantsData>(rawPacked); _dataSetCompositor.ProcessPacket(packetParticipantsData); break; case 5: PacketCarSetupData packetCarSetupData = Deserialize <PacketCarSetupData>(rawPacked); _dataSetCompositor.ProcessPacket(packetCarSetupData); break; case 6: PacketCarTelemetryData packetCarTelemetryData = Deserialize <PacketCarTelemetryData>(rawPacked); _dataSetCompositor.ProcessPacket(packetCarTelemetryData); break; case 7: PacketCarStatusData packetCarStatusData = Deserialize <PacketCarStatusData>(rawPacked); _dataSetCompositor.ProcessPacket(packetCarStatusData); break; } } }
private static void AddTyresInfo(ref CarTelemetryData rawTelemetryData, ref CarStatusData rawCarStatusData, ref PacketMotionData rawMotionData, SimulatorDataSet simData) { simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.TyrePressure.ActualQuantity = Pressure.FromPsi(rawTelemetryData.MTyresPressure[TyreIndices.FrontLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.TyrePressure.ActualQuantity = Pressure.FromPsi(rawTelemetryData.MTyresPressure[TyreIndices.FrontRight]); simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.TyrePressure.ActualQuantity = Pressure.FromPsi(rawTelemetryData.MTyresPressure[TyreIndices.RearLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.TyrePressure.ActualQuantity = Pressure.FromPsi(rawTelemetryData.MTyresPressure[TyreIndices.RearRight]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.TyreWear.ActualWear = rawCarStatusData.MTyresWear[TyreIndices.FrontLeft] / 100.0; simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.TyreWear.ActualWear = rawCarStatusData.MTyresWear[TyreIndices.FrontRight] / 100.0; simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.TyreWear.ActualWear = rawCarStatusData.MTyresWear[TyreIndices.RearLeft] / 100.0; simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.TyreWear.ActualWear = rawCarStatusData.MTyresWear[TyreIndices.RearRight] / 100.0; simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.Rps = rawMotionData.MWheelSpeed[TyreIndices.FrontLeft]; simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.Rps = rawMotionData.MWheelSpeed[TyreIndices.FrontRight]; simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.Rps = rawMotionData.MWheelSpeed[TyreIndices.RearLeft]; simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.Rps = rawMotionData.MWheelSpeed[TyreIndices.RearRight]; simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.SuspensionTravel = Distance.FromCentimeters(rawMotionData.MSuspensionPosition[TyreIndices.FrontLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.SuspensionTravel = Distance.FromCentimeters(rawMotionData.MSuspensionPosition[TyreIndices.FrontRight]); simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.SuspensionTravel = Distance.FromCentimeters(rawMotionData.MSuspensionPosition[TyreIndices.RearLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.SuspensionTravel = Distance.FromCentimeters(rawMotionData.MSuspensionPosition[TyreIndices.RearRight]); /*simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.SuspensionVelocity = Velocity.FromMs(rawMotionData.MSuspensionVelocity[TyreIndices.FrontLeft]); * simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.SuspensionVelocity = Velocity.FromMs(rawMotionData.MSuspensionVelocity[TyreIndices.FrontRight]); * simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.SuspensionVelocity = Velocity.FromMs(rawMotionData.MSuspensionVelocity[TyreIndices.RearLeft]); * simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.SuspensionVelocity = Velocity.FromMs(rawMotionData.MSuspensionVelocity[TyreIndices.RearRight]);*/ // Front Left Tyre Temps simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.CenterTyreTemp.IdealQuantity = Temperature.FromCelsius(85); simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.CenterTyreTemp.IdealQuantityWindow = Temperature.FromCelsius(20); simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.LeftTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.FrontLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.RightTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.FrontLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.CenterTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.FrontLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontLeft.TyreCoreTemperature.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresInnerTemperature[TyreIndices.FrontLeft]); // Front Right Tyre Temps simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.CenterTyreTemp.IdealQuantity = Temperature.FromCelsius(85); simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.CenterTyreTemp.IdealQuantityWindow = Temperature.FromCelsius(20); simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.LeftTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.FrontRight]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.RightTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.FrontRight]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.CenterTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.FrontRight]); simData.PlayerInfo.CarInfo.WheelsInfo.FrontRight.TyreCoreTemperature.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresInnerTemperature[TyreIndices.FrontRight]); // Rear Left Tyre Temps simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.CenterTyreTemp.IdealQuantity = Temperature.FromCelsius(85); simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.CenterTyreTemp.IdealQuantityWindow = Temperature.FromCelsius(20); simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.LeftTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.RearLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.RightTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.RearLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.CenterTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.RearLeft]); simData.PlayerInfo.CarInfo.WheelsInfo.RearLeft.TyreCoreTemperature.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresInnerTemperature[TyreIndices.RearLeft]); // Rear Right Tyre Temps simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.CenterTyreTemp.IdealQuantity = Temperature.FromCelsius(85); simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.CenterTyreTemp.IdealQuantityWindow = Temperature.FromCelsius(20); simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.LeftTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.RearRight]); simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.RightTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.RearRight]); simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.CenterTyreTemp.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresSurfaceTemperature[TyreIndices.RearRight]); simData.PlayerInfo.CarInfo.WheelsInfo.RearRight.TyreCoreTemperature.ActualQuantity = Temperature.FromCelsius(rawTelemetryData.MTyresInnerTemperature[TyreIndices.RearRight]); // Fuel System simData.PlayerInfo.CarInfo.FuelSystemInfo.FuelCapacity = Volume.FromLiters(rawCarStatusData.MFuelCapacity); simData.PlayerInfo.CarInfo.FuelSystemInfo.FuelRemaining = Volume.FromLiters(rawCarStatusData.MFuelInTank); }
private static IPacket Motion(PacketHeader packetHeader, BinaryReader reader) { var packetCarMotionData = new PacketMotionData(packetHeader); for (int i = 0; i < MaxNumberOfCarsOnTrack; i++) { var carMotionData = new CarMotionData(); carMotionData.WorldPositionX = reader.ReadSingle(); carMotionData.WorldPositionY = reader.ReadSingle(); carMotionData.WorldPositionZ = reader.ReadSingle(); carMotionData.WorldVelocityX = reader.ReadSingle(); carMotionData.WorldVelocityY = reader.ReadSingle(); carMotionData.WorldVelocityZ = reader.ReadSingle(); carMotionData.WorldForwardDirX = reader.ReadInt16(); carMotionData.WorldForwardDirY = reader.ReadInt16(); carMotionData.WorldForwardDirZ = reader.ReadInt16(); carMotionData.WorldRightDirX = reader.ReadInt16(); carMotionData.WorldRightDirY = reader.ReadInt16(); carMotionData.WorldRightDirZ = reader.ReadInt16(); carMotionData.GForceLateral = reader.ReadSingle(); carMotionData.GForceLongitudinal = reader.ReadSingle(); carMotionData.GForceVertical = reader.ReadSingle(); carMotionData.Yaw = reader.ReadSingle(); carMotionData.Pitch = reader.ReadSingle(); carMotionData.Roll = reader.ReadSingle(); packetCarMotionData.CarMotionData[i] = carMotionData; } // Extra player data for (int j = 0; j < NumberOfTyres; j++) { packetCarMotionData.SuspensionPosition[j] = reader.ReadSingle(); } for (int j = 0; j < NumberOfTyres; j++) { packetCarMotionData.SuspensionVelocity[j] = reader.ReadSingle(); } for (int j = 0; j < NumberOfTyres; j++) { packetCarMotionData.SuspensionAcceleration[j] = reader.ReadSingle(); } for (int j = 0; j < NumberOfTyres; j++) { packetCarMotionData.WheelSpeed[j] = reader.ReadSingle(); } for (int j = 0; j < NumberOfTyres; j++) { packetCarMotionData.WheelSlip[j] = reader.ReadSingle(); } packetCarMotionData.LocalVelocityX = reader.ReadSingle(); packetCarMotionData.LocalVelocityY = reader.ReadSingle(); packetCarMotionData.LocalVelocityZ = reader.ReadSingle(); packetCarMotionData.AngularVelocityX = reader.ReadSingle(); packetCarMotionData.AngularVelocityY = reader.ReadSingle(); packetCarMotionData.AngularVelocityZ = reader.ReadSingle(); packetCarMotionData.AngularAccelerationX = reader.ReadSingle(); packetCarMotionData.AngularAccelerationY = reader.ReadSingle(); packetCarMotionData.AngularAccelerationZ = reader.ReadSingle(); packetCarMotionData.FrontWheelsAngle = reader.ReadSingle(); return(packetCarMotionData); }
public void OnPacketMotionData(ref PacketMotionData pMotion, PacketSource packetSource) { WritePacket(pMotion.Header.SessionUID, ref pMotion, packetSource); }
public void OnPacketMotionData(ref PacketMotionData pMotion, PacketSource packetSource) { HandlePacket(ph => ph.OnPacketMotionData, ref pMotion, packetSource); }
/* Runs when triggered by an F118Reader object */ private void OnPacketReceived(object sender, F118ReceivedEventArgs args) { PacketID id = args.id; int carIndex = 0; switch (id) { case PacketID.MOTION: PacketMotionData motion = (PacketMotionData)args.packet; carIndex = motion.m_header.m_playerCarIndex; PositionEventArgs newPos = new PositionEventArgs(); newPos.x = motion.m_carMotionData[carIndex].m_worldPositionX; newPos.y = motion.m_carMotionData[carIndex].m_worldPositionY; newPos.z = motion.m_carMotionData[carIndex].m_worldPositionZ; GForceEventArgs newGs = new GForceEventArgs(); newGs.lat = motion.m_carMotionData[carIndex].m_gForceLateral; newGs.lon = motion.m_carMotionData[carIndex].m_gForceLongitudinal; RaisePositionReceived(newPos); RaiseGForceReceived(newGs); break; case PacketID.TELEMETRY: PacketCarTelemetryData telemetry = (PacketCarTelemetryData)args.packet; carIndex = telemetry.m_header.m_playerCarIndex; PowertrainEventArgs newPow = new PowertrainEventArgs(); sbyte gearByte = telemetry.m_carTelemetryData[carIndex].m_gear; if (gearByte == -1) { newPow.gear = 'R'; } else if (gearByte == 0) { newPow.gear = 'N'; } else { newPow.gear = (char)('0' + gearByte); } newPow.rpm = telemetry.m_carTelemetryData[carIndex].m_engineRPM; newPow.kmh = telemetry.m_carTelemetryData[carIndex].m_speed; newPow.mph = telemetry.m_carTelemetryData[carIndex].m_speed * 0.621371f; AxesEventArgs newAxes = new AxesEventArgs(); newAxes.throttle = telemetry.m_carTelemetryData[carIndex].m_throttle / 100.0f; newAxes.brake = telemetry.m_carTelemetryData[carIndex].m_brake / 100.0f; newAxes.clutch = telemetry.m_carTelemetryData[carIndex].m_clutch / 100.0f; newAxes.steering = telemetry.m_carTelemetryData[carIndex].m_steer / 100.0f; RaisePowertrainReceived(newPow); RaiseAxesReceived(newAxes); break; case PacketID.STATUS: PacketCarStatusData status = (PacketCarStatusData)args.packet; dataMtx.WaitOne(); maxRpm = status.m_carStatusData[carIndex].m_maxRPM; dataMtx.ReleaseMutex(); break; default: return; } }
public void ProcessPacket(PacketMotionData packetMotionData) { AllPacketsComposition.PacketMotionData = packetMotionData; _isPacketMotionDataFilled = true; }
public void OnPacketMotionData(ref PacketMotionData pMotion, PacketSource packetSource) { }
public void OnPacketMotionData(ref PacketMotionData pMotion, PacketSource packetSource) { Delay(pMotion.Header.SessionUID, pMotion.Header.SessionTime, packetSource); }