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."); } } }
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."); } } }