*
* 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
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_5;
+package org.altusmetrum.altoslib_11;
import java.util.*;
import java.text.*;
/* HAS_APRS */
public int aprs_interval;
public int aprs_ssid;
+ public int aprs_format;
/* HAS_BEEP */
public int beep;
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;
}
aprs_interval = -1;
aprs_ssid = -1;
+ aprs_format = -1;
beep = -1;
/* HAS_APRS */
try { aprs_interval = get_int(line, "APRS interval:"); } catch (Exception e) {}
try { aprs_ssid = get_int(line, "APRS SSID:"); } catch (Exception e) {}
+ try { aprs_format = get_int(line, "APRS format:"); } catch (Exception e) {}
/* HAS_BEEP */
try { beep = get_int(line, "Beeper setting:"); } catch (Exception e) {}
}
+ 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 */
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();
aprs_interval = source.aprs_interval();
if (aprs_ssid >= 0)
aprs_ssid = source.aprs_ssid();
+ if (aprs_format >= 0)
+ aprs_format = source.aprs_format();
/* HAS_BEEP */
if (beep >= 0)
dest.set_pyro_firing_time(pyro_firing_time);
dest.set_aprs_interval(aprs_interval);
dest.set_aprs_ssid(aprs_ssid);
+ dest.set_aprs_format(aprs_format);
dest.set_beep(beep);
dest.set_tracker_motion(tracker_motion);
dest.set_tracker_interval(tracker_interval);
}
+ public boolean log_has_state() {
+ switch (log_format) {
+ case AltosLib.AO_LOG_FORMAT_TELEGPS:
+ return false;
+ }
+ return true;
+ }
+
public void save(AltosLink link, boolean remote) throws InterruptedException, TimeoutException {
/* HAS_FLIGHT */
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;
link.printf("c A %d\n", aprs_interval);
if (aprs_ssid >= 0)
link.printf("c S %d\n", aprs_ssid);
+ if (aprs_format >= 0)
+ link.printf("c C %d\n", aprs_format);
/* HAS_BEEP */
if (beep >= 0)