Beispiel #1
0
        void RunDemo()
        {
            while (true)
            {
                // tell the server what version number to look for
                int versionNumber = HubController.GetTargetVersionNumber();


                // register or re-register
                foreach (var d in ClientDevices)
                {
                    Program.SetDeviceNumber(d.DeviceNumber);
                    if (d.HubRefreshNeeded)
                    {
                        d.RegisterWithFakeDRSServer();
                    }
                }
                // try to send some messages
                foreach (var d in ClientDevices)
                {
                    Program.SetDeviceNumber(d.DeviceNumber);
                    d.SendMessages(1, 10);
                }
                // see if anyone needs to be updated
                foreach (var d in ClientDevices)
                {
                    Program.SetDeviceNumber(d.DeviceNumber);
                    if (d.FirmwareUpdateNeeded)
                    {
                        int targetFwid = d.DesiredFwVersionNumber;
                        d.CurrentFwVersionNumber = targetFwid;
                        if (!d.P0wned)
                        {
                            CertMaker m = new CertMaker(Program.IODir);
                            m.MakeNew(5, true, targetFwid);
                            d.FirmwareUpdateNeeded = false;
                            d.HubRefreshNeeded     = true;
                            d.RefreshCert();
                        }
                        else
                        {
                            Debug.WriteLine($"I'm powned: {d.DeviceName}");
                        }
                    }
                }


                Thread.Sleep(1000);
            }
        }