print
print "--=======================================--"
print "-> BOARD USER INFORMATION"
print "--=======================================--"
print

sys.stdout.flush()
for olink in range(NGTX):
        print "--=====GTX%d==============================--"%(olink)
        errorCounts = []
        SAMPLE_TIME = 1.
        for trial in range(options.errorRate):
                errorCounts.append(calculateLinkErrors(True,glib,olink,SAMPLE_TIME))
        sys.stdout.flush()
        
        rates = errorRate(errorCounts,SAMPLE_TIME)
        print "-> TRK: 0x%08x  (%6.2f%1sHz)"%(rates["TRK"][0],rates["TRK"][1],rates["TRK"][2])
        print "-> TRG: 0x%08x  (%6.2f%1sHz)"%(rates["TRG"][0],rates["TRG"][1],rates["TRG"][2])
        print 
        
        sys.stdout.flush()
        print "-> Counters    %8s     %8s     %8s     %8s"%("L1A","Cal","Resync","BC0")
        counters = glibCounters(glib,olink)
        print "   %8s  0x%08x   0x%08x   0x%08x   0x%08x"%(
                "",
                counters["T1"]["L1A"],
                counters["T1"]["CalPulse"],
                counters["T1"]["Resync"],
                counters["T1"]["BC0"])
print "--=======================================--"
sys.stdout.flush()
print
print "--=======================================--"
print "-> BOARD USER INFORMATION"
print "--=======================================--"
print

sys.stdout.flush()
for olink in range(NGTX):
    print "--=====GTX%d==============================--" % (olink)
    errorCounts = []
    SAMPLE_TIME = 1.
    for trial in range(options.errorRate):
        errorCounts.append(calculateLinkErrors(True, glib, olink, SAMPLE_TIME))
    sys.stdout.flush()

    rates = errorRate(errorCounts, SAMPLE_TIME)
    print "-> TRK: 0x%08x  (%6.2f%1sHz)" % (rates["TRK"][0], rates["TRK"][1],
                                            rates["TRK"][2])
    print "-> TRG: 0x%08x  (%6.2f%1sHz)" % (rates["TRG"][0], rates["TRG"][1],
                                            rates["TRG"][2])
    print

    sys.stdout.flush()
    print "-> Counters    %8s     %8s     %8s     %8s" % ("L1A", "Cal",
                                                          "Resync", "BC0")
    counters = glibCounters(glib, olink)
    print "   %8s  0x%08x   0x%08x   0x%08x   0x%08x" % (
        "", counters["T1"]["L1A"], counters["T1"]["CalPulse"],
        counters["T1"]["Resync"], counters["T1"]["BC0"])
print "--=======================================--"
sys.stdout.flush()
Example #3
0
        #writeRegister(glib,"GLIB.GLIB_LINKS.LINK%d.TrgSrc"%(link),options.trgSrc)
        print "-> GLIB link%d trigger source:   0x%x" % (
            link, readRegister(glib, "GLIB.GLIB_LINKS.LINK%d.TrgSrc" % (link)))
if options.sbitSrc in [1, 2, 3, 4, 5, 6]:
    for link in (links.keys()):
        writeRegister(glib, "GLIB.GLIB_LINKS.LINK%d.TDC_SBit" % (link),
                      options.sbitSrc)
        print "-> GLIB link%d SBit to TDC: 0x%x" % (
            link, readRegister(glib, "GLIB.GLIB_LINKS.LINK%d.TDC_SBit" %
                               (link)))

sys.stdout.flush()
print
print "--=======================================--"
print "-> GLIB link num: %10s  %12s    %10s    %10s    %10s    %10s    %10s" % (
    "ErrCnt", "(rate)", "FIFO_Occ", "I2CRecCnt", "I2CSndCnt", "RegRecCnt",
    "RegSndCnt")
sys.stdout.flush()

for link in (links.keys()):
    readTrackingInfo(glib, links[link])
    rates = errorRate(errorCounts[link], SAMPLE_TIME)
    counters = linkCounters(True, glib, False)
    print "-> link%d        : 0x%08x   (%6.2f%1sHz)    0x%08x    0x%08x    0x%08x    0x%08x    0x%08x" % (
        link, counters["LinkErrors"], rates[0], rates[1],
        counters["TRK_FIFO_Depth"], counters["RecI2CRequests"],
        counters["SntI2CRequests"], counters["RecRegRequests"],
        counters["SntRegRequests"])
print "--=======================================--"
sys.stdout.flush()
	counters = linkCounters(False,optohybrid,links[link],False)
	print "-> link%d     0x%08x   0x%08x   0x%08x   0x%08x   0x%08x"%(links[link],
									  counters["L1A"],
									  counters["Cal"],
									  counters["Resync"],
									  counters["BC0"],
									  counters["BXCount"])
	
print
print
print "--=======================================--"
print "-> OH link num: %10s  %12s    %10s    %10s    %10s    %10s"%("ErrCnt","(rate)",
								    "I2CRecCnt","I2CSndCnt",
								    "RegRecCnt","RegSndCnt")
for link in (links.keys()):
	rates = errorRate(errorCounts[links[link]],SAMPLE_TIME)
	counters = linkCounters(False,optohybrid,links[link],False)
	print "-> link%d      : 0x%08x   (%6.2f%1sHz)    0x%08x    0x%08x    0x%08x    0x%08x"%(links[link],
												counters["LinkErrors"],
												rates[0],rates[1],
												counters["RecI2CRequests"],
												counters["SntI2CRequests"],
												counters["RecRegRequests"],
												counters["SntRegRequests"])
exit(1)
print
vfatRange = ["0-7","8-15","16-23"]
for link in (links.keys()):
	print "FIFO%d depth = %d"%(link,readRegister(glib,"GLIB.GLIB_LINKS.LINK%d.TRK_FIFO.DEPTH"%(link)))
	print "vfat (%s) have data: 0x%x"%(link,readRegister(optohybrid,"OptoHybrid.GEB.TRK_DATA.COL%d.DATA_RDY%d"%(link)))