WIDAR Classes

ca.nrc.widar.vciMapper
Class CcQuad

java.lang.Object
  extended by ca.nrc.widar.vciMapper.CcQuad
All Implemented Interfaces:
java.io.Serializable

public class CcQuad
extends java.lang.Object
implements java.io.Serializable

CcQuad (Correlator Cell Quad) is a HW component. Instances of this class are created when a Correlator Chip is created. A Correlator Chip Quad consists of 4 Correlator Chip Cells (CcCells). CcQuad has two X and two Y data streams. 4 CcCells that belong to the same CcQuad receive X input from one of the two X data streams and Y input from one of the two Y data streams.

In the CCQ input, for each X and each Y input, there is a switch which allowes user to select one of the two input data streams (primary or secondary). The switch for each X and each Y input can be indipendantly set.

CCQ receives input from the Recirculation Controller (RC).

Recirculation Controller (RC) has 8 output data streams (0-7).

Hardware design imposes the following restriction:

CCQ0 input0 receives input from RC Output 0 (primary) or RC Output 6 (secondary)

CCQ0 input1 receives input from RC Output 1 (primary) or RC Output 7 (secondary)

CCQ1 input0 receives input from RC Output 2 (primary) or RC Output 0 (secondary)

CCQ1 input1 receives input from RC Output 3 (primary) or RC Output 1 (secondary)

CCQ2 input0 receives input from RC Output 4 (primary) or RC Output 0 (secondary)

CCQ2 input1 receives input from RC Output 5 (primary) or RC Output 1 (secondary)

CCQ3 input0 receives input from RC Output 6 (primary) or RC Output 0 (secondary)

CCQ3 input1 receives input from RC Output 7 (primary) or RC Output 1 (secondary)

The above list applies for X and Y input.

Author:
Sonja.Vrcic@nrc.gc.ca

$Rev:: 6160 $: Revision of the last commit

$Author:: svrcic $: Author of the last commit

$Date:: 2012-12-07 19:03:39 -07#$: Date of the last commit

See Also:
Serialized Form
 

Nested Class Summary
static class CcQuad.Source
          Used to identify the source of input data, i.e.
 
Field Summary
static int CCQ_MAX_ID
           
static int CCQ_MIN_ID
           
static int CELLS_IN_QUAD
          Each CcQuad has 4 cells.
 
Constructor Summary
CcQuad()
           
CcQuad(Mlid inMlid, int inX, int inY, int index)
           
 
Method Summary
 boolean carryForwardChangeToBeTransmitted(CcQuad prevConfiguration)
          This method is called just before (or after) CorrModel becomes active.
 boolean changeToBeTransmitted()
           
 boolean configChange()
           
 void configChangeDeepChange(boolean newInd, ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)
          Change configChange, not only for the object CcQuad, but also for all the objects owned by the CcQuad.
 void configChangeStatusDeepChange(boolean oldInd, ca.nrc.widar.vciMapper.ConfigChangeStatus oldStatus, ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)
          Change indicator "configChangeStatus" only for objects that have specified value of configChange and configChangeStatus.
 void finalize()
           
 CcCell getCcCell(int i)
           
 java.lang.String getIdAsString()
           
 int getNumIdleCells()
           
 ca.nrc.widar.jaxb.component.Correlator.CcQuad getQuadAsXml()
           
 ca.nrc.widar.vciMapper.UseStatus getUseStatus()
           
 BlbDataStream getXInput0()
           
 BlbDataStream getXInput1()
           
 BlbDataStream getYInput0()
           
 BlbDataStream getYInput1()
           
 void setConfigChange(boolean newInd, ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)
           
 void setIdle()
           
 void setUsed()
           
 void setXInput0(CcQuad.Source src, BlbDataStream ds)
           
 void setXInput1(CcQuad.Source src, BlbDataStream ds)
           
 void setYInput0(CcQuad.Source src, BlbDataStream ds)
           
 void setYInput1(CcQuad.Source src, BlbDataStream ds)
           
 void updateConfigChangeStatusForToBeTransmitted(ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)
           
 boolean usedForAutoCorr()
           
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CELLS_IN_QUAD

public static final int CELLS_IN_QUAD
Each CcQuad has 4 cells.

See Also:
Constant Field Values

CCQ_MIN_ID

public static final int CCQ_MIN_ID
See Also:
Constant Field Values

CCQ_MAX_ID

public static final int CCQ_MAX_ID
See Also:
Constant Field Values
Constructor Detail

CcQuad

public CcQuad()

CcQuad

public CcQuad(Mlid inMlid,
              int inX,
              int inY,
              int index)
Method Detail

finalize

public void finalize()
Overrides:
finalize in class java.lang.Object

setIdle

public void setIdle()

getCcCell

public CcCell getCcCell(int i)

getNumIdleCells

public int getNumIdleCells()

getUseStatus

public ca.nrc.widar.vciMapper.UseStatus getUseStatus()

getIdAsString

public java.lang.String getIdAsString()

configChange

public boolean configChange()

setConfigChange

public void setConfigChange(boolean newInd,
                            ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)

setUsed

public void setUsed()

configChangeDeepChange

public void configChangeDeepChange(boolean newInd,
                                   ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)
Change configChange, not only for the object CcQuad, but also for all the objects owned by the CcQuad. Used when a new CorrModel is created from the previous CorrModel.

Parameters:
newStatus - - configChange

configChangeStatusDeepChange

public void configChangeStatusDeepChange(boolean oldInd,
                                         ca.nrc.widar.vciMapper.ConfigChangeStatus oldStatus,
                                         ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)
Change indicator "configChangeStatus" only for objects that have specified value of configChange and configChangeStatus.

Parameters:
oldInd - - configuration change indicator: true or false
oldStatus - - status of the configuration change, relevant only if configChange==true.

Change configChangeStatus only if it is currently set to this value.

newStatus - - New value for configChangeStatus.

updateConfigChangeStatusForToBeTransmitted

public void updateConfigChangeStatusForToBeTransmitted(ca.nrc.widar.vciMapper.ConfigChangeStatus newStatus)

changeToBeTransmitted

public boolean changeToBeTransmitted()

carryForwardChangeToBeTransmitted

public boolean carryForwardChangeToBeTransmitted(CcQuad prevConfiguration)
This method is called just before (or after) CorrModel becomes active. Configuration changes that were not transmitted must be 'carried forward'. If there is no change from the previous CorrModel and in the previous CorrModel there is configuration change that was not transmitted set indicators so that change gets transmitted (when transmitting configuration for this CorrModel).

Parameters:
prevConfiguration - - CorrModel for earlier activation time.

getXInput0

public BlbDataStream getXInput0()

getXInput1

public BlbDataStream getXInput1()

getYInput0

public BlbDataStream getYInput0()

getYInput1

public BlbDataStream getYInput1()

setXInput0

public void setXInput0(CcQuad.Source src,
                       BlbDataStream ds)

setXInput1

public void setXInput1(CcQuad.Source src,
                       BlbDataStream ds)

setYInput0

public void setYInput0(CcQuad.Source src,
                       BlbDataStream ds)

setYInput1

public void setYInput1(CcQuad.Source src,
                       BlbDataStream ds)

usedForAutoCorr

public boolean usedForAutoCorr()
                        throws java.lang.RuntimeException
Throws:
java.lang.RuntimeException

getQuadAsXml

public ca.nrc.widar.jaxb.component.Correlator.CcQuad getQuadAsXml()

NRAO/DRAO

National Radio Astronomy Observatory