X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosConfigData.java;h=bd85c2c208373b8a6f7c48ad5b6661d3fbcbc110;hb=c17b78e60c340c8a3e3d6f9b875667c66216647a;hp=a722a6899941cdefa44a93e7ca4263a13007e2b6;hpb=643c2fb03833d658320f476ef731bbb06fe3cc31;p=fw%2Faltos diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index a722a689..bd85c2c2 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -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_7; +package org.altusmetrum.altoslib_11; import java.util.*; import java.text.*; @@ -34,7 +35,7 @@ public class AltosConfigData implements Iterable { public int altitude_32; /* Strings returned */ - public LinkedList lines; + public LinkedList __lines; /* Config information */ /* HAS_FLIGHT*/ @@ -142,7 +143,7 @@ public class AltosConfigData implements Iterable { } public Iterator iterator() { - return lines.iterator(); + return __lines.iterator(); } public int log_space() { @@ -204,7 +205,7 @@ public class AltosConfigData implements Iterable { for (int i = 0; i < parts.length; i++) { try { - r[i] = AltosLib.fromdec(parts[i]); + r[i] = (int) AltosLib.fromdec(parts[i]); } catch (NumberFormatException n) { r[i] = 0; } @@ -232,7 +233,7 @@ public class AltosConfigData implements Iterable { } public void reset() { - lines = new LinkedList(); + __lines = new LinkedList(); manufacturer = "unknown"; product = "unknown"; @@ -288,7 +289,7 @@ public class AltosConfigData implements Iterable { } public void parse_line(String line) { - lines.add(line); + __lines.add(line); /* Version replies */ try { manufacturer = get_string(line, "manufacturer"); } catch (Exception e) {} try { product = get_string(line, "product"); } catch (Exception e) {} @@ -476,6 +477,18 @@ public class AltosConfigData implements Iterable { } + public boolean mma655x_inverted() throws AltosUnknownProduct { + if (product.startsWith("EasyMega-v1")) + return false; + if (product.startsWith("TeleMetrum-v2")) + return true; + if (product.startsWith("TeleMega-v2")) + return false; + if (product.startsWith("TeleMega-v1")) + return false; + throw new AltosUnknownProduct(product); + } + public void get_values(AltosConfigValues source) throws AltosConfigDataException { /* HAS_FLIGHT */ @@ -493,8 +506,6 @@ public class AltosConfigData implements Iterable { radio_enable = source.radio_enable(); if (callsign != null) callsign = source.callsign(); - if (radio_calibration >= 0) - radio_calibration = source.radio_calibration(); if (telemetry_rate >= 0) telemetry_rate = source.telemetry_rate(); @@ -601,10 +612,6 @@ public class AltosConfigData implements Iterable { if (apogee_lockout >= 0) link.printf("c L %d\n", apogee_lockout); - /* Don't mess with radio calibration when remote */ - if (radio_calibration > 0 && !remote) - link.printf("c f %d\n", radio_calibration); - /* HAS_RADIO */ if (has_frequency()) { boolean has_frequency = radio_frequency >= 0; @@ -712,5 +719,4 @@ public class AltosConfigData implements Iterable { break; } } - }