Esempio n. 1
0
def _makeSimpleDemux():
    # 1 mode, 1 capture
    # No delay
    menu = mp7.ReadoutMenu(4, 2, 4)

    menu.bank(1).wordsPerBx = 6
    menu.bank(2).wordsPerBx = 6

    # Triggers on every event
    mode = menu.mode(0)

    mode.eventSize = 0
    mode.eventToTrigger = 1
    mode.eventType = 0xc0
    mode.tokenDelay = 70

    # Even, bank id 1, +0bx
    c = mode[0]
    c.enable = True
    c.id = 0x1
    c.bankId = 0x2
    c.length = 1
    c.delay = 0
    c.readoutLength = 6

    return menu
Esempio n. 2
0
def _makeSimpleMPs():
    # 1 mode, 1 capture
    # No delay
    menu = mp7.ReadoutMenu(4, 2, 4)

    menu.bank(1).wordsPerBx = 6
    menu.bank(2).wordsPerBx = 6

    # Triggers on every event
    mode = menu.mode(0)

    mode.eventSize = 0
    mode.eventToTrigger = 1
    mode.eventType = 0xde
    mode.tokenDelay = 70

    # Outputs, bank id 0x2, 1 bx
    c = mode[0]
    c.enable = True
    c.id = 0x1
    c.bankId = 0x2
    c.length = 2
    c.delay = 0
    c.readoutLength = 8

    return menu
Esempio n. 3
0
def _makeValidationDemux5BX():
    # 1 mode, 1 capture
    # No delay
    menu = mp7.ReadoutMenu(4, 2, 4)

    menu.bank(1).wordsPerBx = 6
    menu.bank(2).wordsPerBx = 6

    # Triggersevery 107 events
    mode = menu.mode(0)

    mode.eventSize = 0
    mode.eventToTrigger = 107
    mode.eventType = 0xc0
    mode.tokenDelay = 70

    # Outputs, bankId 2, 5 Bxs
    c = mode[0]
    c.enable = True
    c.id = 0x1
    c.bankId = 0x2
    c.length = 5
    c.delay = 0
    c.readoutLength = 30

    # Inputs, bankId 2, 1 Bx
    c = mode[1]
    c.enable = True
    c.id = 0x2
    c.bankId = 0x1
    c.length = 2
    c.delay = 0
    c.readoutLength = 8

    # Triggers on every event
    mode = menu.mode(1)

    mode.eventSize = 0
    mode.eventToTrigger = 1
    mode.eventType = 0xde
    mode.tokenDelay = 70

    # Outputs, bankId 2, 5 Bxs
    c = mode[0]
    c.enable = True
    c.id = 0x2
    c.bankId = 0x2
    c.length = 5
    c.delay = 0
    c.readoutLength = 30

    return menu
Esempio n. 4
0
def _makeValidationMPs():
    # 1 mode, 1 capture
    # No delay
    menu = mp7.ReadoutMenu(4, 2, 4)

    menu.bank(1).wordsPerBx = 6
    menu.bank(2).wordsPerBx = 6

    # Triggers every 107 event
    mode = menu.mode(0)

    mode.eventSize = 0
    mode.eventToTrigger = 107
    mode.eventType = 0xc0
    mode.tokenDelay = 70

    # Outputs, bank id 0x2, 1 bx
    c = mode[0]
    c.enable = True
    c.id = 0x1
    c.bankId = 0x2
    c.length = 2
    c.delay = 0
    c.readoutLength = 8

    # Inputs, bank id 0x2, 1 bx
    c = mode[1]
    c.enable = True
    c.id = 0x2
    c.bankId = 0x1
    c.length = 7
    c.delay = 0
    c.readoutLength = 40

    # Triggers on every event
    mode = menu.mode(1)

    mode.eventSize = 0
    mode.eventToTrigger = 1
    mode.eventType = 0xde
    mode.tokenDelay = 70

    # Even, bank id 1, +0bx
    c = mode[0]
    c.enable = True
    c.id = 0x1
    c.bankId = 0x2
    c.length = 2
    c.delay = 0
    c.readoutLength = 8

    return menu
Esempio n. 5
0
def _remakeMenu():

    baseMode = mp7.ReadoutMenu.Mode(4)

    # Common parameters
    # -----------------

    # Even, bank id 1, +0bx
    c = baseMode[0]
    c.enable = True
    c.bankId = 1
    c.id = 0

    # Odd, bank id 2, +0bx
    c = baseMode[1]
    c.enable = True
    c.bankId = 2
    c.id = 0

    # Odd, bank id 2, +9bx
    c = baseMode[2]
    c.enable = True
    c.bankId = 2
    c.id = 1

    # Outs, bank id 2, +0bx
    c = baseMode[3]
    c.enable = True
    c.bankId = 3
    c.id = 2

    s1Menu = mp7.ReadoutMenu(4, 2, 4)

    # Even inputs, 6 w per bx
    s1Menu.bank(1).wordsPerBx = 6
    # Odd inputs, 6 w per bx
    s1Menu.bank(2).wordsPerBx = 6
    # Outputs, 2 w per bx
    s1Menu.bank(3).wordsPerBx = 2

    s1Menu.setMode(0, baseMode)
    s1Menu.setMode(1, baseMode)

    # First trigger mode, Validation events
    # -------------------------------------

    m = s1Menu.mode(0)
    m.eventSize = 0
    m.eventToTrigger = 107
    m.eventType = 0x1
    m.tokenDelay = 70

    # Even, bank id 1, +0bx
    c = s1Menu.capture(0, 0)
    c.delay = 0
    c.length = 5
    c.readoutLength = 30

    # Odd, bank id 2, +0bx
    c = s1Menu.capture(0, 1)
    c.delay = 0
    c.length = 5
    c.readoutLength = 30

    # Odd, bank id 2, +9bx
    c = s1Menu.capture(0, 2)
    c.delay = 9
    c.length = 5
    c.readoutLength = 30

    # Outs, bank id 2, +0bx
    c = s1Menu.capture(0, 3)
    c.delay = 0
    c.length = 5
    c.readoutLength = 10

    # Second trigger mode, standard events
    # ------------------------------------

    m = s1Menu.mode(1)
    m.eventSize = 0
    m.eventToTrigger = 1
    m.eventType = 0x0
    m.tokenDelay = 70

    # Even, bank id 1, +0bx
    c = s1Menu.capture(1, 0)
    c.delay = 2  # 0+2 bx
    c.length = 1
    c.readoutLength = 6

    # Odd, bank id 2, +0bx
    c = s1Menu.capture(1, 1)
    c.delay = 2  # 0+2bx
    c.length = 1
    c.readoutLength = 6

    # Odd, bank id 2, +9bx
    c = s1Menu.capture(1, 2)
    c.delay = 11  # 9+2bx
    c.length = 1
    c.readoutLength = 6

    # Outs, bank id 2, +0bx
    c = s1Menu.capture(1, 3)
    c.delay = 0
    c.length = 5
    c.readoutLength = 10

    return s1Menu
Esempio n. 6
0
import mp7

##############################################################################
# Standard menu for running
# *IMPORTANT:* Reduce master latency by 2 BX (12 frames) for this menu!
# 2 bank ids
# 2 modes
# - mode 0 every 107th event
# - mode 1 all events
standardMenu = mp7.ReadoutMenu(4, 2, 4)

standardMenu.bank(1).wordsPerBx = 6
standardMenu.bank(2).wordsPerBx = 6

# First Mode
# Triggers every 107th event
mode = standardMenu.mode(0)

mode.eventSize = 0
mode.eventToTrigger = 107
mode.eventType = 0xd1
mode.tokenDelay = 70

# Even, bank id 1, +0bx
c = mode[0]
c.enable = True
c.id = 0x1
c.bankId = 0x1
c.length = 5
c.delay = 0
c.readoutLength = 30
Esempio n. 7
0
import mp7

#    __  ___              ___
#   /  |/  /__ ___  __ __/ _ |
#  / /|_/ / -_) _ \/ // / __ |
# /_/  /_/\__/_//_/\_,_/_/ |_|

# 1 mode, 1 capture
# No delay
menuA = mp7.ReadoutMenu(4, 2, 4)

menuA.bank(1).wordsPerBx = 6

# Triggers on every event
mode = menuA.mode(0)

mode.eventSize = 0
mode.eventToTrigger = 1
mode.eventType = 0xc0
mode.tokenDelay = 70

# Even, bank id 1, +0bx
c = mode[0]
c.enable = True
c.id = 0x1
c.bankId = 0x1
c.length = 1
c.delay = 0
c.readoutLength = 6

#    __  ___              ___   ____     __
Esempio n. 8
0
def _makeDemuxMenu():

    baseMode = mp7.ReadoutMenu.Mode(4)

    # Common parameters
    # -----------------

    # Outputs, bank id 2
    c = baseMode[0]
    c.enable = True
    #c.bankId = 2
    c.id = 0

    s2Menu = mp7.ReadoutMenu(4, 2, 4)  #NBanks, NModes, NCaptures

    # Inputs, 6 w per bx
    s2Menu.bank(1).wordsPerBx = 6
    # Outputs, 6 w per bx
    s2Menu.bank(2).wordsPerBx = 6

    s2Menu.setMode(0, baseMode)
    s2Menu.setMode(1, baseMode)

    # First trigger mode, Validation events
    # -------------------------------------

    m = s2Menu.mode(0)
    m.eventSize = 0
    m.eventToTrigger = 107
    m.eventType = 0x1
    m.tokenDelay = 30

    # Outputs, bank id 1, +0bx
    c = s2Menu.capture(0, 0)
    c.delay = 0
    c.length = 5
    c.readoutLength = 30

    c = s2Menu.capture(0, 1)
    c.delay = 0
    c.length = 5
    c.readoutLength = 30

    # Second trigger mode, standard events
    # ------------------------------------

    m = s2Menu.mode(1)
    m.eventSize = 0
    m.eventToTrigger = 1
    m.eventType = 0x0
    m.tokenDelay = 30

    # Outputs, bank id 2, +0bx
    c = s2Menu.capture(1, 0)
    c.delay = 0
    c.length = 5
    c.readoutLength = 30

    c = s2Menu.capture(1, 1)
    c.delay = 0
    c.length = 5
    c.readoutLength = 30

    return s2Menu
Esempio n. 9
0
import mp7

#    __  ___              ___
#   /  |/  /__ ___  __ __/ _ |
#  / /|_/ / -_) _ \/ // / __ |
# /_/  /_/\__/_//_/\_,_/_/ |_|

# 1 mode, 1 capture
# No delay
menuA = mp7.ReadoutMenu(4, 2, 4)

menuA.bank(1).wordsPerBx = 6

# Triggers on every event
mode = menuA.mode(0)

mode.eventSize = 0
mode.eventToTrigger = 1
mode.eventType = 0xc0
mode.tokenDelay = 70

# Even, bank id 1, +0bx
c = mode[0]
c.enable = True
c.id = 0x1
c.bankId = 0x1
c.length = 1
c.delay = 0
c.readoutLength = 6

#    __  ___              ___