PatternGenerator
Python class to generate patterns for the Chip Test Board.
from slsdet import PatternGenerator
p = PatternGenerator()
p.SB(5)
p.PW()
p.SB(8,9)
p.PW()
p.CB(5)
Created a pattern like this:
patword 0x0000 0x0000000000000020
patword 0x0001 0x0000000000000320
patword 0x0002 0x0000000000000300
patioctrl 0x0000000000000000
patlimits 0x0000 0x0002
...
- class slsdet.PatternGenerator
Bases:
object
Class to generate a pattern for the SLS detector. Intents to as closely as possible mimic the old pattern generation in the C code.
- CB(*bits)
Clear one or several bits. Change will take affect with the next PW.
- CLOCK(bit, length=1, verbose=0)
- CLOCKS(bit, times=1, length=1, verbose=False)
clocks “bit” n “times”, every half clock is long “length” length is optional, default value is 1
- PW(x=1, verbose=False)
- SB(*bits)
Set one or several bits. Change will take affect with the next PW.
- load(fname)
Load pattern from text file
- print()
- save(fname)
Save pattern to text file
- send_to_detector(det)
Load the pattern into the detector.
- serializer(value, serInBit, clkBit, nbits, msbfirst=1, length=1)
Produces the .pat file needed to serialize a word into a shift register. value: value to be serialized serInBit: control bit corresponding to serial in clkBit: control bit corresponding to the clock nbits: number of bits of the target register to load msbfirst: if 1 pushes in the MSB first (default), if 0 pushes in the LSB first length: length of all the PWs in the pattern It produces no output because it modifies directly the members of the class pat via SB and CB
- setinput(bit)
- setinputs(*args)
- setnloop(i, reps)
- setoutput(bit)
- setoutputs(*args)
- setstart()
Set start of pattern to the current address.
- setstartloop(i)
Set startloop[i] to the current address.
- setstop(l)
Set stop of pattern to the current address.
- setstoploop(i)
Set stoploop[i] to the current address.
- setwait(i, t)
Set wait[i] to the current address and waittime[i] to t.
- setwaitpoint(i)
Set wait[i] to the current address.
- setwaittime(i, t)
Set waittime[i] to t.