Ejemplo n.º 1
0
 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
Ejemplo n.º 2
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.')
Ejemplo n.º 3
0
#!/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):