altoslib: Add tilt and pyro data to CSV export
[fw/altos] / altoslib / AltosIgnite.java
index 61873b22c78d8e5db4be485e3b2ac5db210a8bc1..767c00fbaf1689d4f8c5399518656c6594496995 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -15,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_10;
+package org.altusmetrum.altoslib_12;
 
 import java.util.*;
 import java.io.*;
@@ -24,6 +25,7 @@ import java.util.concurrent.*;
 public class AltosIgnite {
        AltosLink       link;
        boolean         remote;
+       boolean         close_on_exit;
        boolean         link_started;
        boolean         have_npyro = false;
        int             npyro;
@@ -100,7 +102,7 @@ public class AltosIgnite {
        private void get_npyro() throws InterruptedException, TimeoutException {
                if (config_data == null)
                        config_data = new AltosConfigData(link);
-               if (config_data != null)
+               if (config_data != null && config_data.npyro != AltosLib.MISSING)
                        npyro = config_data.npyro;
                else
                        npyro = 0;
@@ -172,6 +174,7 @@ public class AltosIgnite {
                try {
                        start_link();
                        link.printf("i DoIt %s\n", igniter);
+                       link.flush_output();
                } catch (TimeoutException te) {
                } finally {
                        stop_link();
@@ -180,14 +183,18 @@ public class AltosIgnite {
 
        public void close() throws InterruptedException {
                stop_link();
-               link.close();
+               if (close_on_exit)
+                       link.close();
                link = null;
        }
 
-       public AltosIgnite(AltosLink in_link, boolean in_remote)
-               throws FileNotFoundException, TimeoutException, InterruptedException {
-
+       public AltosIgnite(AltosLink in_link, boolean in_remote, boolean in_close_on_exit) {
                link = in_link;
                remote = in_remote;
+               close_on_exit = in_close_on_exit;
+       }
+
+       public AltosIgnite(AltosLink in_link, boolean in_remote) {
+               this(in_link, in_remote, true);
        }
-}
\ No newline at end of file
+}