Functionality-Check Functions


Functions

int fwTell1_chkCCPC (string Tell1Name, string &CCPC, dyn_int &Version)
int fwTell1_chkCFG (string CCPC)
int fwTell1_chkGBE (string Tell1Name)
int fwTell1_chkTTC (string Tell1Name)
int fwTell1_chkORx (string Tell1Name)
int fwTell1_chkARx (string Tell1Name)
int fwTell1_chkProcessing (string Tell1Name)
int fwTell1_chkFlow (string Tell1Name)
int fwTell1_chkMemory (string Tell1Name)
int fwTell1_chkCFG_dist (string Tell1Name)

Detailed Description

List of functions to evaluate the status of the Tell1 boards. Used for testing, whether they are operational and functional. The input parameter of these functions will always be the hardware name (datapoint name). The functions will just work, if the board is subscribed! These functions are used for the board evaluation on the device unit panels.

Function Documentation

int fwTell1_chkARx ( string  Tell1Name  ) 

Checks if ARx is operational - e.g. the DACs are connected and are accessible via ECS.

Parameters:
[in] Tell1Name The name of the hardware (Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured -1 read access of registers failed 1 DAC0 not plugged 2 DAC1 not plugged 4 DAC2 not plugged 8 DAC3 not plugged up to 15 any combination of the error code below e.g. 3 DAC0 & DAC1 not plugged
Example:

  (...)
  if(fwTell1_chkARx("myTell1") > 0)
     DebugTN("WARNING: Some DACs may not be plugged!");
  (...)



int fwTell1_chkCCPC ( string  Tell1Name,
string &  CCPC,
dyn_int &  Version 
)

Checks if the CCPC is running by checking the invalid bit of the 'common.operationStatus' service.

Parameters:
[in] string Tell1Name the name of the hardware (Tell1 board).
[out] string CCPC name of the CCPC found for Tell1 board.
[out] dyn_string Version the version of the server running - first element: version, second element: release, third element: package.
Returns:
int the errorcode of this library: 0 no error occured and server is running -1 error related to ECS interaction 1 server is down
Example:

  (...)
  string CCPC;
  dyn_int Version;
     if(fwTell1_chkCCPC("myTell1", CCPC, Version) == 0)
        DebugN("Server found!");
        DebugN("CCPC: " + CCPC);
        DebugN("Version: " + Version);
  (...)



int fwTell1_chkCFG ( string  CCPC  ) 

Checks if the .cfg file was written propperly by evaluating a part of a certain register. The function is not supported for distributed systems.

Parameters:
[in] CCPC name of the credit card PC.
Returns:
int the errorcode of this library: 0 if no error occured -1 LBUS access failed positive value (5-bit number): one bit per failed FPGA
Example:

  (...)
  string ccpc = "pctell07";

  if(fwTell1_chkCFG(ccpc))
     DebugTN("FPGAs are not configured propperly!");
  (...)



int fwTell1_chkCFG_dist ( string  Tell1Name  ) 

Checks if the .cfg file was written propperly by evaluating a part of a certain register. This function is supported for distributed systems.

Parameters:
[in] Tell1Name name of the hardware (datapoint of Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured -1 LBUS access failed positive value (5-bit number): one bit per failed FPGA
Example:

  (...)
  string ccpc = "myTell1";

  if(fwTell1_chkCFG_dist(Tell1Name))
     DebugTN("FPGAs are not configured propperly!");
  (...)



int fwTell1_chkFlow ( string  Tell1Name  ) 

Checks if data flow on Tell1 board is ok - e.g. whether throttles are arriving or not. The throttle counter is read twice with a pause of 100ms in between. The two values are checked whether they are equal or not.

Parameters:
[in] Tell1Name The name of the hardware (Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured -1 the counter register could not be read 1 throttles arrived (counter incremented within 100ms)
Example:

  (...)
  if(fwTell1_chkFlow("myTell1") > 0)
     DebugTN("WARNING: Throttles arriving!");
  (...)



int fwTell1_chkGBE ( string  Tell1Name  ) 

Checks if GBE is operational - it checks if ports are enabled and not plugged, which would lead to a data loss. And it checks if all ports are disabled.

Parameters:
[in] Tell1Name The name of the hardware (Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured -1 failed reading the registers 1 Port0 not plugged but enabled (data loss!) 2 Port1 not plugged but enabled (data loss!) 4 Port2 not plugged but enabled (data loss!) 8 Port3 not plugged but enabled (data loss!) up to 15 any combination of the error code below e.g. 3 --> Port0 & Port1 are not plugged but enabled 16 all ports are disabled on SL (no dataflow!)
Example:

  (...)
  if(fwTell1_chkGBE("myTell1") == 16)
     DebugTN("WARNING: All ports are disabled on SyncLink!");
  (...)



int fwTell1_chkMemory ( string  Tell1Name  ) 

Checks if memory on Tell1 board is ok - memory overflow occurs if the number of used bits exceeds a certain limit

Parameters:
[in] string Tell1Name The name of the hardware (Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured -1 registers could not be read >0 number of registers where memory overflow occured Example:
  (...)
  if(fwTell1_chkMemory("myTell1") > 0)
     DebugTN("WARNING: Memory Overflow!");
  (...)


int fwTell1_chkORx ( string  Tell1Name  ) 

Checks if ORx is operational - e.g. link is enabled and not in state error.

Parameters:
[in] Tell1Name The name of the hardware (Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured -1 registers could not be read 1 at least one link is enabled and in state error 2 all links are disabled
Example:
  (...)
  if(fwTell1_chkMemory("myTell1") > 0)
     DebugTN("WARNING: Memory Overflow!");
  (...)



int fwTell1_chkProcessing ( string  Tell1Name  ) 

Checks if processing on Tell1 board is ok - the counter registers are frozen and compared.

Parameters:
[in] Tell1Name The name of the hardware (Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured (all 4 counters equal) -1 registers could not be read 1 Counters are not equal
Example:
  (...)
  if(fwTell1_chkProcessing("myTell1") == 1)
     DebugTN("WARNING: Counter mismatch on FPGAs - processing might be corrupted! Please check Proc. Mon. panel.");
  (...)



int fwTell1_chkTTC ( string  Tell1Name  ) 

Checks if TTC is operational (fibre is plugged). If fibre is unplugged the I2C interface is pertubated. This function is reading 3-times from the status register. In addition the last two bits from the status register are checked.

Parameters:
[in] Tell1Name The name of the hardware (Tell1 board).
Returns:
int the errorcode of this library: 0 if no error occured 1 clock or data recovery circuit not locked on incoming data stream 2 high-resolution phase shifters not working propperly! 3 both bits are set -1 I2C-read of status register failed (minimum once out of three trials)
Example:

  (...)
  if(fwTell1_chkTTC("myTell1"))
     DebugTN("WARNING: Fibre might not be plugged on TTC!"
  (...)




Generated on Thu Dec 13 01:29:59 2007 for FwTell1 by  doxygen 1.5.1-p1