summaryrefslogtreecommitdiff
path: root/altosui/AltosDisplayThread.java
diff options
context:
space:
mode:
Diffstat (limited to 'altosui/AltosDisplayThread.java')
-rw-r--r--altosui/AltosDisplayThread.java23
1 files changed, 11 insertions, 12 deletions
diff --git a/altosui/AltosDisplayThread.java b/altosui/AltosDisplayThread.java
index 095bed99..4b4cc3b9 100644
--- a/altosui/AltosDisplayThread.java
+++ b/altosui/AltosDisplayThread.java
@@ -21,7 +21,7 @@ import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.text.*;
-import org.altusmetrum.altoslib_1.*;
+import org.altusmetrum.altoslib_2.*;
public class AltosDisplayThread extends Thread {
@@ -89,17 +89,18 @@ public class AltosDisplayThread extends Thread {
/* If the rocket isn't on the pad, then report height */
if (Altos.ao_flight_drogue <= state.state &&
state.state < Altos.ao_flight_landed &&
+ state.from_pad != null &&
state.range >= 0)
{
voice.speak("Height %s, bearing %s %d, elevation %d, range %s.\n",
- AltosConvert.height.say(state.height),
+ AltosConvert.height.say(state.height()),
state.from_pad.bearing_words(
AltosGreatCircle.BEARING_VOICE),
(int) (state.from_pad.bearing + 0.5),
(int) (state.elevation + 0.5),
AltosConvert.distance.say(state.range));
} else if (state.state > Altos.ao_flight_pad) {
- voice.speak(AltosConvert.height.say_units(state.height));
+ voice.speak(AltosConvert.height.say_units(state.height()));
} else {
reported_landing = 0;
}
@@ -110,10 +111,10 @@ public class AltosDisplayThread extends Thread {
*/
if (state.state >= Altos.ao_flight_drogue &&
(last ||
- System.currentTimeMillis() - state.report_time >= 15000 ||
+ System.currentTimeMillis() - state.received_time >= 15000 ||
state.state == Altos.ao_flight_landed))
{
- if (Math.abs(state.baro_speed) < 20 && state.height < 100)
+ if (Math.abs(state.speed()) < 20 && state.height() < 100)
voice.speak("rocket landed safely");
else
voice.speak("rocket may have crashed");
@@ -181,16 +182,16 @@ public class AltosDisplayThread extends Thread {
synchronized boolean tell() {
boolean ret = false;
if (old_state == null || old_state.state != state.state) {
- voice.speak(state.data.state());
+ voice.speak(state.state_name());
if ((old_state == null || old_state.state <= Altos.ao_flight_boost) &&
state.state > Altos.ao_flight_boost) {
voice.speak("max speed: %s.",
- AltosConvert.speed.say_units(state.max_accel_speed + 0.5));
+ AltosConvert.speed.say_units(state.max_speed() + 0.5));
ret = true;
} else if ((old_state == null || old_state.state < Altos.ao_flight_drogue) &&
state.state >= Altos.ao_flight_drogue) {
voice.speak("max height: %s.",
- AltosConvert.height.say_units(state.max_height + 0.5));
+ AltosConvert.height.say_units(state.max_height() + 0.5));
ret = true;
}
}
@@ -218,11 +219,9 @@ public class AltosDisplayThread extends Thread {
try {
for (;;) {
try {
- AltosRecord record = reader.read();
- if (record == null)
+ state = reader.read();
+ if (state == null)
break;
- old_state = state;
- state = new AltosState(record, state);
reader.update(state);
show_safely();
told = tell();