use of net.sf.marineapi.nmea.util.Time in project marine-api by ktuukkan.
the class ZDAParser method toDate.
/*
* (non-Javadoc)
* @see net.sf.marineapi.nmea.sentence.ZDASentence#toDate()
*/
public java.util.Date toDate() {
Date d = getDate();
Time t = getTime();
return t.toDate(d.toDate());
}
use of net.sf.marineapi.nmea.util.Time in project marine-api by ktuukkan.
the class GGATest method testGetTime.
@Test
public void testGetTime() {
Time t = gga.getTime();
assertNotNull(t);
assertEquals(12, t.getHour());
assertEquals(0, t.getMinutes());
assertEquals(44.567, t.getSeconds(), 0.001);
}
use of net.sf.marineapi.nmea.util.Time in project marine-api by ktuukkan.
the class ZDAParser method getTime.
/*
* (non-Javadoc)
* @see net.sf.marineapi.nmea.sentence.TimeSentence#getTime()
*/
public Time getTime() {
String str = getStringValue(UTC_TIME);
int tzHrs = getLocalZoneHours();
int tzMin = getLocalZoneMinutes();
Time t = new Time(str);
t.setOffsetHours(tzHrs);
t.setOffsetMinutes(tzMin);
return t;
}
use of net.sf.marineapi.nmea.util.Time in project marine-api by ktuukkan.
the class PositionProvider method createProviderEvent.
/*
* (non-Javadoc)
* @see net.sf.marineapi.provider.AbstractProvider#createProviderEvent()
*/
@Override
protected PositionEvent createProviderEvent() {
Position p = null;
Double sog = null;
Double cog = null;
Date d = null;
Time t = null;
FaaMode mode = null;
GpsFixQuality fix = null;
for (Sentence s : getSentences()) {
if (s instanceof RMCSentence) {
RMCSentence rmc = (RMCSentence) s;
sog = rmc.getSpeed();
try {
cog = rmc.getCourse();
} catch (DataNotAvailableException e) {
// If we are not moving, cource can be undefined. Leave null in that case.
}
d = rmc.getDate();
t = rmc.getTime();
if (p == null) {
p = rmc.getPosition();
if (rmc.getFieldCount() > 11) {
mode = rmc.getMode();
}
}
} else if (s instanceof VTGSentence) {
VTGSentence vtg = (VTGSentence) s;
sog = vtg.getSpeedKnots();
try {
cog = vtg.getTrueCourse();
} catch (DataNotAvailableException e) {
// If we are not moving, cource can be undefined. Leave null in that case.
}
} else if (s instanceof GGASentence) {
// Using GGA as primary position source as it contains both
// position and altitude
GGASentence gga = (GGASentence) s;
p = gga.getPosition();
fix = gga.getFixQuality();
// Some receivers do not provide RMC message
if (t == null) {
t = gga.getTime();
}
} else if (s instanceof GLLSentence && p == null) {
GLLSentence gll = (GLLSentence) s;
p = gll.getPosition();
}
}
// Ag-Star reciever does not provide RMC sentence. So we have to guess what date it is
if (d == null) {
d = new Date();
}
return new PositionEvent(this, p, sog, cog, d, t, mode, fix);
}
use of net.sf.marineapi.nmea.util.Time in project marine-api by ktuukkan.
the class GGATest method testSetTime.
/**
* Test method for {@link net.sf.marineapi.nmea.parser.GGAParser#getTime()}.
*/
@Test
public void testSetTime() {
Time t = new Time(1, 2, 3.456);
gga.setTime(t);
assertTrue(gga.toString().contains("GPGGA,010203.456,6011"));
}
Aggregations