artiq/artiq/test/test_lda.py

45 lines
1.3 KiB
Python
Raw Normal View History

2015-02-19 02:33:25 +08:00
import unittest
import sys
2015-02-19 02:34:00 +08:00
2016-01-28 05:24:32 +08:00
from artiq.devices.lda.driver import Ldasim
2015-02-19 02:33:25 +08:00
from artiq.language.units import dB
from artiq.test.hardware_testbench import GenericControllerCase, ControllerCase
2015-02-19 02:33:25 +08:00
class GenericLdaTest:
def test_attenuation(self):
step = self.cont.get_att_step_size()
attmax = self.cont.get_att_max()
test_vector = [i*step*dB for i in range(0, int(attmax*int(1/step)+1))]
2015-02-19 02:33:25 +08:00
for i in test_vector:
with self.subTest(i=i):
self.cont.set_attenuation(i)
2016-01-27 06:22:45 +08:00
j = self.cont.get_attenuation()
self.assertEqual(i, j)
2015-02-19 02:33:25 +08:00
2016-01-28 05:24:32 +08:00
class TestLda(ControllerCase, GenericLdaTest):
def setUp(self):
ControllerCase.setUp(self)
self.start_controller("lda")
2016-01-28 05:24:32 +08:00
self.cont = self.device_mgr.get("lda")
2015-02-19 02:33:25 +08:00
class TestLdaSim(GenericControllerCase, GenericLdaTest):
def get_device_db(self):
return {
"lda": {
"type": "controller",
"host": "::1",
"port": 3253,
"command": (sys.executable.replace("\\", "\\\\")
+ " -m artiq.frontend.aqctl_lda "
+ "-p {port} --simulation")
}
}
2015-02-19 02:33:25 +08:00
def setUp(self):
GenericControllerCase.setUp(self)
self.start_controller("lda")
self.cont = self.device_mgr.get("lda")