From fb10dfb1073e7762d5012db87511b67f4b079280 Mon Sep 17 00:00:00 2001
From: Daniel van der Schuur <schuur@astron.nl>
Date: Wed, 6 Dec 2017 19:38:30 +0000
Subject: [PATCH] -Created outline of ARTS SC1 BF weight upload script.

---
 .../arts_unb1_sc1/src/python/pi_bf_sc1.py     | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py

diff --git a/applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py b/applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py
new file mode 100644
index 0000000000..ffa12a20d5
--- /dev/null
+++ b/applications/arts/designs/arts_unb1_sc1/src/python/pi_bf_sc1.py
@@ -0,0 +1,58 @@
+ ###############################################################################
+#
+# Copyright (C) 2017
+# ASTRON (Netherlands Institute for Radio Astronomy) <http://www.astron.nl/>
+# P.O.Box 2, 7990 AA Dwingeloo, The Netherlands
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+###############################################################################
+
+# Author:
+# . Daniel van der Schuur
+# Purpose:
+# . Write lists of complex weights to SC1 beamformer registers
+# Description:
+# . This example writes complex(1,0) to every weight address.
+# . The SC1 gateware design uses 2 beamformer units:
+#   . Beamformer unit for X pol
+#     . 12 (dishes) inputs
+#       . 24 (subbands) weights per input
+#   . Beamformer unit for Y pol
+#     . 12 (dishes) inputs
+#       . 24 (subbands) weights per input
+# . The weights to upload are contained in an array of the following dimensions:
+#   . [16 bands][2 pols x,y][12 inputs 0..11][24 subbands 0..23]
+#     . Inputs 0..11 map to telescopes RT2..RTD
+#     . The 24 subbands make up Compound Beam 0 = the central PAF compound beam.
+#     . The 24 subbands per UniBoard belong to a global subband range of 384 
+#       subbands (300MHz) divided across 16 UniBoards (only 1 FPGA, FN0, per 
+#       UniBoard is used to provide CB0).
+#       . Subband 0  of central UniBoard  0 = subband   0 of 0..383
+#       . Subband 23 of central UniBoard 15 = subband 383 of 0..383
+# . The weights are 16b complex (32b per weight).
+# . The beamformer input data is 8b complex (16b total).
+
+NOF_POLS = 2
+NOF_DISHES = 12
+NOF_SUBBANDS = 24
+NOF_BANDS = 16 # Central UniBoards
+
+###############################################################################
+# Create a list of unit weights (complex 1,0)
+###############################################################################
+weights_complex = NOF_BANDS*[NOF_POLS*[NOF_DISHES*[NOF_SUBBANDS*[complex(1,0)]]]]
+
+print weights_complex
+
-- 
GitLab