gov.nasa.gsfc.drl.rtstps.core
Class FrameAnnotation

java.lang.Object
  extended by gov.nasa.gsfc.drl.rtstps.core.FrameAnnotation
All Implemented Interfaces:
java.lang.Cloneable

public class FrameAnnotation
extends java.lang.Object
implements java.lang.Cloneable

This class holds frame annotation information.


Field Summary
 boolean hasBadFirstHeaderPointer
          If true, the CCSDS Path Service determined that this frame has an invalid first header pointer, so it was forced to ignore the entire frame.
 boolean hasCrcError
          If true, this frame has a CRC error.
 boolean hasIdleVcdu
          If true, the VCDU (Virtual Channel Data Unit) inside this frame contains all fill data.
 boolean hasPacketDecompositionError
          If true, the CCSDS Path Service, which assembles packets, had some unspecified problem extracting packets from this frame.
 boolean hasSequenceError
          If true, there is a sequence error between this frame and the previous one.
 boolean isInverted
          If true, the frame was originally inverted.
 boolean isLock
          If true, the Frame Synchronizer was in lock mode when it received this frame.
 boolean isRsCorrected
          If true, this frame had a Reed Solomon error, but the RS subsystem corrected it.
 boolean isRsUncorrectable
          If true, this frame had a Reed Solomon uncorrectable error that the RS subsystem could or did not correct.
 boolean isSlipped
          If true, the Frame Synchronizer discovered that this frame was slipped either 1 or 2 bits long or short.
 long timestamp
          A timestamp associated with this frame.
 
Constructor Summary
FrameAnnotation()
           
 
Method Summary
 void addQuality(FrameAnnotation fa)
          Absorb the quality of the passed frame annotation into the quality of this frame annotation so that it shows the worse of both.
 java.lang.Object clone()
          Create a copy of this object.
 boolean isEqualQuality(FrameAnnotation fa)
          Determine if this annotation has the same quality information as another frame annotation object.
 void reset()
          Resets the annotation fields to "at start" values so that they can be used for a different frame.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

timestamp

public long timestamp
A timestamp associated with this frame. It is milliseconds from some epoch.


isLock

public boolean isLock
If true, the Frame Synchronizer was in lock mode when it received this frame.


isInverted

public boolean isInverted
If true, the frame was originally inverted. The polarity may or may not have been corrected depending on a setup option.


isSlipped

public boolean isSlipped
If true, the Frame Synchronizer discovered that this frame was slipped either 1 or 2 bits long or short.


hasCrcError

public boolean hasCrcError
If true, this frame has a CRC error. It can only be true if CRC detection is enabled.


isRsCorrected

public boolean isRsCorrected
If true, this frame had a Reed Solomon error, but the RS subsystem corrected it. The flag can only be true if the frame is Reed Solomon encoded and Reed Solomon block correction was enabled.


isRsUncorrectable

public boolean isRsUncorrectable
If true, this frame had a Reed Solomon uncorrectable error that the RS subsystem could or did not correct. This flag can only be true if the frame is Reed Solomon encoded and Reed Solomon block detection was enabled.


hasSequenceError

public boolean hasSequenceError
If true, there is a sequence error between this frame and the previous one. This flag is only meaningful for frames that have a sequence field, such as CCSDS frames. It indicates a data dropout.


hasPacketDecompositionError

public boolean hasPacketDecompositionError
If true, the CCSDS Path Service, which assembles packets, had some unspecified problem extracting packets from this frame. It extracted as much as possible before discarding some data. This flag is only meaningful for CCSDS frames that have been routed through the CCSDS Path Service.


hasBadFirstHeaderPointer

public boolean hasBadFirstHeaderPointer
If true, the CCSDS Path Service determined that this frame has an invalid first header pointer, so it was forced to ignore the entire frame. This flag is only meaningful for CCSDS frames that have been routed through the CCSDS Path Service.


hasIdleVcdu

public boolean hasIdleVcdu
If true, the VCDU (Virtual Channel Data Unit) inside this frame contains all fill data. This flag is only meaningful if the frame is a CCSDS version 2 frame.

Constructor Detail

FrameAnnotation

public FrameAnnotation()
Method Detail

reset

public void reset()
Resets the annotation fields to "at start" values so that they can be used for a different frame.


isEqualQuality

public boolean isEqualQuality(FrameAnnotation fa)
Determine if this annotation has the same quality information as another frame annotation object.


addQuality

public void addQuality(FrameAnnotation fa)
Absorb the quality of the passed frame annotation into the quality of this frame annotation so that it shows the worse of both.


clone

public java.lang.Object clone()
Create a copy of this object.

Overrides:
clone in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object