Skip to content

Java Marine API v0.6.0

Compare
Choose a tag to compare
@ktuukkan ktuukkan released this 15 Oct 20:28
· 458 commits to master since this release

New features

  • UDP/DatagramSocket support in SentenceReader.
  • SatelliteInfoProvider; reports all GPS satellite information in single event.
  • SentenceParser; reset() and setFieldCount(int) methods for resetting and
    adjusting the number of data fields.
  • PositionParser; parsePosition(Position) and setPositionValues(Position)
    methods.
  • Date, Time; added support for time zones and ISO 8601 formatting.
  • ZDASentence; setTimeAndLocalZone(Time t) for setting time and offset.
  • Support for XDR sentences; transducer measurements.

Changes

  • SentenceReader; refactored to better support diffrent data sources, including
    some performance tweaks (should take less CPU now). When dispatching events,
    all exceptions thrown by SentenceListeners are now logged using the default
    java.util.logging.Logger on level WARNING.
  • SentenceValidator; performance tweaks in regular expressions. Sentence length
    is no longer strictly checked, sentence IDs may contain now 3-10 chars.
  • SentenceParser; due to changes in SentenceValidator, toSentence() does not
    automatically check sentence length anymore. Added toSentence(int) method
    for validating the length.
  • TPVProvider and related classes renamed to PositionProvider.
  • GSASentence; getSatellitesIds() renamed to getSatelliteIds().
  • Sentence; removed unused constant ADDRESS_FIELD.
  • Date, Time; fractions of second are now handled. Moved common date/time
    parsing and formatting in Date and Time classes. Fixed a bug in Time.toDate()
    causing incorrect hour of day.
  • GLL, GGA, RMC and ZDA parsers; fractions of second are now parsed and
    formatted in timestamp fields. When setting/formatting values, three decimals
    is used regardless of given precision (padded with zeros as needed).
  • Position; refactored and removed explicit hemisphere indicators. Hemispheres
    are now handled more automatically and indicated by positive and negative
    values of latitude and longitude. Affected classes are PositionParser,
    GGAParser, GLLParser, RMAParser, RMCParser, WPLParser and Waypoint.