GPS
Class ProcessNmeaData

java.lang.Object
  extended by PamguardMVC.PamProcess
      extended by GPS.ProcessNmeaData
All Implemented Interfaces:
Annotator, PamObserver

public class ProcessNmeaData
extends PamProcess

Author:
Doug Gillespie PamProcess that subscribed to the AcquireNmeaData processes output data block, selects just the interesting stuff in the GPRMC string and creates a new data block with the string data unpacked into more usable doubles.

Field Summary
(package private)  GPSControl gpsController
           
(package private)  GPSDataBlock gpsDataBlock
           
(package private)  GpsLogger gpsLogger
           
(package private)  GpsDataUnit previousUnit
           
private  java.lang.String wantedString
           
 
Fields inherited from class PamguardMVC.PamProcess
outputDataBlocks, processName, sampleRate
 
Constructor Summary
ProcessNmeaData(GPSControl gpsControl)
           
 
Method Summary
 void clearOldData()
          Clears all data from all output data blocks of this process
(package private)  boolean findNMEADataBlock()
           
 long firstRequiredTime(PamObservable o, java.lang.Object arg)
           
 java.lang.String getWantedString()
           
 void newData(PamObservable o, PamDataUnit pamData)
           
 void noteNewSettings()
           
 void pamStart()
          Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway.
 void pamStop()
          Stops the process.
 void setSampleRate(float sampleRate, boolean notify)
          New sample rate
 void setWantedString()
           
private  boolean wantDataUnit(GpsDataUnit newUnit)
          Decide if we want this unit or not based on the gpsPArameters and what the time, angle change and speed change are since the last unit.
 
Methods inherited from class PamguardMVC.PamProcess
absMillisecondsToSamples, absSamplesToMilliseconds, addOutputDataBlock, changedThreading, createAnnotations, destroyProcess, fillXMLElement, fillXMLParameters, getAncestorDataBlock, getAnnotation, getBackendProcess, getChainPosition, getCpuPercent, getNumAnnotations, getNumOutputDataBlocks, getObserverName, getObserverObject, getOfflineData, getOutputDataBlock, getPamControlledUnit, getParentDataBlock, getParentProcess, getProcessName, getRawSourceDataBlock, getRequiredDataHistory, getSampleRate, getSourceDataBlock, getSourceProcess, isCanMultiThread, makePamProcess, masterClockUpdate, notifyModelChanged, prepareProcess, relMillisecondsToSamples, relSamplesToMilliseconds, removeObservable, removeOutputDatablock, saveViewerData, setBackendProcess, setCanMultiThread, setParentDataBlock, setParentDataBlock, setProcessName, setupProcess, toString, update, updateData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

gpsDataBlock

GPSDataBlock gpsDataBlock

gpsController

GPSControl gpsController

gpsLogger

GpsLogger gpsLogger

wantedString

private java.lang.String wantedString

previousUnit

GpsDataUnit previousUnit
Constructor Detail

ProcessNmeaData

ProcessNmeaData(GPSControl gpsControl)
Parameters:
pamControlledUnit - Reference to the NMEAController
allNmeaData - reference to the output data block of the AcquireNMEAData Process.
Method Detail

findNMEADataBlock

boolean findNMEADataBlock()

firstRequiredTime

public long firstRequiredTime(PamObservable o,
                              java.lang.Object arg)

noteNewSettings

public void noteNewSettings()
Specified by:
noteNewSettings in interface PamObserver
Overrides:
noteNewSettings in class PamProcess

newData

public void newData(PamObservable o,
                    PamDataUnit pamData)
Overrides:
newData in class PamProcess

wantDataUnit

private boolean wantDataUnit(GpsDataUnit newUnit)
Decide if we want this unit or not based on the gpsPArameters and what the time, angle change and speed change are since the last unit.

Returns:
true if GPS data should be stored / used.

setSampleRate

public void setSampleRate(float sampleRate,
                          boolean notify)
Description copied from interface: PamObserver
New sample rate

Specified by:
setSampleRate in interface PamObserver
Overrides:
setSampleRate in class PamProcess
notify - Notify other PamObservers and PamObservables in the chain.

pamStart

public void pamStart()
Description copied from class: PamProcess
Called for each process to tell it to start (may not be necessary for processes which are listening for data anyway.

Specified by:
pamStart in class PamProcess

pamStop

public void pamStop()
Description copied from class: PamProcess
Stops the process.

Specified by:
pamStop in class PamProcess

clearOldData

public void clearOldData()
Description copied from class: PamProcess
Clears all data from all output data blocks of this process

Overrides:
clearOldData in class PamProcess

getWantedString

public java.lang.String getWantedString()

setWantedString

public void setWantedString()