Package NMEA

Class NMEAControl

All Implemented Interfaces:
PamSettings, SettingsNameProvider

public class NMEAControl extends PamControlledUnit implements PamSettings
Author:
Doug Gillespie, David McLaren, Paul Redmond

Controller for NMEA data acquisition into the Pamguard framework

The controller contains two processes, each of which produces a single output PamDataBlock.

The first process adds all NMEA strings to it's output block in their original format

The second process takes only the GPRMC data and adds them to a separate data block. the map should subscribe to this second process and tell it how much data it wished to keep using the FirstRequiredSample method of the PamObserver interface.

  • Field Details

  • Constructor Details

    • NMEAControl

      public NMEAControl(String unitName)
  • Method Details

    • createNMEAMenu

      public JMenuItem createNMEAMenu(Frame parentFrame)
    • getNmeaParameters

      public NMEAParameters getNmeaParameters()
    • showNMEADialog

      public void showNMEADialog(Frame parentFrame)
    • 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
    • setupControlledUnit

      public void setupControlledUnit()
      Description copied from class: PamControlledUnit
      called for all PamControlledUnits after all units have been created. This is a good time for the controlled units and processes to find and check their source data and the configuration generally since most onjects (i.e. output data blocks) should be in place
      Overrides:
      setupControlledUnit in class PamControlledUnit
    • 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.

    • pamClose

      public void pamClose()
      Description copied from class: PamControlledUnit
      Called when PAMGUARD is finally closing down so that a module may free any remaining resources (e.g. files or COMM ports).
      Overrides:
      pamClose in class PamControlledUnit
    • getNMEADataBLock

      public NMEADataBlock getNMEADataBLock()
      Get the NMEA DataBlock.
      Returns:
      the NMEA data block