altos: Add gyro-based orientation tracking
[fw/altos] / altosui / AltosFlashUI.java
index f26a391614e17275f5451d94517daa661b2019b5..6eccface19815f29c00a2ef4ddd366d3545aee0e 100644 (file)
@@ -23,6 +23,7 @@ import javax.swing.*;
 import javax.swing.filechooser.FileNameExtensionFilter;
 import java.io.*;
 import java.util.concurrent.*;
+import org.altusmetrum.altoslib_2.*;
 import org.altusmetrum.altosuilib_1.*;
 
 public class AltosFlashUI
@@ -214,15 +215,30 @@ public class AltosFlashUI
                }
        }
 
-       class flash_task implements Runnable {
+       class flash_task implements Runnable, AltosFlashListener {
                AltosFlashUI    ui;
                Thread          t;
                AltosFlash      flash;
 
+               public void position(String in_s, int in_percent) {
+                       final String s = in_s;
+                       final int percent = in_percent;
+                       Runnable r = new Runnable() {
+                                       public void run() {
+                                               try {
+                                                       ui.actionPerformed(new ActionEvent(this,
+                                                                                          percent,
+                                                                                          s));
+                                               } catch (Exception ex) {
+                                               }
+                                       }
+                               };
+                       SwingUtilities.invokeLater(r);
+               }
+
                public void run () {
                        try {
-                               flash = new AltosFlash(ui.file, ui.debug_dongle);
-                               flash.addActionListener(ui);
+                               flash = new AltosFlash(ui.file, new AltosSerial(ui.debug_dongle), this);
 
                                final AltosRomconfig    current_config = flash.romconfig();