Skip to content

Commit 20cde69

Browse files
Ben Turner0x08
authored andcommitted
#44: add gnssid to SATObject
1 parent 8f01bfd commit 20cde69

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

src/main/java/de/taimos/gpsd4java/backend/ResultParser.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,7 @@ protected IGPSObject parsePRN(final JSONObject json) {
254254
sat.setElevation(json.optInt("el", -1));
255255
sat.setSignalStrength(json.optInt("ss", -1));
256256
sat.setUsed(json.optBoolean("used", false));
257+
sat.setGnssId(json.optInt("gnssid", -1));
257258
gps = sat;
258259
return gps;
259260
}

src/main/java/de/taimos/gpsd4java/types/SATObject.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ public class SATObject implements IGPSObject {
3636

3737
private int signalStrength = -1;
3838

39+
private int gnssId = -1;
40+
3941
private boolean used = false;
4042

4143
/**
@@ -132,6 +134,24 @@ public void setUsed(final boolean used) {
132134
this.used = used;
133135
}
134136

137+
/**
138+
* The GNSSID field of the satellite, if available.
139+
*
140+
* @return gnssId
141+
*/
142+
public int getGnssId() {
143+
return gnssId;
144+
}
145+
146+
/**
147+
* The GNSSID field of the satellite, if available.
148+
*
149+
* @param gnssId the GNSSID field to set
150+
*/
151+
public void setGnssId(final int gnssId) {
152+
this.gnssId = gnssId;
153+
}
154+
135155
@Override
136156
public int hashCode() {
137157
final int prime = 31;
@@ -145,6 +165,8 @@ public int hashCode() {
145165
result = (prime * result) + (int) (temp ^ (temp >>> 32));
146166
temp = Double.doubleToLongBits(this.signalStrength);
147167
result = (prime * result) + (int) (temp ^ (temp >>> 32));
168+
temp = Double.doubleToLongBits(this.gnssId);
169+
result = (prime * result) + (int) (temp ^ (temp >>> 32));
148170
result = (prime * result) + ((this.used) ? 1 : 0);
149171
return result;
150172
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package de.taimos.gpsd4java.backend;
2+
3+
import de.taimos.gpsd4java.types.SATObject;
4+
import org.json.JSONObject;
5+
import org.junit.Assert;
6+
import org.junit.Before;
7+
import org.junit.Test;
8+
9+
public class ResultParserTest {
10+
11+
private ResultParser resultParser;
12+
13+
@Before
14+
public void before() {
15+
this.resultParser = new ResultParser();
16+
}
17+
18+
@Test
19+
public void testSatObject() {
20+
final JSONObject json = new JSONObject();
21+
json.put("PRN", 12);
22+
json.put("gnssid", 44);
23+
json.put("svid", 12);
24+
json.put("az", 229);
25+
json.put("el", 24);
26+
json.put("prRes", 22.9);
27+
json.put("qual", 1);
28+
json.put("ss", 0);
29+
json.put("used", false);
30+
json.put("health", 1);
31+
final SATObject satObject = (SATObject) this.resultParser.parsePRN(json);
32+
Assert.assertEquals(12, satObject.getPRN());
33+
Assert.assertEquals(44, satObject.getGnssId());
34+
Assert.assertEquals(229, satObject.getAzimuth());
35+
Assert.assertEquals(24, satObject.getElevation());
36+
Assert.assertFalse(satObject.getUsed());
37+
Assert.assertEquals(0, satObject.getSignalStrength());
38+
}
39+
40+
}

0 commit comments

Comments
 (0)