From 118850f81346a68d7abaf7a30a42e8f230a6c96a Mon Sep 17 00:00:00 2001
From: Jonathan Hargreaves <hargreaves@astron.nl>
Date: Thu, 12 Jul 2018 14:28:22 +0000
Subject: [PATCH] Change to call beamweights as a class

---
 .../commissioning/arts_sc4_tabs_weights.py    | 37 +++++++++++++------
 1 file changed, 25 insertions(+), 12 deletions(-)

diff --git a/applications/arts/commissioning/arts_sc4_tabs_weights.py b/applications/arts/commissioning/arts_sc4_tabs_weights.py
index 663acc34d5..290889839c 100644
--- a/applications/arts/commissioning/arts_sc4_tabs_weights.py
+++ b/applications/arts/commissioning/arts_sc4_tabs_weights.py
@@ -31,28 +31,41 @@
 """
 
 
-
-
-
 import math
 import pi_arts_tab_beamformer_weights
+from subprocess import Popen, PIPE
+from time import sleep
+import node_io
+import test_case
+
 
 num_dish = 10
 num_tabs = 12
+num_beamlets = 88
 #phases = [num_dish][num_tabs] * 0
-norm_factor = 255.0/math.sqrt(num_dish)
+norm_factor = 200.0/math.sqrt(num_dish)
+
+tc = test_case.Testcase('UTIL - ', '')
+tc.set_result('PASSED')
+tc.append_log(0, '>>> Title : Set TAB weights on %s' % tc.unb_nodes_string(''))
+io = node_io.NodeIO(tc.nodeImages, tc.base_ip)
+print "unb node nos  ", tc.unbNrs, tc.fnNrs, tc.bnNrs
+beamweights = pi_arts_tab_beamformer_weights.BeamformerWeights(tc,io)
+
+beamweights.set_cmd(cmd=3)
+beamweights.append=True
 
 tab_index = range( -int(math.floor(num_tabs/2)), int(math.floor((num_tabs)/2)) )
 beta = [float(eachelement) / float(num_tabs) for eachelement in tab_index]
 dishes = range(num_dish)
-phase_n = [[eachtab * float(eachdish) for eachdish in dishes] for eachtab in beta]
+phase = [[eachtab * float(eachdish) * 2 * math.pi for eachdish in dishes] for eachtab in beta]
 
+#for tab in range(num_tabs):
 for tab in range(num_tabs):
     for dish in range(num_dish):
-        weightre = norm_factor * math.cos( 2 * math.pi * phase_n[tab][dish])  
-        weightim = norm_factor * math.sin( 2 * math.pi * phase_n[tab][dish])  
-        print "tab ", tab , "   dish ", dish , "    phase ", 2 * math.pi * phase_n[tab][dish],  "    weight re, im ", weightre, weightim
-
-#print tab_index, beta, dishes
-#print phase_n
-
+    #for dish in range(1):
+        weightre = int(round(norm_factor * math.cos( phase[tab][dish]) )) 
+        weightim = int(round(norm_factor * math.sin( phase[tab][dish]) ))
+        beamweights.select(tabs=tab, inputs=dish)
+        beamweights.set_weights(complex(weightre,weightim))
+        beamweights.run()
-- 
GitLab