mirror of
https://github.com/m-labs/artiq.git
synced 2024-12-19 00:16:29 +08:00
sinara_tester: simplify almazny tests
This commit is contained in:
parent
20c67aca23
commit
f1e1e54940
@ -384,9 +384,21 @@ class SinaraTester(EnvExperiment):
|
|||||||
almazny.set_att_mu(ch, atts)
|
almazny.set_att_mu(ch, atts)
|
||||||
|
|
||||||
@kernel
|
@kernel
|
||||||
def legacy_almazny_set_attenuators(self, almazny, ch, atts):
|
def legacy_almazny_att_test(self, almazny):
|
||||||
|
# change attenuation bit by bit over time for all channels
|
||||||
|
att_mu = 0
|
||||||
|
while not is_enter_pressed():
|
||||||
self.core.break_realtime()
|
self.core.break_realtime()
|
||||||
almazny.set_att(ch, atts)
|
t = now_mu() - self.core.seconds_to_mu(0.5)
|
||||||
|
while self.core.get_rtio_counter_mu() < t:
|
||||||
|
pass
|
||||||
|
for ch in range(4):
|
||||||
|
almazny.set_att_mu(ch, att_mu)
|
||||||
|
delay(250*ms)
|
||||||
|
if att_mu == 0:
|
||||||
|
att_mu = 1
|
||||||
|
else:
|
||||||
|
att_mu = (att_mu << 1) & 0x3F
|
||||||
|
|
||||||
@kernel
|
@kernel
|
||||||
def legacy_almazny_toggle_output(self, almazny, rf_on):
|
def legacy_almazny_toggle_output(self, almazny, rf_on):
|
||||||
@ -408,32 +420,16 @@ class SinaraTester(EnvExperiment):
|
|||||||
frequency = 2000 + card_n * 250 + channel_n * 50
|
frequency = 2000 + card_n * 250 + channel_n * 50
|
||||||
print("{}\t{}MHz".format(channel_name, frequency*2))
|
print("{}\t{}MHz".format(channel_name, frequency*2))
|
||||||
self.setup_mirny(channel_dev, frequency)
|
self.setup_mirny(channel_dev, frequency)
|
||||||
print("{} info: {}".format(channel_name, channel_dev.info()))
|
|
||||||
self.init_legacy_almazny(almazny)
|
self.init_legacy_almazny(almazny)
|
||||||
print("RF ON, all attenuators ON. Press ENTER when done.")
|
|
||||||
for i in range(4):
|
|
||||||
self.legacy_almazny_set_attenuators_mu(almazny, i, 63)
|
|
||||||
input()
|
|
||||||
print("RF ON, half power attenuators ON. Press ENTER when done.")
|
|
||||||
for i in range(4):
|
|
||||||
self.legacy_almazny_set_attenuators(almazny, i, 15.5)
|
|
||||||
input()
|
|
||||||
print("RF ON, all attenuators OFF. Press ENTER when done.")
|
|
||||||
for i in range(4):
|
|
||||||
self.legacy_almazny_set_attenuators(almazny, i, 0)
|
|
||||||
input()
|
|
||||||
print("SR outputs are OFF. Press ENTER when done.")
|
print("SR outputs are OFF. Press ENTER when done.")
|
||||||
self.legacy_almazny_toggle_output(almazny, False)
|
self.legacy_almazny_toggle_output(almazny, False)
|
||||||
input()
|
input()
|
||||||
print("RF ON, all attenuators are ON. Press ENTER when done.")
|
print("RF ON, attenuators are tested. Press ENTER when done.")
|
||||||
for i in range(4):
|
|
||||||
self.legacy_almazny_set_attenuators(almazny, i, 31.5)
|
|
||||||
self.legacy_almazny_toggle_output(almazny, True)
|
self.legacy_almazny_toggle_output(almazny, True)
|
||||||
input()
|
self.legacy_almazny_att_test(almazny)
|
||||||
print("RF OFF. Press ENTER when done.")
|
|
||||||
self.legacy_almazny_toggle_output(almazny, False)
|
self.legacy_almazny_toggle_output(almazny, False)
|
||||||
input()
|
|
||||||
|
|
||||||
|
@kernel
|
||||||
def almazny_led_wave(self, almaznys):
|
def almazny_led_wave(self, almaznys):
|
||||||
while not is_enter_pressed():
|
while not is_enter_pressed():
|
||||||
self.core.break_realtime()
|
self.core.break_realtime()
|
||||||
@ -441,14 +437,29 @@ class SinaraTester(EnvExperiment):
|
|||||||
t = now_mu() - self.core.seconds_to_mu(0.2)
|
t = now_mu() - self.core.seconds_to_mu(0.2)
|
||||||
while self.core.get_rtio_counter_mu() < t:
|
while self.core.get_rtio_counter_mu() < t:
|
||||||
pass
|
pass
|
||||||
for almazny in almaznys:
|
for ch in almaznys:
|
||||||
almazny.set(31.5, False, True)
|
ch.set(31.5, False, True)
|
||||||
delay(100*ms)
|
delay(100*ms)
|
||||||
almazny.set(31.5, False, False)
|
ch.set(31.5, False, False)
|
||||||
|
|
||||||
def almazny_set_att_all(self, almaznys, att):
|
@kernel
|
||||||
for almazny in almaznys:
|
def almazny_att_test(self, almaznys):
|
||||||
almazny.set(att, False, True)
|
rf_en = 1
|
||||||
|
led = 1
|
||||||
|
att_mu = 0
|
||||||
|
while not is_enter_pressed():
|
||||||
|
self.core.break_realtime()
|
||||||
|
t = now_mu() - self.core.seconds_to_mu(0.2)
|
||||||
|
while self.core.get_rtio_counter_mu() < t:
|
||||||
|
pass
|
||||||
|
setting = led << 7 | rf_en << 6 | (att_mu & 0x3F)
|
||||||
|
for ch in almaznys:
|
||||||
|
ch.set_mu(setting)
|
||||||
|
delay(250*ms)
|
||||||
|
if att_mu == 0:
|
||||||
|
att_mu = 1
|
||||||
|
else:
|
||||||
|
att_mu = (att_mu << 1) & 0x3F
|
||||||
|
|
||||||
def test_almaznys(self):
|
def test_almaznys(self):
|
||||||
print("*** Testing Almaznys (v1.2+).")
|
print("*** Testing Almaznys (v1.2+).")
|
||||||
@ -463,13 +474,10 @@ class SinaraTester(EnvExperiment):
|
|||||||
frequency = 2000 + card_n * 250 + channel_n * 50
|
frequency = 2000 + card_n * 250 + channel_n * 50
|
||||||
print("{}\t{}MHz".format(channel_name, frequency*2))
|
print("{}\t{}MHz".format(channel_name, frequency*2))
|
||||||
self.setup_mirny(channel_dev, frequency)
|
self.setup_mirny(channel_dev, frequency)
|
||||||
print("RF On, half power attenuators ON. Press ENTER when done.")
|
print("RF ON, attenuators are tested. Press ENTER when done.")
|
||||||
self.almazny_set_att_all(self.almaznys, 15.5)
|
self.almazny_att_test([ch for _, ch in self.almaznys.items()])
|
||||||
input()
|
print("RF OFF, testing LEDs. Press ENTER when done.")
|
||||||
print("RF On, all attenuators ON. Press ENTER when done.")
|
self.almazny_led_wave([ch for _, ch in self.almaznys.items()])
|
||||||
self.almazny_set_att_all(self.almaznys, 31.5)
|
|
||||||
print("RF Off, testing LEDs. Press ENTER when done.")
|
|
||||||
self.almazny_led_wave(self.almaznys)
|
|
||||||
|
|
||||||
def test_mirnies(self):
|
def test_mirnies(self):
|
||||||
print("*** Testing Mirny PLLs.")
|
print("*** Testing Mirny PLLs.")
|
||||||
|
Loading…
Reference in New Issue
Block a user