# Convert str to bool
argBool = lambda s: s.lower() in ['true', 't', 'yes', '1']

# Add arguments
parser.add_argument(
    "--ip", 
    nargs    ='+',
    required = True,
    help     = "List of IP addresses",
)  
# Get the arguments
args = parser.parse_args()

# Setup root class
top = feb.Top(ip= args.ip)    

# Load the default YAML file
print(f'Loading {Configuration_LOAD_file} Configuration File...')
top.LoadConfig(arg = Configuration_LOAD_file)

if DebugPrint:
    # Tap the streaming data interface (same interface that writes to file)
    debugStream = feb.PrintEventReader()    
    pyrogue.streamTap(top.dataStream[0], debugStream) # Assuming only 1 FPGA

# Create the data reader streaming interface
dataReader = top.dataStream[0]
# Create the Event reader streaming interface
dataStream = feb.MyPixelReader()
# Connect the file reader ---> event reader
Example #2
0
    type=str,
    required=True,
    help="path to mcs file",
)

# Get the arguments
args = parser.parse_args()

#################################################################

# Set base
base = pr.Root(name='base', description='')

# Add Base Device
base.add(feb.Top(
    dev=args.dev,
    port=args.port,
))

# Start the system
base.start(pollEn=False)

# Create useful pointers
AxiVersion = base.Top.AxiVersion
PROM = base.Top.AxiMicronN25Q

print('###################################################')
print('#                 Old Firmware                    #')
print('###################################################')
AxiVersion.printStatus()

# Program the FPGA's PROM
Example #3
0
parser.add_argument(
    "--initRead", 
    type     = argBool,
    required = False,
    default  = False,
    help     = "Enable read all variables at start",
)  

# Get the arguments
args = parser.parse_args()

#################################################################

# Set base
base = feb.Top(hwType='simulation')    

# Start the system
base.start(
    pollEn   = args.pollEn,
    initRead = args.initRead,
    timeout  = 5.0,    
)

# Create GUI
appTop = pr.gui.application(sys.argv)
guiTop = pr.gui.GuiTop(group='rootMesh')
appTop.setStyle('Fusion')
guiTop.addTree(base)
guiTop.resize(600, 800)
argBool = lambda s: s.lower() in ['true', 't', 'yes', '1']

# Add arguments
parser.add_argument(
    "--ip",
    nargs='+',
    required=True,
    help="List of IP addresses",
)
# Get the arguments
args = parser.parse_args()

#################################################################
# Setup root class
top = feb.Top(
    ip=args.ip,
    userYaml=[Configuration_LOAD_file],
)

if DebugPrint:
    top.Fpga[0].AxiVersion.printStatus()
    # Tap the streaming data interface (same interface that writes to file)
    dataStream = feb.PrintEventReader()
    pyrogue.streamTap(top.dataStream[0], dataStream)  # Assuming only 1 FPGA

# Data Acquisition for TOA and TOT
if DataAcqusitionTOA == 1:
    acquire_data(DelayRange_low, DelayRange_high, DelayRange_step, top,
                 top.Fpga[0].Asic.Gpio.DlyCalPulseSet, 'TOA', NofIterationsTOA,
                 dataStream)

top.Fpga[0].Asic.Gpio.DlyCalPulseSet.set(DelayValueTOT)
Example #5
0
parser.add_argument(
    "--initRead",
    type=argBool,
    required=False,
    default=True,
    help="Enable read all variables at start",
)

# Get the arguments
args = parser.parse_args()

#################################################################

# Set base
base = feb.Top(name='rceServer',
               dev='/dev/axi_stream_dma_2',
               hwType=args.hwType)

# Start the system
base.start(
    pollEn=args.pollEn,
    initRead=args.initRead,
    pyroGroup='rce',
    pyroAddr=socket.gethostbyname(socket.gethostname()),  # RCE IP  
    timeout=1.0,
)


# Close window and stop polling
def stop():
    base.stop()
Example #6
0
    default  = False,
    help     = "Displays live plots of pixel information",
)  

# Get the arguments
args = parser.parse_args()

#################################################################

# Setup root class
print(args.ip)
top = feb.Top(
    ip          = args.ip,
    pollEn      = args.pollEn,
    initRead    = args.initRead,       
    loadYaml    = args.loadYaml,       
    defaultFile = args.defaultFile,       
    userYaml    = args.userYaml,       
    refClkSel   = args.refClkSel,       
)    

# Create the Event reader streaming interface
if (args.printEvents):
    eventReader = feb.PrintEventReader()

    # Connect the file reader to the event reader
    pr.streamTap(top.dataStream[0], eventReader) 

# Create Live Display
live_display_resets = []
if args.liveDisplay:
parser.add_argument(
    "--mcs",
    type=str,
    required=True,
    help="path to mcs file",
)

# Get the arguments
args = parser.parse_args()

#################################################################

# Setup root class
top = feb.Top(
    ip=args.ip,
    pollEn=False,
    initRead=False,
    configProm=True,
)

# Loop through the devices
for i in range(top.numEthDev):

    # Create useful pointers
    AxiVersion = top.Fpga[i].AxiVersion
    PROM = top.Fpga[i].AxiMicronN25Q

    print('###################################################')
    print('#                 Old Firmware                    #')
    print('###################################################')
    AxiVersion.printStatus()
Example #8
0
parser.add_argument(
    "--initRead", 
    type     = argBool,
    required = False,
    default  = True,
    help     = "Enable read all variables at start",
)  

# Get the arguments
args = parser.parse_args()

#################################################################

# Set base
base = feb.Top(hwType='eth',ip=args.ip)    

# Start the system
base.start(
    pollEn   = args.pollEn,
    initRead = args.initRead,
    timeout  = 1.0,
)

# Create GUI
appTop = pr.gui.application(sys.argv)
guiTop = pr.gui.GuiTop(group='rootMesh')
appTop.setStyle('Fusion')
guiTop.addTree(base)
guiTop.resize(600, 800)