예제 #1
0
파일: Program.cs 프로젝트: lukazikus/mmc
        public static void startBootloader(Smc device)
        {
            Console.WriteLine("Entering bootloader mode...");
            string serialNumber = device.getSerialNumber();

            device.startBootloader();
            device.Dispose();

            Console.WriteLine("Waiting for bootloader to connect...");
            int msElapsed = 0;

            while (true)
            {
                foreach (DeviceListItem dli in Smc.getConnectedBootloaders())
                {
                    if (dli.serialNumber.Replace("-", "") == serialNumber.Replace("-", ""))
                    {
                        Console.WriteLine("Successfully entered bootloader mode.");
                        return;
                    }
                }

                System.Threading.Thread.Sleep(20);
                msElapsed += 20;

                if (msElapsed > 8000)
                {
                    throw new Exception("Failed to enter bootloader mode: timeout elapsed.");
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Attempts to disconnect
        /// </summary>
        public void TryToDisconnect()
        {
            if (motor == null)
            {
                //Log("Connecting stopped.");
                return;
            }

            try
            {
                //Log("Disconnecting...");
                motor.Dispose();  // Disconnect
            }
            catch (Exception e)
            {
                //Log(e);
                //Log("Failed to disconnect cleanly.");
            }
            finally
            {
                // do this no matter what
                motor = null;
                //Log("Disconnected from #" + SerialNumberTextBox.Text + ".");
            }
        }
예제 #3
0
        /// <summary>
        /// Closes our connection to the device.  Does not throw exceptions.
        /// </summary>
        void Disconnect()
        {
            if (device == null)
            {
                // We are already disconnected.
                return;
            }

            StatusLabel.Text      = "Disconnected";
            StatusLabel.ForeColor = Color.Red;

            try
            {
                device.Dispose(); // Disconnect
            }
            catch                 // Ignore exceptions.
            {
            }
            finally  // Do this no matter what.
            {
                device = null;
            }
        }
예제 #4
0
파일: Program.cs 프로젝트: Moomers/penguins
        public static void startBootloader(Smc device)
        {
            Console.WriteLine("Entering bootloader mode...");
            string serialNumber = device.getSerialNumber();
            device.startBootloader();
            device.Dispose();

            Console.WriteLine("Waiting for bootloader to connect...");
            int msElapsed = 0;
            while(true)
            {
                foreach(DeviceListItem dli in Smc.getConnectedBootloaders())
                {
                    if (dli.serialNumber.Replace("-", "") == serialNumber.Replace("-", ""))
                    {
                        Console.WriteLine("Successfully entered bootloader mode.");
                        return;
                    }
                }

                System.Threading.Thread.Sleep(20);
                msElapsed += 20;

                if (msElapsed > 8000)
                {
                    throw new Exception("Failed to enter bootloader mode: timeout elapsed.");
                }
            }
        }