projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altosdroid: Improve voice for TeleGPS
[fw/altos]
/
altosdroid
/
src
/
org
/
altusmetrum
/
AltosDroid
/
AltosVoice.java
diff --git
a/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
b/altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
index 77d4ba382d0e63882ac79e2c750a3feaa5e3f7b5..5e8515cb35d8a06e753e6fdb210809e73199a2de 100644
(file)
--- a/
altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
+++ b/
altosdroid/src/org/altusmetrum/AltosDroid/AltosVoice.java
@@
-63,14
+63,17
@@
public class AltosVoice {
boolean spoke = false;
if (old_state == null || old_state.state != state.state) {
boolean spoke = false;
if (old_state == null || old_state.state != state.state) {
- speak(state.state_name());
+ if (state.state != AltosLib.ao_flight_stateless)
+ speak(state.state_name());
if ((old_state == null || old_state.state <= AltosLib.ao_flight_boost) &&
state.state > AltosLib.ao_flight_boost) {
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)));
+ if (state.max_speed() != AltosLib.MISSING)
+ speak(String.format("max speed: %d meters per second.", (int) (state.max_speed() + 0.5)));
spoke = true;
} else if ((old_state == null || old_state.state < AltosLib.ao_flight_drogue) &&
state.state >= AltosLib.ao_flight_drogue) {
spoke = true;
} else if ((old_state == null || old_state.state < AltosLib.ao_flight_drogue) &&
state.state >= AltosLib.ao_flight_drogue) {
- speak(String.format("max height: %d meters.", (int) (state.max_height() + 0.5)));
+ if (state.max_height() != AltosLib.MISSING)
+ speak(String.format("max height: %d meters.", (int) (state.max_height() + 0.5)));
spoke = true;
}
}
spoke = true;
}
}
@@
-109,8
+112,9
@@
public class AltosVoice {
}
/* If the rocket isn't on the pad, then report height */
}
/* If the rocket isn't on the pad, then report height */
- if (AltosLib.ao_flight_drogue <= state.state &&
- state.state < AltosLib.ao_flight_landed &&
+ if (((AltosLib.ao_flight_drogue <= state.state &&
+ state.state < AltosLib.ao_flight_landed) ||
+ state.state == AltosLib.ao_flight_stateless) &&
state.range >= 0)
{
speak(String.format("Height %d, bearing %s %d, elevation %d, range %d.\n",
state.range >= 0)
{
speak(String.format("Height %d, bearing %s %d, elevation %d, range %d.\n",
@@
-121,7
+125,8
@@
public class AltosVoice {
(int) (state.elevation + 0.5),
(int) (state.range + 0.5)));
} else if (state.state > AltosLib.ao_flight_pad) {
(int) (state.elevation + 0.5),
(int) (state.range + 0.5)));
} else if (state.state > AltosLib.ao_flight_pad) {
- speak(String.format("%d meters", (int) (state.height() + 0.5)));
+ if (state.height() != AltosLib.MISSING)
+ speak(String.format("%d meters", (int) (state.height() + 0.5)));
} else {
reported_landing = 0;
}
} else {
reported_landing = 0;
}