|
|
#!/usr/bin/lppmon -e
|
|
|
|
|
|
####################
|
|
|
## BUILD THE DATA ##
|
|
|
####################
|
|
|
|
|
|
with open('/opt/DEV_PLE/FSW-qt/bin/spectralmatrix/asm_f0_test_20140403_case2.txt', 'r') as f:
|
|
|
listOfLines = []
|
|
|
for line in f.readlines():
|
|
|
listOfLines.append(line)
|
|
|
|
|
|
data = listOfLines[10] # line 10 contains the data
|
|
|
data = data.split() # get the data from the global string
|
|
|
|
|
|
dataInFloat = []
|
|
|
nbData = len(data)
|
|
|
print "nbData = " + str(nbData)
|
|
|
for i in range( nbData ):
|
|
|
dataInFloat.append( float( data[i] ) ) # convert each string into a float
|
|
|
|
|
|
# reorganize the data to have a matrix in the VHDL format
|
|
|
# INPUT (ICD format)
|
|
|
# matrix_0[0 .. 24] matrix_1[0 .. 24] .. matrix_127[0 .. 24]
|
|
|
# OUTPUT (VHDL format)
|
|
|
# component_0[0 .. 127] component_1[0 .. 127] .. component_24[0 .. 127]
|
|
|
|
|
|
dataInFloatReorganized = []
|
|
|
dataInIntReorganized = []
|
|
|
nbComponentsByMatrix = 25
|
|
|
nbFrequencyBins = 128
|
|
|
for indexComponent in range(nbComponentsByMatrix):
|
|
|
for frequencyBin in range(nbFrequencyBins):
|
|
|
dataInFloatReorganized.append(
|
|
|
dataInFloat[ indexComponent + frequencyBin * nbComponentsByMatrix ]
|
|
|
)
|
|
|
dataInIntReorganized.append(
|
|
|
int( dataInFloat[ indexComponent + frequencyBin * nbComponentsByMatrix ] )
|
|
|
)
|
|
|
|
|
|
####################
|
|
|
## WRITE THE DATA ##
|
|
|
####################
|
|
|
|
|
|
# F0 buffer address
|
|
|
address_to_read = 0x80000f08
|
|
|
val = RMAPPlugin0.Read( address_to_read, 1)
|
|
|
matrixF0_Address0 = val[0]
|
|
|
|
|
|
# F1 buffer address
|
|
|
address_to_read = 0x80000f10
|
|
|
val = RMAPPlugin0.Read( address_to_read, 1)
|
|
|
matrixF1_Address = val[0]
|
|
|
|
|
|
# F2 buffer address
|
|
|
address_to_read = 0x80000f14
|
|
|
val = RMAPPlugin0.Read( address_to_read, 1)
|
|
|
matrixF2_Address = val[0]
|
|
|
|
|
|
print str( len(dataInIntReorganized) ) + " data to write"
|
|
|
RMAPPlugin0.Write( matrixF0_Address0, dataInIntReorganized )
|
|
|
print str( len(dataInIntReorganized) ) + " data written @" + hex(matrixF0_Address0)
|
|
|
RMAPPlugin0.Write( matrixF1_Address, dataInIntReorganized )
|
|
|
print str( len(dataInIntReorganized) ) + " data written @" + hex(matrixF1_Address)
|
|
|
RMAPPlugin0.Write( matrixF2_Address, dataInIntReorganized )
|
|
|
print str( len(dataInIntReorganized) ) + " data written @" + hex(matrixF2_Address)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|