Skip to content
Snippets Groups Projects

L2SS-1320: Convert subband weights from complex to uint32 before sending them to SDP

Merged L2SS-1320: Convert subband weights from complex to uint32 before sending them to SDP
Merged Jan David Mol requested to merge pack-calibration-weights into master
Files
8
@@ -15,8 +15,9 @@ from tangostationcontrol.common.constants import (
@@ -15,8 +15,9 @@ from tangostationcontrol.common.constants import (
N_subbands,
N_subbands,
N_pol,
N_pol,
N_pn,
N_pn,
S_pn,
A_pn,
)
)
 
from tangostationcontrol.common.sdp import complex_to_weights
logger = logging.getLogger()
logger = logging.getLogger()
@@ -108,7 +109,7 @@ class CalibrationManager:
@@ -108,7 +109,7 @@ class CalibrationManager:
# read-modify-write on [fpga][(input, polarisation)]
# read-modify-write on [fpga][(input, polarisation)]
fpga_subband_weights = sdp.FPGA_subband_weights_RW.reshape(
fpga_subband_weights = sdp.FPGA_subband_weights_RW.reshape(
(N_pn, S_pn, N_subbands)
(N_pn, A_pn, N_pol, N_subbands)
)
)
antennafield_name = antenna_field.name().split("/")[2]
antennafield_name = antenna_field.name().split("/")[2]
@@ -140,18 +141,18 @@ class CalibrationManager:
@@ -140,18 +141,18 @@ class CalibrationManager:
f"but got {table.observation_station}"
f"but got {table.observation_station}"
)
)
# set weights
# set weights, converted from complex to packed uint32
fpga_subband_weights[fpga_nr, input_nr * N_pol + 0] = table.antennas[
fpga_subband_weights[fpga_nr, input_nr, 0] = complex_to_weights(
antenna_names[antenna_nr]
table.antennas[antenna_names[antenna_nr]].x
].x
)
fpga_subband_weights[fpga_nr, input_nr * N_pol + 1] = table.antennas[
fpga_subband_weights[fpga_nr, input_nr, 1] = complex_to_weights(
antenna_names[antenna_nr]
table.antennas[antenna_names[antenna_nr]].y
].y
)
# TODO(L2SS-1312): This should use atomic_read_modify_write
# TODO(L2SS-1312): This should use atomic_read_modify_write
sdp.FPGA_subband_weights_RW = fpga_subband_weights.reshape(
sdp.FPGA_subband_weights_RW = fpga_subband_weights.reshape(
N_pn, S_pn * N_subbands
N_pn, A_pn * N_pol * N_subbands
)
)
Loading