##// END OF EJS Templates
Fusion
Fusion

File last commit:

r9:0cad6347e265 default
r11:c08a29e29fbf merge tip default
Show More
read_data.py
80 lines | 3.0 KiB | text/x-python | PythonLexer
import numpy as np
from __main__ import RMAPPlugin0
from test_fft.register_addresses import *
import test_fft.print_custom as prnt
def read_SM_Re( nbFrequencyBins, address_MEM_OUT_SM ):
currentComp_re = np.zeros( nbFrequencyBins )
if address_MEM_OUT_SM == FFT_SM_MEM_OUT_SM_0:
mask_REN = mask_REN_FIFO_0
elif address_MEM_OUT_SM == FFT_SM_MEM_OUT_SM_1:
mask_REN = mask_REN_FIFO_1
else:
prnt.print_custom( "ERR *** read_SM_Re *** unexpected address_MEM_OUT_SM" )
for frequencyBin in range(nbFrequencyBins):
# read Re
RMAPPlugin0.Write( FFT_SM_MEM_OUT_SM_CTRL, [mask_REN] )
val = RMAPPlugin0.Read( address_MEM_OUT_SM, 1)
currentComp_re[frequencyBin] = val[0]
RMAPPlugin0.ProcessPendingEvents()
return currentComp_re
def read_SM_Re_Im( nbFrequencyBins, address_MEM_OUT_SM ):
currentComp_re = np.zeros( nbFrequencyBins )
currentComp_im = np.zeros( nbFrequencyBins )
if address_MEM_OUT_SM == FFT_SM_MEM_OUT_SM_0:
mask_REN = mask_REN_FIFO_0
elif address_MEM_OUT_SM == FFT_SM_MEM_OUT_SM_1:
mask_REN = mask_REN_FIFO_1
else:
prnt.print_custom( "ERR *** read_SM_Re_Im *** unexpected address_MEM_OUT_SM" )
for frequencyBin in range(nbFrequencyBins):
# read Re
RMAPPlugin0.Write( FFT_SM_MEM_OUT_SM_CTRL, [mask_REN] )
val = RMAPPlugin0.Read( address_MEM_OUT_SM, 1)
currentComp_re[frequencyBin] = val[0]
# read Im
RMAPPlugin0.Write( FFT_SM_MEM_OUT_SM_CTRL, [mask_REN] )
val = RMAPPlugin0.Read( address_MEM_OUT_SM, 1)
currentComp_im[frequencyBin] = val[0]
RMAPPlugin0.ProcessPendingEvents()
return (currentComp_re, currentComp_im)
def read_SM_ONLY_Re( nbFrequencyBins, address_MEM_OUT_SM ):
currentComp_re = np.zeros( nbFrequencyBins )
if address_MEM_OUT_SM == SM_ONLY_MEM_OUT_SM_0:
mask_REN = mask_REN_FIFO_0
elif address_MEM_OUT_SM == SM_ONLY_MEM_OUT_SM_1:
mask_REN = mask_REN_FIFO_1
else:
prnt.print_custom( "ERR *** read_SM_ONLY_Re *** unexpected address_MEM_OUT_SM" )
for frequencyBin in range(nbFrequencyBins):
# read Re
RMAPPlugin0.Write( SM_ONLY_MEM_OUT_CTRL, [mask_REN] )
val = RMAPPlugin0.Read( address_MEM_OUT_SM, 1)
currentComp_re[frequencyBin] = val[0]
RMAPPlugin0.ProcessPendingEvents()
return currentComp_re
def read_SM_ONLY_Re_Im( nbFrequencyBins, address_MEM_OUT_SM ):
currentComp_re = np.zeros( nbFrequencyBins )
currentComp_im = np.zeros( nbFrequencyBins )
if address_MEM_OUT_SM == SM_ONLY_MEM_OUT_SM_0:
mask_REN = mask_REN_FIFO_0
elif address_MEM_OUT_SM == SM_ONLY_MEM_OUT_SM_1:
mask_REN = mask_REN_FIFO_1
else:
prnt.print_custom( "ERR *** read_SM_ONLY_Re_Im *** unexpected address_MEM_OUT_SM" )
for frequencyBin in range(nbFrequencyBins):
# read Re
RMAPPlugin0.Write( SM_ONLY_MEM_OUT_CTRL, [mask_REN] )
val = RMAPPlugin0.Read( address_MEM_OUT_SM, 1)
currentComp_re[frequencyBin] = val[0]
# read Im
RMAPPlugin0.Write( SM_ONLY_MEM_OUT_CTRL, [mask_REN] )
val = RMAPPlugin0.Read( address_MEM_OUT_SM, 1)
currentComp_im[frequencyBin] = val[0]
RMAPPlugin0.ProcessPendingEvents()
return (currentComp_re, currentComp_im)