From f0216d721ed13f4d3dc608bb6ad8f83732b27c0a Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 25 May 2014 21:01:38 -0700 Subject: altoslib/altosuilib: Change versions to altoslib:4, altosuilib:2 API has changed for these libraries, time to bump the file versions Signed-off-by: Keith Packard --- altoslib/AltosTelemetryLocation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'altoslib/AltosTelemetryLocation.java') diff --git a/altoslib/AltosTelemetryLocation.java b/altoslib/AltosTelemetryLocation.java index 8dcda9e1..8368188f 100644 --- a/altoslib/AltosTelemetryLocation.java +++ b/altoslib/AltosTelemetryLocation.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_3; +package org.altusmetrum.altoslib_4; public class AltosTelemetryLocation extends AltosTelemetryStandard { -- cgit v1.2.3 From d69547796caf74405f8304d23d4ae318315bbd7b Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 7 Jun 2014 21:13:40 -0700 Subject: altoslib: Parse TeleGPS state value from GPS telemetry packet TeleGPS adds 0x80 to the state value to signify that this otherwise unused byte contains the current state value Signed-off-by: Keith Packard --- altoslib/AltosGPS.java | 7 +++++++ altoslib/AltosState.java | 3 +++ altoslib/AltosTelemetryLocation.java | 3 +++ 3 files changed, 13 insertions(+) (limited to 'altoslib/AltosTelemetryLocation.java') diff --git a/altoslib/AltosGPS.java b/altoslib/AltosGPS.java index 2708d026..f2810833 100644 --- a/altoslib/AltosGPS.java +++ b/altoslib/AltosGPS.java @@ -45,6 +45,10 @@ public class AltosGPS implements Cloneable { 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 { @@ -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.state = state; 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 */ + state = old.state; if (old.cc_gps_sat != null) { cc_gps_sat = new AltosGPSSat[old.cc_gps_sat.length]; @@ -345,6 +351,7 @@ public class AltosGPS implements Cloneable { alt = AltosLib.MISSING; ClearGPSTime(); cc_gps_sat = null; + state = 0; } } diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index ddda82b9..ef3a0976 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -918,6 +918,9 @@ public class AltosState implements Cloneable { elevation = from_pad.elevation; range = from_pad.range; } + + if ((gps.state & AltosGPS.AO_GPS_STATE_VALID) != 0) + set_state (gps.state & ~(AltosGPS.AO_GPS_STATE_VALID)); } public void set_tick(int new_tick) { diff --git a/altoslib/AltosTelemetryLocation.java b/altoslib/AltosTelemetryLocation.java index 8368188f..67705cde 100644 --- a/altoslib/AltosTelemetryLocation.java +++ b/altoslib/AltosTelemetryLocation.java @@ -36,6 +36,7 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { int ground_speed; int climb_rate; int course; + int state; public AltosTelemetryLocation(int[] bytes) { super(bytes); @@ -57,6 +58,7 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { ground_speed = uint16(26); climb_rate = int16(28); course = uint8(30); + state = uint8(31); } public void update_state(AltosState state) { @@ -66,6 +68,7 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { gps.nsat = flags & 0xf; gps.locked = (flags & (1 << 4)) != 0; gps.connected = (flags & (1 << 5)) != 0; + gps.state = this.state; if (gps.locked) { gps.lat = latitude * 1.0e-7; -- cgit v1.2.3 From d696b34b4823647e2e91093ba9d5a351d3a52f8a Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sun, 8 Jun 2014 16:08:30 -0700 Subject: Revert "altoslib: Parse TeleGPS state value from GPS telemetry packet" This reverts commit d69547796caf74405f8304d23d4ae318315bbd7b. --- altoslib/AltosGPS.java | 7 ------- altoslib/AltosState.java | 3 --- altoslib/AltosTelemetryLocation.java | 3 --- 3 files changed, 13 deletions(-) (limited to 'altoslib/AltosTelemetryLocation.java') diff --git a/altoslib/AltosGPS.java b/altoslib/AltosGPS.java index f2810833..2708d026 100644 --- a/altoslib/AltosGPS.java +++ b/altoslib/AltosGPS.java @@ -45,10 +45,6 @@ public class AltosGPS implements Cloneable { 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 { @@ -302,7 +298,6 @@ public class AltosGPS implements Cloneable { 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]; @@ -335,7 +330,6 @@ public class AltosGPS implements Cloneable { 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]; @@ -351,7 +345,6 @@ public class AltosGPS implements Cloneable { alt = AltosLib.MISSING; ClearGPSTime(); cc_gps_sat = null; - state = 0; } } diff --git a/altoslib/AltosState.java b/altoslib/AltosState.java index 7871da77..1d6ee3c8 100644 --- a/altoslib/AltosState.java +++ b/altoslib/AltosState.java @@ -918,9 +918,6 @@ public class AltosState implements Cloneable { elevation = from_pad.elevation; range = from_pad.range; } - - if ((gps.state & AltosGPS.AO_GPS_STATE_VALID) != 0) - set_state (gps.state & ~(AltosGPS.AO_GPS_STATE_VALID)); } public void set_tick(int new_tick) { diff --git a/altoslib/AltosTelemetryLocation.java b/altoslib/AltosTelemetryLocation.java index 67705cde..8368188f 100644 --- a/altoslib/AltosTelemetryLocation.java +++ b/altoslib/AltosTelemetryLocation.java @@ -36,7 +36,6 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { int ground_speed; int climb_rate; int course; - int state; public AltosTelemetryLocation(int[] bytes) { super(bytes); @@ -58,7 +57,6 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { ground_speed = uint16(26); climb_rate = int16(28); course = uint8(30); - state = uint8(31); } public void update_state(AltosState state) { @@ -68,7 +66,6 @@ public class AltosTelemetryLocation extends AltosTelemetryStandard { gps.nsat = flags & 0xf; gps.locked = (flags & (1 << 4)) != 0; gps.connected = (flags & (1 << 5)) != 0; - gps.state = this.state; if (gps.locked) { gps.lat = latitude * 1.0e-7; -- cgit v1.2.3