Package GPS

Class GPSControl

All Implemented Interfaces:
PamSettings, PositionReference, SettingsNameProvider

public class GPSControl extends PamControlledUnit implements PamSettings, PositionReference
  • Field Details

  • Constructor Details

    • GPSControl

      public GPSControl(String unitName)
      Do some mucking about with dataTableNames in order to allow > 1 GPS module, for viewer mode when collecting ancillary data.
  • Method Details

    • getDataTableName

      public String getDataTableName()
      Work out if this is the only GPS module or not. If it isn't then it will have to have a different GPS Data table name and also won't be connecting to the NMEA data source.
      Returns:
    • getGpsDataBlock

      public GPSDataBlock getGpsDataBlock()
    • createGPSMenu

      public JMenuItem createGPSMenu(Frame parentFrame)
    • createDetectionMenu

      public JMenuItem createDetectionMenu(Frame parentFrame)
      Description copied from class: PamControlledUnit
      Create a JMenu object containing MenuItems associated with PamProcesses
      Overrides:
      createDetectionMenu in class PamControlledUnit
      Parameters:
      parentFrame - The owner frame of the menu
      Returns:
      reference to a JMenu which can be added to an existing menu or menu bar

      Note that if multiple views are to use the same menu, then they should each create a new menu (by setting Create to true) the first time they call this method.

    • getSettingsReference

      public Serializable getSettingsReference()
      Specified by:
      getSettingsReference in interface PamSettings
      Returns:
      The serialisable object that will be stored
    • getSettingsVersion

      public long getSettingsVersion()
      Specified by:
      getSettingsVersion in interface PamSettings
      Returns:
      An integer version number for the settings
    • restoreSettings

      public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings)
      Specified by:
      restoreSettings in interface PamSettings
      Returns:
      true if successful The object performs final checks (if needed) and then casts the settings data pamcontrolledunitSettings.settings into the correct type and uses as required
    • notifyModelChanged

      public void notifyModelChanged(int changeType)
      Description copied from class: PamControlledUnit
      General notification when the PAMGAURD model changes.
      Overrides:
      notifyModelChanged in class PamControlledUnit
      Parameters:
      changeType - type of change
    • getGpsParameters

      public GPSParameters getGpsParameters()
    • getGpsControl

      public static GPSControl getGpsControl()
      There is only one GPS controller in the model, so might as well make it easy to find with a static function.
      Returns:
      the gpsControl.
    • removeUnit

      public boolean removeUnit()
      Description copied from class: PamControlledUnit
      Called to remove a unit.
      Overrides:
      removeUnit in class PamControlledUnit
      Returns:
      try (not used)
    • getShipPosition

      public GpsDataUnit getShipPosition(long timeMilliseconds)
      Gets the closest position based on time. No interpolation
      Parameters:
      timeMilliseconds -
      Returns:
      closest ship position based on time.
    • getShipPosition

      public GpsDataUnit getShipPosition(long timeMilliseconds, boolean interpolate)
      Gets the closest position based on time.
      Parameters:
      timeMilliseconds - time in milliseconds
      interpolate - interpolate between the point before and the one after.
      Returns:
      interpolated gps position.
    • wantString

      public boolean wantString(String stringId)
      Do we want this string ? It will be either RMC or GGA and may want wildcarding
      Parameters:
      stringId -
      Returns:
    • getWantedString

      public String getWantedString()
      Get the name of the string we're wanting.
      Returns:
    • checkGPSTime

      public void checkGPSTime(GpsDataUnit newUnit)
      Check the time of a new GPS Data unit and see if there is a timing problem.
      Parameters:
      newUnit -
    • isGpsMaster

      public boolean isGpsMaster()
      Returns:
      the isGpsMaster
    • getGpsDataMatcher

      public GPSDataMatcher getGpsDataMatcher()
      Returns:
      the gpsDataMatcher
    • getReferencePosition

      public GpsData getReferencePosition(long timeMillis)
      Description copied from interface: PositionReference
      Get position data, with heading information if possible.
      Specified by:
      getReferencePosition in interface PositionReference
      Parameters:
      timeMillis - time for position (will usually be latest)
      Returns:
      GPS position with heading
    • getReferenceName

      public String getReferenceName()
      Description copied from interface: PositionReference
      Name of the reference.
      Specified by:
      getReferenceName in interface PositionReference
      Returns: