private static void RunLoop() { AssettoCorsa ac = new AssettoCorsa(); ac.StaticInfoInterval = 1000; // Get StaticInfo updates ever 5 seconds ac.StaticInfoUpdated += StaticInfoUpdated; // Add event listener for StaticInfo ac.PhysicsInterval = 100; ac.PhysicsUpdated += PhysicsUpdated; ac.GraphicsInterval = 300; ac.GraphicsUpdated += GraphicsUpdated; ac.GameStatusChanged += GameStatusChanged; ac.Start(); // Connect to shared memory and start interval timers Console.WriteLine("Press Q to quit!"); Console.WriteLine("Serial buffer stats:"); while (true) { if (Console.KeyAvailable) { var key = Console.ReadKey(true); if (key.Key == ConsoleKey.Q) { break; } } Thread.Sleep(100); // buffer stats Console.Write("{0,5} / {1,5}\r", _port.BytesToWrite, _port.WriteBufferSize); } ac.Stop(); Console.WriteLine(); }
private void Window_Activated(object sender, EventArgs e) { ac.Start(); if (ac.IsRunning) { LabelStatus.Content = "Connected!"; LabelStatus.Foreground = Color.Aquamarine.ToBrush(); everything(); } else { LabelStatus.Content = "Is AC Running?"; LabelStatus.Foreground = Color.Crimson.ToBrush(); } }
public AcServerService() { var ac = new AssettoCorsa { StaticInfoInterval = 1000, GraphicsInterval = 10, PhysicsInterval = 10 }; ac.StaticInfoUpdated += this.AC_StaticInfoUpdated; // Add event listener for StaticInfo ac.GraphicsUpdated += this.AC_GraphicInfoUpdated; ac.PhysicsUpdated += this.AC_PhysicsUpdated; ac.GameStatusChanged += this.AC_GameStatusChanged; ac.Start(); // Connect to shared memory and start interval timers }
static void Main(string[] args) { //insancia a api do assetto corsa AssettoCorsa ac = new AssettoCorsa(); //seta o intervalo de tempo do evento ac.PhysicsInterval = 1000; ac.GraphicsInterval = 1000; //chama os eventos ac.GraphicsUpdated += ac_GrapichUpdated; ac.PhysicsUpdated += ac_PhysicsUpdated; ac.Start(); Console.ReadKey(); }
static void Main(string[] args) { serialConnection = new SerialConnection(115200, 64); serialConnection.Connect(SerialConnection.GetArdunioPort()); acClient = new ACClient(serialConnection); assetoCorsa = new AssettoCorsa(); assetoCorsa.GraphicsInterval = 10; assetoCorsa.StaticInfoUpdated += acClient.StaticInfoUpdated; assetoCorsa.PhysicsUpdated += acClient.PhysicsUpdated; assetoCorsa.GraphicsUpdated += acClient.GraphicsUpdated; assetoCorsa.Start(); Console.ReadKey(); }
public Form1() { InitializeComponent(); LoadPorts(); AssettoCorsa ac = new AssettoCorsa(); ac.PhysicsInterval = 10; ac.PhysicsUpdated += ac_StaticInfoUpdated; ac.StaticInfoInterval = 5000; // Get StaticInfo updates ever 5 seconds ac.StaticInfoUpdated += ac_StaticInfoUpdated; // Add event listener for StaticInfo ac.Start(); timer1.Enabled = true; }
private void Start() { Log("Init Ac"); ac = new AssettoCorsa { PhysicsInterval = 100, GraphicsInterval = 500, StaticInfoInterval = 1000 }; ac.PhysicsUpdated += OnACPhysics; ac.GraphicsUpdated += OnACGraphics; ac.StaticInfoUpdated += OnACInfo; ac.Start(); isSpeedInit = false; Log("AC Is running : " + ac.IsRunning); }
void gameIntegrationWorkerDoWork(object sender, DoWorkEventArgs e) { bool assettoCorsaRunning = false; BackgroundWorker localbg = (BackgroundWorker)e.Argument; while (!localbg.CancellationPending) { if (Process.GetProcessesByName("acs").Length > 0) { if (assettoCorsaRunning) { } else { assettoCorsa.StaticInfoInterval = 5000; assettoCorsa.PhysicsInterval = 100; assettoCorsa.PhysicsUpdated += assettoCorsa_PhysicsUpdated; assettoCorsa.Start(); assettoCorsaRunning = true; Console.WriteLine("Started assettoCorsa"); } } else { if (assettoCorsaRunning) { assettoCorsa.Stop(); assettoCorsaRunning = false; Console.WriteLine("Stoped assettoCorsa"); } } Thread.Sleep(500); } }
public void Start() { pAc.Start(); }
static void Main(string[] args) { Console.WriteLine("--- Assetto Corsa Telemtry Router ---\n"); Console.WriteLine("Compatible with AC and ACC.\nExit with Ctrl+C.\n\n"); string[] ports = SerialPort.GetPortNames(); Console.WriteLine("The following serial ports were found:"); int ii = 0; foreach (string port in ports) { Console.Write(ii); Console.Write(": "); Console.WriteLine(port); ii++; } int port_number = -1; Console.Write("Choose port by leading number: "); while (port_number < 0) { ConsoleKeyInfo input = Console.ReadKey(); Console.WriteLine(); if (char.IsDigit(input.KeyChar)) { port_number = int.Parse(input.KeyChar.ToString()); } if (port_number < 0 || port_number > ports.Length - 1) { Console.Write("Invalid, enter again: "); port_number = -1; } } _port = new SerialPort(ports[port_number], 115200); Console.WriteLine("\n\nWaiting for Arduino to connect..."); _port.Open(); while (!_port.IsOpen) { Thread.Sleep(10); } Console.WriteLine("Connected to Arduino."); AssettoCorsa ac = new AssettoCorsa(); ac.StaticInfoInterval = 5000; ac.PhysicsInterval = 10; ac.StaticInfoUpdated += ac_StaticInfoUpdated; ac.PhysicsUpdated += ac_PhysicUpdated; ac.Start(); Console.WriteLine("\nWaiting for game to connect..."); while (!ac.IsRunning) { Thread.Sleep(500); } Console.WriteLine("Connected to game.\n"); Console.Write("Ready to go. Sending data every "); Console.Write(ac.PhysicsInterval); Console.WriteLine("ms."); Console.ReadKey(); }
protected override void start() { ac = new AssettoCorsa(); ac.GraphicsInterval = 10; ac.PhysicsInterval = 10; ac.StaticInfoInterval = 5000; ac.StaticInfoUpdated += StaticInfoUpdated; ac.GraphicsUpdated += GraphicsUpdated; ac.PhysicsUpdated += PhysicsUpdated; ac.Start(); NotifyStatusMessage("Waiting for Assetto Corsa..."); bool isConnected = false; while (!CancellationPending) { if (gr.Status != AC_STATUS.AC_OFF) { if (!isConnected) { string s = "Connected to Assetto Corsa."; logger.LogMessageToFile(s, true); NotifyStatusMessage(s); } isConnected = true; sendRPMShiftMsg(currentRpm, firstRpm, lastRpm, flag); foreach (SerialManager serialManager in sm) { if (serialManager.deviceContains7Segments()) { send7SegmentMsg(); } } } else { if (isConnected) { string s = "Assetto Corsa closed."; logger.LogMessageToFile(s, true); NotifyStatusMessage(s); } isConnected = false; foreach (SerialManager serialManager in sm) { if (serialManager.deviceContains7Segments()) { serialManager.enqueueCommand(Utils.getDisconnectedMsgCmd(), false); serialManager.enqueueCommand(Utils.getBlackRPMCmd(), false); } } } Thread.Sleep(Constants.SharedMemoryReadRate); } NotifyStatusMessage("Assetto Corsa thread stopped."); }