altosui: Add configuration UI for beeper tone
[fw/altos] / altoslib / AltosConfigData.java
index edaf4601bbebc9632fb6b9ee8a8e83bc10cdf613..750faa7142638e8fdf680ad9eeb5c446c5dfac1d 100644 (file)
@@ -70,6 +70,9 @@ public class AltosConfigData implements Iterable<String> {
        /* HAS_APRS */
        public int              aprs_interval;
 
+       /* HAS_BEEP */
+       public int              beep;
+
        /* Storage info replies */
        public int      storage_size;
        public int      storage_erase_unit;
@@ -210,6 +213,8 @@ public class AltosConfigData implements Iterable<String> {
 
                aprs_interval = -1;
 
+               beep = -1;
+
                storage_size = -1;
                storage_erase_unit = -1;
                stored_flight = 0;
@@ -286,6 +291,9 @@ public class AltosConfigData implements Iterable<String> {
                /* HAS_APRS */
                try { aprs_interval = get_int(line, "APRS interval:"); } catch (Exception e) {}
 
+               /* HAS_BEEP */
+               try { beep = get_int(line, "Beeper setting:"); System.out.printf ("beeper now %d\n", beep); } catch (Exception e) {}
+
                /* Storage info replies */
                try { storage_size = get_int(line, "Storage size:"); } catch (Exception e) {}
                try { storage_erase_unit = get_int(line, "Storage erase unit:"); } catch (Exception e) {}
@@ -409,8 +417,13 @@ public class AltosConfigData implements Iterable<String> {
                if (npyro > 0)
                        pyros = source.pyros();
 
+               /* HAS_APRS */
                if (aprs_interval >= 0)
                        aprs_interval = source.aprs_interval();
+
+               /* HAS_BEEP */
+               if (beep >= 0)
+                       beep = source.beep();
        }
 
        public void set_values(AltosConfigValues dest) {
@@ -449,6 +462,7 @@ public class AltosConfigData implements Iterable<String> {
                else
                        dest.set_pyros(null);
                dest.set_aprs_interval(aprs_interval);
+               dest.set_beep(beep);
        }
 
        public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException {
@@ -515,6 +529,10 @@ public class AltosConfigData implements Iterable<String> {
                if (aprs_interval >= 0)
                        link.printf("c A %d\n", aprs_interval);
 
+               /* HAS_BEEP */
+               if (beep >= 0)
+                       link.printf("c b %d\n", beep);
+
                link.printf("c w\n");
                link.flush_output();
        }