/** * DGNSS correction data * @param input * @param aisData */ protected void data(InputReader input, @ParserContext("aisData") AISObserver aisData) { } // Type18StandardClassBCSPositionReport
@ParseMethod(start = "messages", size=6, charSet = "US-ASCII", features={WideIndex}) protected abstract void parse( AISChannel channel, @ParserContext("aisData") AISObserver aisData, @ParserContext("aisContext") AISContext aisContext) throws ThreadStoppedException;
@ParseMethod(start = "17Messages", size=816, charSet = "US-ASCII", features={WideIndex}) protected abstract void parse17Messages( AISChannel channel, @ParserContext("aisData") AISObserver aisData, @ParserContext("aisContext") AISContext aisContext) throws ThreadStoppedException; @ParseMethod(start = "18Messages", size=168, charSet = "US-ASCII", features={WideIndex})
@ParseMethod(start = "22Messages", size=168, charSet = "US-ASCII", features={WideIndex}) protected abstract void parse22Messages( AISChannel channel, @ParserContext("aisData") AISObserver aisData, @ParserContext("aisContext") AISContext aisContext) throws ThreadStoppedException; @ParseMethod(start = "23Messages", size=160, charSet = "US-ASCII", features={WideIndex})
@ParseMethod(start="bnf", whiteSpace={"s"}) @Override public void parseBnf( CharSequence text, @ParserContext("GRAMMAR") Grammar g ) { throw new UnsupportedOperationException(); }
protected void aisVersion(int arg, @ParserContext("aisData") AISObserver aisData) { aisData.setAisVersion(arg); } protected void status_4(int arg, @ParserContext("aisData") AISObserver aisData)
protected void lhour(int hour, @ParserContext("aisData") AISObserver aisData) { if (hour != 24) { aisData.setLastPortHour(hour); } }
protected void lminute(int minute, @ParserContext("aisData") AISObserver aisData) { if (minute != 60) { aisData.setLastPortMinute(minute); } }
protected void nhour(int hour, @ParserContext("aisData") AISObserver aisData) { if (hour != 24) { aisData.setNextPortHour(hour); } }
protected void toMin(int minute, @ParserContext("aisData") AISObserver aisData) { if (minute != 60) { aisData.setToMinute(minute); } }
protected void persons(int persons, @ParserContext("aisData") AISObserver aisData) { if (persons != 0) { aisData.setPersonsOnBoard(persons); } }
protected void wgust(int knots, @ParserContext("aisData") AISObserver aisData) { if (knots != 127) { aisData.setGustSpeed(knots); } }
protected void wgustdir(int degrees, @ParserContext("aisData") AISObserver aisData) { if (degrees <= 360) { aisData.setWindGustDirection(degrees); } }
protected void dewpoint(int degrees, @ParserContext("aisData") AISObserver aisData) { if (degrees < 1023) { float f = degrees; aisData.setDewPoint((f / 10F) - 20F); } }
protected void waterlevel_U2_12(int arg, @ParserContext("aisData") AISObserver aisData) { if (arg < 40001) { float f = arg; aisData.setWaterLevel((f / 100F) - 10F); } }
protected void cdepth2_5(int arg, @ParserContext("aisData") AISObserver aisData) { if (arg < 31) { aisData.setMeasurementDepth2(arg); } } protected void cdepth3_5(int arg, @ParserContext("aisData") AISObserver aisData)
protected void cdepth2_9(int arg, @ParserContext("aisData") AISObserver aisData) { if (arg < 362) { aisData.setMeasurementDepth2(arg); } } protected void cdepth3_9(int arg, @ParserContext("aisData") AISObserver aisData)
protected void waveheight_U1(int height, @ParserContext("aisData") AISObserver aisData) { if (height < 251) { float f = height; aisData.setWaveHeight(f / 10F); } }
protected void swellheight_U1(int height, @ParserContext("aisData") AISObserver aisData) { if (height < 251) { float f = height; aisData.setSwellHeight(f / 10F); } }
/** * 0-14.5m/s: SOG = (value * 0.5) for 0-29, 30 = 15 m/s and more, average * over last 10 minutes. 31 = N/A (default) * @param arg * @param aisData */ protected void speed_U1_5(int arg, @ParserContext("aisData") AISObserver aisData) { aisData.setSpeed((float)arg/20F); }