summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java12
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java6
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TabAscent.java8
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java8
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java20
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java37
6 files changed, 46 insertions, 45 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java
index 6f378777..92287476 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroid.java
@@ -147,7 +147,7 @@ public class AltosDroid extends FragmentActivity {
case MSG_CRC_ERROR:
case MSG_UPDATE_AGE:
if (ad.saved_state != null) {
- ad.mAgeView.setText(String.format("%d", (System.currentTimeMillis() - ad.saved_state.report_time + 500) / 1000));
+ ad.mAgeView.setText(String.format("%d", (System.currentTimeMillis() - ad.saved_state.received_time + 500) / 1000));
}
break;
}
@@ -243,11 +243,11 @@ public class AltosDroid extends FragmentActivity {
}
if (state != null) {
- mCallsignView.setText(state.data.callsign);
- mSerialView.setText(String.format("%d", state.data.serial));
- mFlightView.setText(String.format("%d", state.data.flight));
- mStateView.setText(state.data.state());
- mRSSIView.setText(String.format("%d", state.data.rssi));
+ mCallsignView.setText(state.callsign);
+ mSerialView.setText(String.format("%d", state.serial));
+ mFlightView.setText(String.format("%d", state.flight));
+ mStateView.setText(state.state_name());
+ mRSSIView.setText(String.format("%d", state.rssi));
}
for (AltosDroidTab mTab : mTabs)
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
index df7409c4..c512089f 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
@@ -63,7 +63,7 @@ public class AltosVoice {
boolean spoke = false;
if (old_state == null || old_state.state != state.state) {
- speak(state.data.state());
+ speak(state.state_name());
if ((old_state == null || old_state.state <= AltosLib.ao_flight_boost) &&
state.state > AltosLib.ao_flight_boost) {
speak(String.format("max speed: %d meters per second.", (int) (state.max_speed() + 0.5)));
@@ -132,10 +132,10 @@ public class AltosVoice {
*/
if (state.state >= AltosLib.ao_flight_drogue &&
(last ||
- System.currentTimeMillis() - state.report_time >= 15000 ||
+ System.currentTimeMillis() - state.received_time >= 15000 ||
state.state == AltosLib.ao_flight_landed))
{
- if (Math.abs(state.baro_speed) < 20 && state.height < 100)
+ if (Math.abs(state.speed) < 20 && state.height < 100)
speak("rocket landed safely");
else
speak("rocket may have crashed");
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabAscent.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabAscent.java
index 69bc68c9..95aaea36 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabAscent.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabAscent.java
@@ -102,11 +102,11 @@ public class TabAscent extends Fragment implements AltosDroidTab {
mLongitudeView.setText("");
}
- mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.drogue_sense));
- mApogeeLights.set(state.drogue_sense > 3.2, state.drogue_sense == AltosLib.MISSING);
+ mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.apogee_voltage));
+ mApogeeLights.set(state.apogee_voltage > 3.2, state.apogee_voltage == AltosLib.MISSING);
- mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_sense));
- mMainLights.set(state.main_sense > 3.2, state.main_sense == AltosLib.MISSING);
+ mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_voltage));
+ mMainLights.set(state.main_voltage > 3.2, state.main_voltage == AltosLib.MISSING);
}
}
}
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java
index ee09ea88..6076c401 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabDescent.java
@@ -111,11 +111,11 @@ public class TabDescent extends Fragment implements AltosDroidTab {
mLongitudeView.setText(AltosDroid.pos(state.gps.lon, "W", "E"));
}
- mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.drogue_sense));
- mApogeeLights.set(state.drogue_sense > 3.2, state.drogue_sense == AltosLib.MISSING);
+ mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.apogee_voltage));
+ mApogeeLights.set(state.apogee_voltage > 3.2, state.apogee_voltage == AltosLib.MISSING);
- mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_sense));
- mMainLights.set(state.main_sense > 3.2, state.main_sense == AltosLib.MISSING);
+ mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_voltage));
+ mMainLights.set(state.main_voltage > 3.2, state.main_voltage == AltosLib.MISSING);
}
}
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java
index f9d30b34..2c6732e5 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabPad.java
@@ -103,26 +103,26 @@ public class TabPad extends Fragment implements AltosDroidTab {
public void update_ui(AltosState state, AltosGreatCircle from_receiver, Location receiver) {
if (state != null) {
- mBatteryVoltageView.setText(AltosDroid.number("%4.2f V", state.battery));
- mBatteryLights.set(state.battery > 3.7, state.battery == AltosLib.MISSING);
+ mBatteryVoltageView.setText(AltosDroid.number("%4.2f V", state.battery_voltage));
+ mBatteryLights.set(state.battery_voltage > 3.7, state.battery_voltage == AltosLib.MISSING);
- mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.drogue_sense));
- mApogeeLights.set(state.drogue_sense > 3.2, state.drogue_sense == AltosLib.MISSING);
+ mApogeeVoltageView.setText(AltosDroid.number("%4.2f V", state.apogee_voltage));
+ mApogeeLights.set(state.apogee_voltage > 3.2, state.apogee_voltage == AltosLib.MISSING);
- mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_sense));
- mMainLights.set(state.main_sense > 3.2, state.main_sense == AltosLib.MISSING);
+ mMainVoltageView.setText(AltosDroid.number("%4.2f V", state.main_voltage));
+ mMainLights.set(state.main_voltage > 3.2, state.main_voltage == AltosLib.MISSING);
- if (state.data.flight != 0) {
- if (state.data.state <= AltosLib.ao_flight_pad)
+ if (state.flight != 0) {
+ if (state.state <= AltosLib.ao_flight_pad)
mDataLoggingView.setText("Ready to record");
- else if (state.data.state < AltosLib.ao_flight_landed)
+ else if (state.state < AltosLib.ao_flight_landed)
mDataLoggingView.setText("Recording data");
else
mDataLoggingView.setText("Recorded data");
} else {
mDataLoggingView.setText("Storage full");
}
- mDataLoggingLights.set(state.data.flight != 0, state.data.flight == AltosLib.MISSING);
+ mDataLoggingLights.set(state.flight != 0, state.flight == AltosLib.MISSING);
if (state.gps != null) {
mGPSLockedView.setText(AltosDroid.integer("%4d sats", state.gps.nsat));
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java
index e37019fd..cdd1decd 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryReader.java
@@ -37,25 +37,29 @@ public class TelemetryReader extends Thread {
Handler handler;
AltosLink link;
- AltosRecord previous;
+ AltosState state = null;
- LinkedBlockingQueue<AltosLine> telem;
+ LinkedBlockingQueue<AltosLine> telemQueue;
- public AltosRecord read() throws ParseException, AltosCRCException, InterruptedException, IOException {
- AltosLine l = telem.take();
+ public AltosState read() throws ParseException, AltosCRCException, InterruptedException, IOException {
+ AltosLine l = telemQueue.take();
if (l.line == null)
throw new IOException("IO error");
- AltosRecord next = AltosTelemetry.parse(l.line, previous);
- previous = next;
- return next;
+ AltosTelemetry telem = AltosTelemetryLegacy.parse(l.line);
+ if (state == null)
+ state = new AltosState();
+ else
+ state = state.clone();
+ telem.update_state(state);
+ return state;
}
public void close() {
- previous = null;
- link.remove_monitor(telem);
+ state = null;
+ link.remove_monitor(telemQueue);
link = null;
- telem.clear();
- telem = null;
+ telemQueue.clear();
+ telemQueue = null;
}
public void run() {
@@ -64,10 +68,7 @@ public class TelemetryReader extends Thread {
try {
for (;;) {
try {
- AltosRecord record = read();
- if (record == null)
- break;
- state = new AltosState(record, state);
+ state = read();
handler.obtainMessage(TelemetryService.MSG_TELEMETRY, state).sendToTarget();
} catch (ParseException pp) {
Log.e(TAG, String.format("Parse error: %d \"%s\"", pp.getErrorOffset(), pp.getMessage()));
@@ -87,8 +88,8 @@ public class TelemetryReader extends Thread {
link = in_link;
handler = in_handler;
- previous = null;
- telem = new LinkedBlockingQueue<AltosLine>();
- link.add_monitor(telem);
+ state = null;
+ telemQueue = new LinkedBlockingQueue<AltosLine>();
+ link.add_monitor(telemQueue);
}
}