NMEA
Class NMEAControl

java.lang.Object
  extended by PamController.PamControlledUnit
      extended by NMEA.NMEAControl
All Implemented Interfaces:
PamSettings

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.


Nested Class Summary
(package private)  class NMEAControl.NMEAEmulate
           
(package private)  class NMEAControl.NMEASettings
           
(package private)  class NMEAControl.NMEAStrings
           
 
Field Summary
(package private)  AcquireNmeaData acquireNmeaData
           
(package private)  NMEAControl nmeaControl
           
(package private)  NMEAParameters nmeaParameters
           
 
Fields inherited from class PamController.PamControlledUnit
isViewer
 
Constructor Summary
NMEAControl(java.lang.String unitName)
           
 
Method Summary
 javax.swing.JMenuItem createDetectionMenu(java.awt.Frame parentFrame)
          Create a JMenu object containing MenuItems associated with PamProcesses
 javax.swing.JMenuItem createNMEAMenu(java.awt.Frame parentFrame)
           
private  void emulateNMEAData(java.awt.Frame parentFrame)
           
 NMEAParameters getNmeaParameters()
           
 java.io.Serializable getSettingsReference()
           
 long getSettingsVersion()
           
 boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings)
           
 void setupControlledUnit()
          called for all PamControlledUnits after all units have been created.
 
Methods inherited from class PamController.PamControlledUnit
addOtherRelatedMenuItems, addPamProcess, addRelatedMenuItems, canClose, createDisplayMenu, createFileMenu, createHelpMenu, fillXMLElement, fillXMLParameters, getFrameNumber, getNumPamProcesses, getPamController, getPamModuleInfo, getPamProcess, getPamView, getSidePanel, getTabClipCopier, getTabPanel, getTabSpecificMenuBar, getUnitName, getUnitType, gotoTab, notifyArrayChanged, notifyModelChanged, pamHasStopped, pamToStart, removePamProcess, removeUnit, rename, saveViewerData, setFrameNumber, setPamController, setPamModuleInfo, setPamView, setSidePanel, setTabPanel, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface PamController.PamSettings
getUnitName, getUnitType
 

Field Detail

acquireNmeaData

AcquireNmeaData acquireNmeaData

nmeaParameters

NMEAParameters nmeaParameters

nmeaControl

NMEAControl nmeaControl
Constructor Detail

NMEAControl

public NMEAControl(java.lang.String unitName)
Method Detail

createNMEAMenu

public javax.swing.JMenuItem createNMEAMenu(java.awt.Frame parentFrame)

getNmeaParameters

public NMEAParameters getNmeaParameters()

emulateNMEAData

private void emulateNMEAData(java.awt.Frame parentFrame)

getSettingsReference

public java.io.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 javax.swing.JMenuItem createDetectionMenu(java.awt.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.