summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altoslib/AltosAccel.java6
-rw-r--r--altoslib/AltosCompanion.java4
-rw-r--r--altoslib/AltosGPS.java3
-rw-r--r--altoslib/AltosGreatCircle.java3
-rw-r--r--altoslib/AltosIMU.java3
-rw-r--r--altoslib/AltosListenerState.java4
-rw-r--r--altoslib/AltosMag.java3
-rw-r--r--altoslib/AltosMs5607.java3
-rw-r--r--altoslib/AltosSavedState.java30
-rw-r--r--altoslib/AltosState.java24
-rw-r--r--altoslib/Makefile.am1
11 files changed, 64 insertions, 20 deletions
diff --git a/altoslib/AltosAccel.java b/altoslib/AltosAccel.java
index d91da4da..e40a47b4 100644
--- a/altoslib/AltosAccel.java
+++ b/altoslib/AltosAccel.java
@@ -17,7 +17,9 @@
package org.altusmetrum.altoslib_5;
-public class AltosAccel extends AltosUnits {
+import java.io.*;
+
+public class AltosAccel extends AltosUnits implements Serializable {
public double value(double v, boolean imperial_units) {
if (imperial_units)
@@ -46,4 +48,4 @@ public class AltosAccel extends AltosUnits {
public int show_fraction(int width, boolean imperial_units) {
return width / 9;
}
-} \ No newline at end of file
+}
diff --git a/altoslib/AltosCompanion.java b/altoslib/AltosCompanion.java
index 47deb2a3..7e9ab2f1 100644
--- a/altoslib/AltosCompanion.java
+++ b/altoslib/AltosCompanion.java
@@ -17,7 +17,9 @@
package org.altusmetrum.altoslib_5;
-public class AltosCompanion {
+import java.io.*;
+
+public class AltosCompanion implements Serializable {
public final static int board_id_telescience = 0x0a;
public final static int MAX_CHANNELS = 12;
diff --git a/altoslib/AltosGPS.java b/altoslib/AltosGPS.java
index 0154e95d..285b5b45 100644
--- a/altoslib/AltosGPS.java
+++ b/altoslib/AltosGPS.java
@@ -19,8 +19,9 @@ package org.altusmetrum.altoslib_5;
import java.text.*;
import java.util.concurrent.*;
+import java.io.*;
-public class AltosGPS implements Cloneable {
+public class AltosGPS implements Cloneable, Serializable {
public final static int MISSING = AltosLib.MISSING;
diff --git a/altoslib/AltosGreatCircle.java b/altoslib/AltosGreatCircle.java
index 716eeef9..22a8e0e5 100644
--- a/altoslib/AltosGreatCircle.java
+++ b/altoslib/AltosGreatCircle.java
@@ -18,8 +18,9 @@
package org.altusmetrum.altoslib_5;
import java.lang.Math;
+import java.io.*;
-public class AltosGreatCircle implements Cloneable {
+public class AltosGreatCircle implements Cloneable, Serializable {
public double distance;
public double bearing;
public double range;
diff --git a/altoslib/AltosIMU.java b/altoslib/AltosIMU.java
index d7373f3c..02b458b8 100644
--- a/altoslib/AltosIMU.java
+++ b/altoslib/AltosIMU.java
@@ -18,8 +18,9 @@
package org.altusmetrum.altoslib_5;
import java.util.concurrent.*;
+import java.io.*;
-public class AltosIMU implements Cloneable {
+public class AltosIMU implements Cloneable, Serializable {
public int accel_along;
public int accel_across;
public int accel_through;
diff --git a/altoslib/AltosListenerState.java b/altoslib/AltosListenerState.java
index 054ff1d0..ed1f0f19 100644
--- a/altoslib/AltosListenerState.java
+++ b/altoslib/AltosListenerState.java
@@ -17,7 +17,9 @@
package org.altusmetrum.altoslib_5;
-public class AltosListenerState {
+import java.io.*;
+
+public class AltosListenerState implements Serializable {
public int crc_errors;
public double battery;
diff --git a/altoslib/AltosMag.java b/altoslib/AltosMag.java
index 1fa8877b..8784bb81 100644
--- a/altoslib/AltosMag.java
+++ b/altoslib/AltosMag.java
@@ -18,8 +18,9 @@
package org.altusmetrum.altoslib_5;
import java.util.concurrent.*;
+import java.io.*;
-public class AltosMag implements Cloneable {
+public class AltosMag implements Cloneable, Serializable {
public int along;
public int across;
public int through;
diff --git a/altoslib/AltosMs5607.java b/altoslib/AltosMs5607.java
index 81e0641c..97e17164 100644
--- a/altoslib/AltosMs5607.java
+++ b/altoslib/AltosMs5607.java
@@ -18,8 +18,9 @@
package org.altusmetrum.altoslib_5;
import java.util.concurrent.*;
+import java.io.*;
-public class AltosMs5607 {
+public class AltosMs5607 implements Serializable {
public int reserved;
public int sens;
public int off;
diff --git a/altoslib/AltosSavedState.java b/altoslib/AltosSavedState.java
new file mode 100644
index 00000000..4b010b31
--- /dev/null
+++ b/altoslib/AltosSavedState.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright © 2014 Keith Packard <keithp@keithp.com>
+ *
+ * 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.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+
+package org.altusmetrum.altoslib_5;
+
+import java.io.*;
+
+public class AltosSavedState implements Serializable {
+ public AltosState state;
+ public AltosListenerState listener_state;
+
+ public AltosSavedState(AltosState state, AltosListenerState listener_state) {
+ this.state = state;
+ this.listener_state = listener_state;
+ }
+}
diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java
index 830e95f3..5be008b7 100644
--- a/altoslib/AltosState.java
+++ b/altoslib/AltosState.java
@@ -21,7 +21,9 @@
package org.altusmetrum.altoslib_5;
-public class AltosState implements Cloneable {
+import java.io.*;
+
+public class AltosState implements Cloneable, Serializable {
public static final int set_position = 1;
public static final int set_gps = 2;
@@ -43,7 +45,7 @@ public class AltosState implements Cloneable {
private int prev_tick;
public int boost_tick;
- class AltosValue {
+ class AltosValue implements Serializable{
double value;
double prev_value;
private double max_value;
@@ -179,9 +181,9 @@ public class AltosState implements Cloneable {
}
}
- class AltosCValue {
+ class AltosCValue implements Serializable {
- class AltosIValue extends AltosValue {
+ class AltosIValue extends AltosValue implements Serializable {
boolean can_max() {
return c_can_max();
}
@@ -312,7 +314,7 @@ public class AltosState implements Cloneable {
ground_altitude.set_measured(a, time);
}
- class AltosGpsGroundAltitude extends AltosValue {
+ class AltosGpsGroundAltitude extends AltosValue implements Serializable {
void set(double a, double t) {
super.set(a, t);
pad_alt = value();
@@ -336,7 +338,7 @@ public class AltosState implements Cloneable {
gps_ground_altitude.set(a, time);
}
- class AltosGroundPressure extends AltosCValue {
+ class AltosGroundPressure extends AltosCValue implements Serializable {
void set_filtered(double p, double time) {
computed.set_filtered(p, time);
if (!is_measured())
@@ -359,7 +361,7 @@ public class AltosState implements Cloneable {
ground_pressure.set_measured(pressure, time);
}
- class AltosAltitude extends AltosCValue {
+ class AltosAltitude extends AltosCValue implements Serializable {
private void set_speed(AltosValue v) {
if (!acceleration.is_measured() || !ascent)
@@ -381,7 +383,7 @@ public class AltosState implements Cloneable {
private AltosAltitude altitude;
- class AltosGpsAltitude extends AltosValue {
+ class AltosGpsAltitude extends AltosValue implements Serializable {
private void set_gps_height() {
double a = value();
@@ -464,7 +466,7 @@ public class AltosState implements Cloneable {
return gps_speed.max();
}
- class AltosPressure extends AltosValue {
+ class AltosPressure extends AltosValue implements Serializable {
void set(double p, double time) {
super.set(p, time);
if (state == AltosLib.ao_flight_pad)
@@ -534,7 +536,7 @@ public class AltosState implements Cloneable {
return AltosLib.MISSING;
}
- class AltosSpeed extends AltosCValue {
+ class AltosSpeed extends AltosCValue implements Serializable {
boolean can_max() {
return state < AltosLib.ao_flight_fast || state == AltosLib.ao_flight_stateless;
@@ -588,7 +590,7 @@ public class AltosState implements Cloneable {
return AltosLib.MISSING;
}
- class AltosAccel extends AltosCValue {
+ class AltosAccel extends AltosCValue implements Serializable {
boolean can_max() {
return state < AltosLib.ao_flight_fast || state == AltosLib.ao_flight_stateless;
diff --git a/altoslib/Makefile.am b/altoslib/Makefile.am
index 2805742e..8aff2767 100644
--- a/altoslib/Makefile.am
+++ b/altoslib/Makefile.am
@@ -82,6 +82,7 @@ altoslib_JAVA = \
AltosProgrammer.java \
AltosReplayReader.java \
AltosRomconfig.java \
+ AltosSavedState.java \
AltosSelfFlash.java \
AltosSensorMM.java \
AltosSensorEMini.java \