def init_snaps(snap_list, load_system_information=False): logger = logger_defaults.getModuleLogger(__name__) logger.info("Initialising snaps: %s" % snap_list) snaps = [] for snap_name in snap_list: if snap_name.startswith("frb-snap"): snaps.append( ata_snap_fengine.AtaSnapFengine( snap_name, transport=casperfpga.KatcpTransport)) elif snap_name.startswith("rfsoc"): pipeline_id = int(snap_name[-1]) snaps.append( ata_rfsoc_fengine.AtaRfsocFengine(snap_name, pipeline_id=pipeline_id - 1)) if load_system_information: get_system_information(snaps) return snaps
from ata_snap import ata_snap_fengine, ata_rfsoc_fengine import numpy as np import matplotlib.pyplot as plt fpg_file = "/home/obsuser/src/ata_snap_rfsoc/ata_rfsoc/zrf_spec_4ant/outputs/zrf_spec_4ant_2021-06-14_1301.fpg" rfsoc = ata_rfsoc_fengine.AtaRfsocFengine("rfsoc1-ctrl-1", pipeline_id=0) rfsoc.fpga.get_system_information(fpg_file) spec_x, spec_y = rfsoc.spec_read() plt.plot(10 * np.log10(spec_x), label="X-Pid0") plt.plot(10 * np.log10(spec_y), label="Y-Pid0") rfsoc = ata_rfsoc_fengine.AtaRfsocFengine("rfsoc1-ctrl-2", pipeline_id=1) rfsoc.fpga.get_system_information(fpg_file) spec_x, spec_y = rfsoc.spec_read() plt.plot(10 * np.log10(spec_x), label="X-Pid1") plt.plot(10 * np.log10(spec_y), label="Y-Pid1") rfsoc = ata_rfsoc_fengine.AtaRfsocFengine("rfsoc1-ctrl-3", pipeline_id=2) rfsoc.fpga.get_system_information(fpg_file) spec_x, spec_y = rfsoc.spec_read() plt.plot(10 * np.log10(spec_x), label="X-Pid2") plt.plot(10 * np.log10(spec_y), label="Y-Pid2") rfsoc = ata_rfsoc_fengine.AtaRfsocFengine("rfsoc1-ctrl-4", pipeline_id=3) rfsoc.fpga.get_system_information(fpg_file) spec_x, spec_y = rfsoc.spec_read() plt.plot(10 * np.log10(spec_x), label="X-Pid3") plt.plot(10 * np.log10(spec_y), label="Y-Pid3") plt.legend()
from ata_snap import ata_rfsoc_fengine import matplotlib.pyplot as plt import numpy as np import time fpg_file = '/home/obsuser/src/ata_snap_rfsoc/ata_rfsoc/zrf_spec_4ant/outputs/zrf_spec_4ant_2021-06-05_1337.fpg' r = ata_rfsoc_fengine.AtaRfsocFengine('rfsoc1-10') r.fpga.get_system_information(fpg_file) xx = [] yy = [] for i in range(20): x,y = r.adc_get_samples() xx.append(x) yy.append(y) time.sleep(0.5) xx = np.array(xx).flatten() yy = np.array(yy).flatten() plt.hist(xx, bins=2**14, label='X-pol') plt.hist(yy, bins=2**14, label='Y-pol') plt.xlabel("ADC values") plt.ylabel("N datapoints") plt.legend() xx, yy = r.spec_read() plt.figure()
from SNAPobs import snap_if from ata_snap import ata_rfsoc_fengine import matplotlib.pyplot as plt #print(snap_if.getatten(["2e", "3l", "1a"])) snap_if.setatten({"2mx":26, "2my":26}) print(snap_if.getatten(["2m"])) fpg_file = '/home/obsuser/src/ata_snap_rfsoc/ata_rfsoc/zrf_spec_4ant/outputs/zrf_spec_4ant_2021-06-05_1337.fpg' r = ata_rfsoc_fengine.AtaRfsocFengine('rfsoc1-ctrl-1', pipeline_id=0) r.fpga.get_system_information(fpg_file) xx, yy = r.spec_read() plt.figure() plt.semilogy(xx, label='x') plt.semilogy(yy, label='y') plt.legend() snap_if.setatten({"2mx":16, "2my":16}) print(snap_if.getatten(["2m"])) xx, yy = r.spec_read() plt.semilogy(xx, label='x') plt.semilogy(yy, label='y') plt.legend() snap_if.setatten({"2mx":6, "2my":6})
from ata_snap import ata_rfsoc_fengine import matplotlib.pyplot as plt import numpy as np import time #fpg_file = '/home/obsuser/src/ata_snap_rfsoc/ata_rfsoc/zrf_spec/outputs/zrf_spec_2021-04-27_1557.fpg' fpg_file = '/home/obsuser/src/ata_snap_rfsoc/ata_rfsoc/zrf_spec_4ant/outputs/zrf_spec_4ant_2021-06-05_1337.fpg' rs = [ ata_rfsoc_fengine.AtaRfsocFengine('rfsoc1-ctrl-%i' % (i + 1), pipeline_id=i) for i in [0, 1, 2, 3] ] for r in rs: r.fpga.get_system_information(fpg_file) ii = 0 for r in rs: print(r) xx, yy = r.spec_read() x, y = r.adc_get_samples() x = np.array(x) y = np.array(y) print("spectrum read") print("x: %.2f, y: %.2f" % (x.std(), y.std())) plt.figure(ii) plt.title("Pipeline ID: %i" % ii) plt.semilogy(xx, label='x') plt.semilogy(yy, label='y') plt.legend()
from ata_snap import ata_rfsoc_fengine import struct import matplotlib.pyplot as plt import numpy as np import time fpg_file = '/home/obsuser/src/ata_snap_rfsoc/ata_rfsoc/zrf_spec_4ant/outputs/zrf_spec_4ant_2021-06-05_1337.fpg' r = ata_rfsoc_fengine.AtaRfsocFengine('rfsoc1-ctrl-1') r.fpga.get_system_information(fpg_file) i_j_pairs = [[0,1], [2,3], [4,5], [6,7], [8,9], [10,11], [12,13], [14,15]] ii = 0 for i,j in i_j_pairs: r.fpga.write_int('sel0', i) r.fpga.write_int('sel1', j) raw_x, t = r.fpga.snapshots.ss_adc0.read_raw(man_trig=True, man_valid=True) raw_y, t = r.fpga.snapshots.ss_adc1.read_raw(man_trig=True, man_valid=True) data_x = struct.unpack(">%dh" % (raw_x['length']//2), raw_x['data']) data_y = struct.unpack(">%dh" % (raw_y['length']//2), raw_y['data']) print(np.std(data_x)) print(np.std(data_y)) plt.figure(i) plt.title("%i %i" %(i,j)) plt.hist(data_x) plt.hist(data_y) plt.show()