Skip to content
Snippets Groups Projects
Commit 24d02b32 authored by Patrick Robbe's avatar Patrick Robbe
Browse files

Test B2L with Front-End and DMA

parent ecf33cdf
No related branches found
No related tags found
No related merge requests found
......@@ -60,11 +60,13 @@ def _crc16(data, crc, table):
def decode_data( dataraw , data ):
# Remove intermediate lines
datalsb = list( itertools.islice( dataraw , 0 , None , 16 ) )
datamsb = list( itertools.islice( dataraw , 8 , None , 16 ) )
datamsb = list( itertools.islice( dataraw , 0 , None , 16 ) )
datalsb = list( itertools.islice( dataraw , 8 , None , 16 ) )
# Group in 32 bit words
data += [ ( ( x & 0xFFFF ) | ( ( y & 0xFFFF ) << 8 ) ) for x, y in zip( datalsb, datamsb) ]
return 0
data += [ ( ( x & 0xFFFF ) | ( ( y & 0xFFFF ) << 16 ) ) for x, y in zip( datalsb, datamsb) ]
# Find beginning and end of event
size = [ i for i, n in enumerate( data ) if n == data[0] ][1] + 2
return size
import socket
hname = socket.gethostname()
......@@ -97,20 +99,16 @@ for nev in range( 1 ):
dma_read( 0 , dataraw )
size = decode_data( dataraw , data )
print data
print "Number of words received = {0}".format( size )
if size == 0:
print 'Not enough data read, exit'
exit( 0 )
for i in range( size / 2 + 1 ):
status, val = mem.read( 0 , 0x00050060 )
data.append( ( ( val & 0xFFFF ) << 16 ) | ( ( val & 0xFFFF0000 ) >> 16 ) )
if ( i <= size / 2 - 3) :
data_crc.append( ( val & 0xFFFF ) )
data_crc.append( ( val & 0xFFFF0000 ) >> 16 )
for i in range( size ):
if ( i <= (size-3)) :
data_crc.append( ( data[ i ] & 0xFFFF0000 ) >> 16 )
data_crc.append( ( data[ i ] & 0xFFFF ) )
# Display data:
print '==================================='
......@@ -123,15 +121,15 @@ for nev in range( 1 ):
print 'FEE: data #0 {0:08x}'.format(data[5])
print 'FEE: data #1 {0:08x}'.format(data[6])
print 'FEE: ..........'
print 'FEE: data #{0} {1:08x}'.format(size/2-7,data[size/2-3])
print 'FEE: data #{0} {1:08x}'.format(size-7,data[size-3])
print '-----------------------------------'
print 'B2L: {0:08x}'.format(data[size/2-2])
print 'B2L: {0:08x}'.format(data[size/2-1])
print 'B2L: {0:08x}'.format(data[size-2])
print 'B2L: {0:08x}'.format(data[size-1])
print '==================================='
print ''
print 'CRC = {0:04x}'.format(data[size/2]&0xFFFF)
print 'CRC = {0:04x}'.format(data[size-1]&0xFFFF)
print 'Computed CRC {0:04x}'.format(_crc16( data_crc, 0xffff , CRC16_XMODEM_TABLE ) )
if ( data[size/2-1]&0xFFFF ) != ( _crc16( data_crc, 0xffff , CRC16_XMODEM_TABLE ) ):
if ( data[size-1]&0xFFFF ) != ( _crc16( data_crc, 0xffff , CRC16_XMODEM_TABLE ) ):
print 'Error in CRC comparison'
nErr = nErr + 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment