def __init__(self, ppm_order, handle): self.ppm_order = ppm_order self.memory = mem.MemoryMap() self.handle = handle self.data = [] self.bytes = [] self.ones = 0 self.errors = 0
import math import fl import argparse import time import struct import csv from datetime import datetime from node import NodeFPGA import sys import memorymap import dac import edfa import alignment DEBUG = False memMap = memorymap.MemoryMap() # File-reader which yields chunks of data def readFile(fileName): with open(fileName, "rb") as f: while True: chunk = f.read(32768) if chunk: yield chunk else: break parser = argparse.ArgumentParser( description='Load FX2LP firmware, load the FPGA, interact with the FPGA.')
#!/usr/bin/env python import spidev import memorymap spi_freq = 1000000 edfa_timeout = 1000 registers = memorymap.MemoryMap() status = registers.get_register('flg') edfa_tx = registers.get_register('etx') edfa_rx = registers.get_register('erx') def xfer(spi, addr, write_flag, value): rx = [] zero = [0, 0] tx = [(addr & 0x7F) | ((write_flag & 1) << 7), (value & 0xFF)] try: spi.xfer(tx, spi_freq) rx = spi.xfer(zero, spi_freq) except: pass if len(rx) == 2: addr = int(rx[0] & 0x7F) value = int(rx[1]) else: addr = 0 value = 0 return addr, value def xfer_once(addr, write_flag, value):