#include <HSJTAGStreams.h>
Public Member Functions | |
HSJTAGStreams (void) | |
~HSJTAGStreams (void) | |
UInt32 | GetModeSel (void) |
returns mode sel (I need to ask Iavan what is this ModeSel) | |
void | SetModeSel (UInt32 Mode) |
method to set the ModeSel | |
UInt8 | GetJTOperation (void) |
Returns the current jtag operation (IR or DR). | |
void | SetJTOperation (UInt8 OperTemp) |
Sets the current JTAG operation (IR or DR). | |
UInt8 | GetSkipMode (void) |
gets the current skip mode in the mcm for this scan | |
void | SetSkipMode (UInt8 Mode) |
set the current skip mode of this mcm for this scan | |
void | SetScanVector (UInt8 SelVector) |
sets one instruction for an IR scan | |
UInt32 * | IRGenerator (void) |
generates the IR vector to send to router jtag player | |
UInt32 * | DRGenerator (UInt32 *DataIn, bool ConstValue) |
generates the DR vector to send to the router player | |
UInt32 ** | DecodeJTStream (UInt32 *DRVect) |
decodes a DR vector comming from the routers's jtag player | |
UInt32 ** | SetJTSPixelDAC (UInt8 *DACn, UInt8 *DACValues, UInt32 ChipSelect, bool All, UInt32 pixInChain=1023) |
function to generate the jtag vectors to set one pixel dac | |
UInt32 ** | SetJTSPixelAllDAC (UInt32 ChipSelect, UInt8 *DACVect, UInt32 pixInChain=1023) |
Function get the jtag vectors to set all pixel 44*10 dacs in one halfstave. | |
UInt32 ** | SetJTSPixelMatrix (UInt32 ChipSelect, UInt32 *Matrix, bool All, bool TP, UInt32 pixInChain=1023) |
Function to get the jtag vectors to set a pixel matrix i nthe pixel chips, test pulse or mask. | |
UInt32 ** | SetJTSApiDAC (UInt8 *ApiDac, UInt32 pixInChain=1023) |
function to get the jtag vectors to set the analog pilot dacs | |
UInt32 ** | SetJTSApiADCStartConv (UInt32 pixInChain=1023) |
function to get the jtag vectors to send the start conversion of the API ADC | |
UInt32 ** | SetJTSDpiConfReg (UInt32 *DpiReg, UInt32 pixInChain=1023) |
method to get the vectors for digital pilot registers | |
UInt32 ** | SetJTSDpiInternalReg (UInt32 *DpiReg, UInt32 pixInChain=1023) |
method to get the vectors for setting the internal dpi register | |
UInt32 ** | GetJTSApiDAC (UInt32 pixInChain=1023) |
method to get the vectors to read the analog pilot dacs | |
UInt32 ** | GetJTSApiADC (UInt32 pixInChain=1023) |
method to get the vectors to read the analog pilot ADCs | |
UInt32 ** | GetJTSDpiConfReg (UInt32 pixInChain=1023) |
method to get the vectors to read the digital pilot registers | |
UInt32 ** | GetJTSDpiInternalReg (UInt32 pixInChain=1023) |
method to get the vec tors to read the DPI internal registers | |
UInt32 * | GetJTSResetPixel (UInt32 ChipSelect, UInt32 pixInChain=1023) |
method to get the vector to send IR reset to the pixels | |
Private Member Functions | |
UInt32 | GetInstruction (UInt8 position) |
method to get the IR instruction of a certain position in the JTAG chain | |
UInt32 | AppendData (UInt32 *Stream, UInt32 bitNum, UInt32 *Data) |
method to append a certain ammount of bits from one array to another | |
UInt32 * | ExtractData (UInt32 *Stream, UInt32 StartPosition, UInt32 Type) |
method to extract data from an array | |
Private Attributes | |
UInt32 | IRIstrucVect [NInstructions][13] |
UInt32 | bitNumber |
UInt32 | ModeSel |
UInt32 * | ScanVector |
UInt8 | JTOperation |
UInt8 | SkipMode |
skip mode in the mc | |
UInt32 | GOLConfTemp |
temporary pointer/keeper of data | |
UInt8 * | APIConfTemp |
temporary pointer/keeper of data CAUTION: dangerous | |
UInt32 * | DPIConfTemp |
temporary pointer/keeper of data CAUTION: dangerous |
This class keeps in memory all IR vectors for all operations in the detector, generates the DR vectors acording to the elements included in the chain, checking also the IR instruction. If a device is put in bypass it puts automatically the 1 bit cell IRIstrucVect[i][j]: [i] select the environment and the operation to do: 0 is used for default load HS default. first step where you select the global register. 1 is used for write in the proper selected register. second step for load register. 2 for mask or set TP 3 ID code 4 Bypass 5 user define vector 6 read vector
HSJTAGStreams::HSJTAGStreams | ( | void | ) |
HSJTAGStreams::~HSJTAGStreams | ( | void | ) |
method to get the IR instruction of a certain position in the JTAG chain
position | position in the jtag chain : 0-gol, 1-api 2..11-pixel chip, 12-DPI |
method to append a certain ammount of bits from one array to another
it uses bitNumber internal variable to know where to start to append the data
Stream | data output, where de data will be appended | |
bitNum | number of bits to append | |
Data | input data, data to be appended to the first array |
UInt32 * HSJTAGStreams::ExtractData | ( | UInt32 * | Stream, | |
UInt32 | StartPosition, | |||
UInt32 | Type | |||
) | [private] |
method to extract data from an array
It know the ammount of bits to extract by the Type of IR instruction supplied
Stream | input data | |
StartPositon | position to start taking data | |
Type | type of jtag instruction, this tells the ammount of bits to extract from the data |
UInt32 HSJTAGStreams::GetModeSel | ( | void | ) | [inline] |
returns mode sel (I need to ask Iavan what is this ModeSel)
void HSJTAGStreams::SetModeSel | ( | UInt32 | Mode | ) | [inline] |
method to set the ModeSel
UInt8 HSJTAGStreams::GetJTOperation | ( | void | ) | [inline] |
Returns the current jtag operation (IR or DR).
void HSJTAGStreams::SetJTOperation | ( | UInt8 | OperTemp | ) | [inline] |
Sets the current JTAG operation (IR or DR).
UInt8 HSJTAGStreams::GetSkipMode | ( | void | ) | [inline] |
gets the current skip mode in the mcm for this scan
void HSJTAGStreams::SetSkipMode | ( | UInt8 | Mode | ) | [inline] |
set the current skip mode of this mcm for this scan
void HSJTAGStreams::SetScanVector | ( | UInt8 | SelVector | ) | [inline] |
sets one instruction for an IR scan
UInt32 * HSJTAGStreams::IRGenerator | ( | void | ) |
generates the IR vector to send to router jtag player
generates the DR vector to send to the router player
decodes a DR vector comming from the routers's jtag player
DRVect | array with the DR data |
UInt32 ** HSJTAGStreams::SetJTSPixelDAC | ( | UInt8 * | DACn, | |
UInt8 * | DACValues, | |||
UInt32 | ChipSelect, | |||
bool | All, | |||
UInt32 | pixInChain = 1023 | |||
) |
function to generate the jtag vectors to set one pixel dac
ChN | - channel number | |
DACn | - dac number to chane | |
DACValues | - array with the different values for every chip in chain | |
ChipSelect- | 10 bit number saying which chips we want to change in this scan (00000001) means we will put all chips except number 0 in bypass | |
All | - specifies if we are setting all chips with the same value (DACValues[0]) | |
pixInChain | - parameter defining the chips in chain (if any chip is being skiped in the chain) |
UInt32 ** HSJTAGStreams::SetJTSPixelAllDAC | ( | UInt32 | ChipSelect, | |
UInt8 * | DACVect, | |||
UInt32 | pixInChain = 1023 | |||
) |
Function get the jtag vectors to set all pixel 44*10 dacs in one halfstave.
ChN | - channel number | |
ChipSelect- | 10 bit number saying which chips we want to change in this scan (00000001) means we will put all chips except number 0 in bypass | |
DACVect | - array with the different values 44*10 dac values | |
pixInChain | - parameter defining the chips in chain (if any chip is being skiped in the chain) |
UInt32 ** HSJTAGStreams::SetJTSPixelMatrix | ( | UInt32 | ChipSelect, | |
UInt32 * | Matrix, | |||
bool | All, | |||
bool | TP, | |||
UInt32 | pixInChain = 1023 | |||
) |
Function to get the jtag vectors to set a pixel matrix i nthe pixel chips, test pulse or mask.
function to get the jtag vectors to set the analog pilot dacs
function to get the jtag vectors to send the start conversion of the API ADC
method to get the vectors for digital pilot registers
method to get the vectors for setting the internal dpi register
method to get the vectors to read the analog pilot dacs
method to get the vectors to read the analog pilot ADCs
method to get the vectors to read the digital pilot registers
method to get the vec tors to read the DPI internal registers
method to get the vector to send IR reset to the pixels
UInt32 HSJTAGStreams::IRIstrucVect[NInstructions][13] [private] |
UInt32 HSJTAGStreams::bitNumber [private] |
UInt32 HSJTAGStreams::ModeSel [private] |
UInt32* HSJTAGStreams::ScanVector [private] |
UInt8 HSJTAGStreams::JTOperation [private] |
Jtag operation 0 = DAC operation 1 = DAC with sense on 2 = set TP 3 = setMask
UInt8 HSJTAGStreams::SkipMode [private] |
skip mode in the mc
UInt32 HSJTAGStreams::GOLConfTemp [private] |
temporary pointer/keeper of data
UInt8* HSJTAGStreams::APIConfTemp [private] |
temporary pointer/keeper of data CAUTION: dangerous
UInt32* HSJTAGStreams::DPIConfTemp [private] |
temporary pointer/keeper of data CAUTION: dangerous