projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altoslib: Parse TeleGPS state value from GPS telemetry packet
[fw/altos]
/
altoslib
/
AltosGPS.java
diff --git
a/altoslib/AltosGPS.java
b/altoslib/AltosGPS.java
index 1d5b0755982a0d9a194d492dd6d22ec4322d7308..f28108334ade41b1f9400e3a61c31557c1037524 100644
(file)
--- a/
altoslib/AltosGPS.java
+++ b/
altoslib/AltosGPS.java
@@
-15,7
+15,7
@@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_
2
;
+package org.altusmetrum.altoslib_
4
;
import java.text.*;
import java.util.concurrent.*;
import java.text.*;
import java.util.concurrent.*;
@@
-45,6
+45,10
@@
public class AltosGPS implements Cloneable {
public int h_error; /* m */
public int v_error; /* m */
public int h_error; /* m */
public int v_error; /* m */
+ public int state; /* for TeleGPS */
+
+ static final int AO_GPS_STATE_VALID = 0x80;
+
public AltosGPSSat[] cc_gps_sat; /* tracking data */
public void ParseGPSDate(String date) throws ParseException {
public AltosGPSSat[] cc_gps_sat; /* tracking data */
public void ParseGPSDate(String date) throws ParseException {
@@
-298,6
+302,7
@@
public class AltosGPS implements Cloneable {
g.hdop = hdop; /* unitless? */
g.h_error = h_error; /* m */
g.v_error = v_error; /* m */
g.hdop = hdop; /* unitless? */
g.h_error = h_error; /* m */
g.v_error = v_error; /* m */
+ g.state = state;
if (cc_gps_sat != null) {
g.cc_gps_sat = new AltosGPSSat[cc_gps_sat.length];
if (cc_gps_sat != null) {
g.cc_gps_sat = new AltosGPSSat[cc_gps_sat.length];
@@
-330,6
+335,7
@@
public class AltosGPS implements Cloneable {
hdop = old.hdop; /* unitless? */
h_error = old.h_error; /* m */
v_error = old.v_error; /* m */
hdop = old.hdop; /* unitless? */
h_error = old.h_error; /* m */
v_error = old.v_error; /* m */
+ state = old.state;
if (old.cc_gps_sat != null) {
cc_gps_sat = new AltosGPSSat[old.cc_gps_sat.length];
if (old.cc_gps_sat != null) {
cc_gps_sat = new AltosGPSSat[old.cc_gps_sat.length];
@@
-345,10
+351,11
@@
public class AltosGPS implements Cloneable {
alt = AltosLib.MISSING;
ClearGPSTime();
cc_gps_sat = null;
alt = AltosLib.MISSING;
ClearGPSTime();
cc_gps_sat = null;
+ state = 0;
}
}
}
}
- static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) {
+ static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data)
throws InterruptedException
{
try {
AltosGPS gps = new AltosGPS(link, config_data);
try {
AltosGPS gps = new AltosGPS(link, config_data);
@@
-357,7
+364,6
@@
public class AltosGPS implements Cloneable {
return;
}
} catch (TimeoutException te) {
return;
}
} catch (TimeoutException te) {
- } catch (InterruptedException ie) {
}
state.set_gps(null, 0);
}
}
state.set_gps(null, 0);
}