Beispiel #1
0
 public IntervalRequest(MsfsModuleClient client, string lVarName, TimeSpan interval)
 {
     Client   = client;
     LVarName = lVarName;
     Interval = interval;
     CancellationTokenSource = new CancellationTokenSource();
     RequestId = Interlocked.Increment(ref _nextRequestId);
     _         = RunLoop(CancellationTokenSource.Token);
 }
Beispiel #2
0
        public static async Task Run()
        {
            using (var simConnect = new SimConnectWrapper("MsfsModuleTests"))
            {
                Console.WriteLine("Connecting to SimConnect ...");
                if (!await simConnect.TryConnect())
                {
                    Console.WriteLine("SimConnect connection failed. Exiting ...");
                    return;
                }
                int x      = 0;
                var client = MsfsModuleClient.CreateFor(simConnect);
                while (Console.ReadLine() != "stop")
                {
                    if (x++ % 2 == 0)
                    {
                        Console.WriteLine("Reading LVar WT_CJ4_HDG_ON ...");
                        try
                        {
                            double result = await client.ReadLVar("WT_CJ4_HDG_ON");

                            Console.WriteLine($"Response: {result}");
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.ToString());
                        }
                    }
                    else
                    {
                        Console.WriteLine("Firing HEvent WT_CJ4_AP_HDG_PRESSED ...");
                        await client.FireHEvent("WT_CJ4_AP_HDG_PRESSED");
                    }
                }
                Console.WriteLine("stop typed, exiting ...");
                return;
            }
        }