artiq/artiq/test/test_novatech409b.py

47 lines
1.5 KiB
Python
Raw Normal View History

2016-03-22 22:29:41 +08:00
import sys
2015-06-20 05:59:21 +08:00
import unittest
2016-03-22 22:29:41 +08:00
from artiq.test.hardware_testbench import GenericControllerCase, ControllerCase
2015-06-20 05:59:21 +08:00
class GenericNovatech409BTest:
def test_parameters_readback(self):
# write sample data and read it back
for i in range(4):
self.driver.set_freq(i, 1e6)
self.driver.set_phase(i, 0.5)
self.driver.set_gain(i, 0.25)
result = self.driver.get_status()
# check for expected status message; ignore all but first 23 bytes
# compare with previous result extracted from Novatech
for i in range(4):
r = result[i]
self.assertEqual(r[0:23], "00989680 2000 01F5 0000")
2016-01-28 05:24:32 +08:00
class TestNovatech409B(GenericNovatech409BTest, ControllerCase):
def setUp(self):
ControllerCase.setUp(self)
self.start_controller("novatech409b")
2016-01-28 05:24:32 +08:00
self.driver = self.device_mgr.get("novatech409b")
2015-06-20 05:59:21 +08:00
2016-03-22 22:29:41 +08:00
class TestNovatech409BSim(GenericNovatech409BTest, GenericControllerCase):
def get_device_db(self):
return {
"novatech409b": {
"type": "controller",
"host": "::1",
"port": 3254,
"command": (sys.executable.replace("\\", "\\\\")
+ " -m artiq.frontend.aqctl_novatech409b "
2016-03-22 22:29:41 +08:00
+ "-p {port} --simulation")
}
}
2015-06-20 05:59:21 +08:00
def setUp(self):
2016-03-22 22:29:41 +08:00
GenericControllerCase.setUp(self)
self.start_controller("novatech409b")
self.driver = self.device_mgr.get("novatech409b")