Overview | Releases | Download | Docs | Links | Help | RecentChanges

TApi

A ROOT library providing access to the SctApi.

This is by far the easiest way to do low level debugging.

There are many TApiMacros which set up scans.

Providing debug information for a histogram:

 // Load useful auxilliary functions
 .X Functs.cxx
 clearSlaveMemory(slave, 0xa00a2000, 0x10000);
 // Set auto-stall bit in MDSP control register
 tapi.setDebugOption("scan_auto_stall");
 tapi.standardRegisterDump(0, 0, 0); // Assuming on the first ROD
 tapi.doScan(scan);
 tapi.standardRegisterDump(0, 0, 0);
 tapi.debugStepHistogram();
 // Watch text buffers for relevant information
 tapi.debugStepHistogram();
 tapi.standardRegisterDump(0, 0, 0);

The primitives sent during this run are saved in $SCT_SCRATCH_DIR/PrimLists? if debug option "save_histogram" is on (it is set in init.cxx). These can be "decoded" by running:

 SctApi/tests/PrimList file/name/to/PrimList.bin

Providing data for simulation via input FIFOs:

 tapi.setDebugOption("save_raw_capture");
 // Set up modules for particular configuration
 // Possiblyt send an ECR & BCR to synchronise multiple modules
 tapi.probe(0, 0, 0);

The capture files will be saved to $SCT_SCRATCH_DIR/Captures. RawCaptureA? stores the low 48 channels, RawCaptureB? stores the upper 48 channels.