X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosui%2FAltosFlashUI.java;h=d8c70a0675136b23112bbd18b9edd7cc756ef5e8;hp=5913e50699c2f390a597b1b828407476f608661f;hb=8ba523cd793f2263bb1acd7a5a10f8964075bdc5;hpb=b89fb51a963635e2effe3a31f803bfc29c2c46b7 diff --git a/altosui/AltosFlashUI.java b/altosui/AltosFlashUI.java index 5913e506..d8c70a06 100644 --- a/altosui/AltosFlashUI.java +++ b/altosui/AltosFlashUI.java @@ -23,8 +23,8 @@ import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; import java.io.*; import java.util.concurrent.*; -import org.altusmetrum.altoslib_3.*; -import org.altusmetrum.altosuilib_1.*; +import org.altusmetrum.altoslib_4.*; +import org.altusmetrum.altosuilib_2.*; public class AltosFlashUI extends AltosUIDialog @@ -231,7 +231,7 @@ public class AltosFlashUI javax.swing.filechooser.FileFilter ihx_filter = new FileNameExtensionFilter("Flash Image", "ihx"); hexfile_chooser.addChoosableFileFilter(ihx_filter); hexfile_chooser.setFileFilter(ihx_filter); - + if (!is_pair_programmed() && !device.matchProduct(AltosLib.product_altusmetrum)) { for (int i = 0; i < filters.length; i++) { if (device != null && device.matchProduct(filters[i].product)) @@ -247,7 +247,7 @@ public class AltosFlashUI if (file == null) return false; AltosUIPreferences.set_firmwaredir(file.getParentFile()); - + return true; } @@ -377,7 +377,15 @@ public class AltosFlashUI while (!link.is_loader()) { link.to_loader(); - java.util.List devices = AltosUSBDevice.list(AltosLib.product_altusmetrum); + java.util.List devices = null; + + for (int tries = 0; tries < 10; tries++) { + Thread.sleep(100); + devices = AltosUSBDevice.list(AltosLib.product_altusmetrum); + if (devices.size() != 0) + break; + } + if (devices.size() == 1) device = devices.get(0); else { @@ -429,4 +437,4 @@ public class AltosFlashUI frame = in_frame; } -} \ No newline at end of file +}