|
|
import numpy as np
|
|
|
|
|
|
from __main__ import RMAPPlugin0
|
|
|
|
|
|
def getWaveFromRecord( cwf, bufferSize, offset, column ):
|
|
|
yVector = cwf[(0+offset):(bufferSize+offset), column]
|
|
|
return yVector
|
|
|
|
|
|
def sineWave( bufferSize, nbPeriod, amplitude):
|
|
|
deltaX = nbPeriod * 2 * np.pi / bufferSize
|
|
|
xVector = np.arange( bufferSize ) * deltaX
|
|
|
yVector = np.int16( amplitude * np.sin( xVector ) )
|
|
|
return yVector
|
|
|
|
|
|
def continuous( bufferSize, value ):
|
|
|
tmpVector = np.empty( bufferSize )
|
|
|
tmpVector.fill( value )
|
|
|
yVector = np.int16( tmpVector )
|
|
|
return yVector
|
|
|
|
|
|
def generateDataToWrite( bufferSize, wfrm0, wfrm1 ):
|
|
|
dataVector = []
|
|
|
for k in range(bufferSize):
|
|
|
dataVector.append( ( wfrm1[k] << 16) + wfrm0[k] )
|
|
|
return dataVector
|
|
|
|
|
|
def print_reg_fft( address_CTRL ):
|
|
|
fft_reg = RMAPPlugin0.Read( address_CTRL, 1)
|
|
|
out_ren = (fft_reg[0] & 0x0000001f)
|
|
|
out_reuse = (fft_reg[0] & 0x000003e0) >> 5
|
|
|
out_locked = (fft_reg[0] & 0x00007c00) >> 10
|
|
|
MEM_IN_SM_Full = (fft_reg[0] & 0x000f8000) >> 15
|
|
|
MEM_IN_SM_Empty = (fft_reg[0] & 0x01f00000) >> 20
|
|
|
print "out_ren = " + bin( out_ren ) \
|
|
|
+ ", out_reuse = " + bin( out_reuse ) \
|
|
|
+ ", out_locked = " + bin( out_locked ) \
|
|
|
+ ", MEM_IN_SM_Full = " + bin( MEM_IN_SM_Full ) \
|
|
|
+ ", MEM_IN_SM_Empty = " + bin( MEM_IN_SM_Empty )
|
|
|
|