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()
#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)))