From 4aacd9c31da9180c4665759549f7e0ac0525e9fc Mon Sep 17 00:00:00 2001
From: ROBBE Patrick <robbe@lal.in2p3.fr>
Date: Tue, 26 Mar 2019 10:07:49 +0100
Subject: [PATCH] Improve test script

---
 Scripts/testB2L.py | 53 ++++++++++++++++++++++++++--------------------
 1 file changed, 30 insertions(+), 23 deletions(-)

diff --git a/Scripts/testB2L.py b/Scripts/testB2L.py
index 2a06ea1..f69c631 100644
--- a/Scripts/testB2L.py
+++ b/Scripts/testB2L.py
@@ -54,18 +54,25 @@ def _crc16(data, crc, table):
         crc = ((crc<<8)&0xff00) ^ table[((crc>>8)&0xff)^byte1]
     return crc & 0xffff
 
-for nev in range( 100 ): 
+for nev in range( 10 ): 
 
-    # Send trigger
-    os.system( "ssh vme \"trigft -80 pulse 1 1\" >/dev/null 2>&1" )
+    # Send trigger (adapt this line to your system)
+    os.system( "ssh vme \"trigft -80 pulse 1 1\"" ) ### ADD this to suppress output >/dev/null 2>&1" )
 
     # wait for data to arrive
+    attempt = 0
     size = 0
     while size != 892: 
         status, val = mem.read( 0 , 0x00050080)
         size = val
+        attempt = attempt + 1
+        if attempt > 1000:
+            for i in range( 10000 ):
+                mem.read( 0 , 0x00050060 )
+            print 'Error in reading: try again now'
+            exit( 0 )
 
-    # print "Number of words received = {}".format( size )
+    print "Number of words received = {}".format( size )
 
     # read data
 
@@ -80,26 +87,26 @@ for nev in range( 100 ):
             data_crc.append( ( val & 0xFFFF0000 ) >> 16 )
 
     # Display data:
-    #print '==================================='
-    #print 'B2L: {:08x}'.format(data[0])
-    #print 'B2L: {:08x}'.format(data[1])
-    #print 'B2L: {:08x}'.format(data[2])
-    #print 'B2L: {:08x}'.format(data[3])
-    #print 'B2L: {:08x}'.format(data[4])
-    #print '-----------------------------------'
-    #print 'FEE: data #0 {:08x}'.format(data[5])
-    #print 'FEE: data #1 {:08x}'.format(data[6])
-    #print 'FEE:   ..........'
-    #print 'FEE: data #{} {:08x}'.format(size/2-7,data[size/2-4])
-    #print '-----------------------------------'
-    #print 'B2L: {:08x}'.format(data[size/2-3])
-    #print 'B2L: {:08x}'.format(data[size/2-2])
-    #print '==================================='
-    #print ''
-    # print 'CRC = {:04x}'.format(data[size/2-2]&0xFFFF)
-    # print 'Computed CRC {:04x}'.format(_crc16( data_crc, 0xffff , CRC16_XMODEM_TABLE ) )
+    print '==================================='
+    print 'B2L: {:08x}'.format(data[0])
+    print 'B2L: {:08x}'.format(data[1])
+    print 'B2L: {:08x}'.format(data[2])
+    print 'B2L: {:08x}'.format(data[3])
+    print 'B2L: {:08x}'.format(data[4])
+    print '-----------------------------------'
+    print 'FEE: data #0 {:08x}'.format(data[5])
+    print 'FEE: data #1 {:08x}'.format(data[6])
+    print 'FEE:   ..........'
+    print 'FEE: data #{} {:08x}'.format(size/2-7,data[size/2-4])
+    print '-----------------------------------'
+    print 'B2L: {:08x}'.format(data[size/2-3])
+    print 'B2L: {:08x}'.format(data[size/2-2])
+    print '==================================='
+    print ''
+    print 'CRC = {:04x}'.format(data[size/2-2]&0xFFFF)
+    print 'Computed CRC {:04x}'.format(_crc16( data_crc, 0xffff , CRC16_XMODEM_TABLE ) )
     if ( data[size/2-2]&0xFFFF ) != ( _crc16( data_crc, 0xffff , CRC16_XMODEM_TABLE ) ):
-        print 'ERREUR' 
+        print 'Error in CRC comparison' 
         nErr = nErr + 1 
 
 print 'number of errors = {}'.format( nErr ) 
-- 
GitLab