Skip to content
Snippets Groups Projects
testSLC.py 667 B
import argparse
from ctypes import *
import random

lli = CDLL("libpcie40.so")
slc_read = lli.pcie40_readfee32
slc_read.restype = c_ulong

parser = argparse.ArgumentParser( description = 'Test slow control: read/write random values in register 0x17' )
parser.add_argument('N',type=int,help='Number of events')

args = parser.parse_args()
result = 0 
lli.ecs_open( 0 , 2 )

random.seed()

nerr = 0 

for i in xrange( args.N ):
    data = random.randint( 0 , 0xFFFFFFFF )
    lli.pcie40_writefee32( 0 , 0x17 , data )
    result = slc_read( 0 , 0x17 )
    if result != data:
        nerr = nerr + 1

lli.ecs_close( 0 , 2 )

print 'Total number of errors = ' + str(nerr)