def test_describe(): sig = EpicsSignal('my_pv') sig._write_pv.enum_strs = ('enum1', 'enum2') sig.wait_for_connection() sig.put(1) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'integer' assert desc['shape'] == [] assert 'precision' in desc assert 'enum_strs' in desc assert 'upper_ctrl_limit' in desc assert 'lower_ctrl_limit' in desc sig.put('foo') desc = sig.describe()['my_pv'] assert desc['dtype'] == 'string' assert desc['shape'] == [] sig.put(3.14) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'number' assert desc['shape'] == [] import numpy as np sig.put(np.array([1,])) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'array' assert desc['shape'] == [1,]
def test_epicssignal_readwrite(): signal = EpicsSignal('readpv', write_pv='writepv') signal.wait_for_connection() assert signal.setpoint_pvname == 'writepv' assert signal.pvname == 'readpv' signal.value signal._update_rate = 2 time.sleep(0.2) value = 10 signal.value = value signal.setpoint = value assert signal.setpoint == value signal.setpoint_ts signal.limits signal.precision signal.timestamp signal.read() signal.describe() signal.read_configuration() signal.describe_configuration() eval(repr(signal)) time.sleep(0.2)
def test_describe(self): epics.PV = FakeEpicsPV sig = EpicsSignal('my_pv') sig._write_pv.enum_strs = ('enum1', 'enum2') sig.wait_for_connection() sig.put(1) desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'integer') self.assertEquals(desc['shape'], []) self.assertIn('precision', desc) self.assertIn('enum_strs', desc) self.assertIn('upper_ctrl_limit', desc) self.assertIn('lower_ctrl_limit', desc) sig.put('foo') desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'string') self.assertEquals(desc['shape'], []) sig.put(3.14) desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'number') self.assertEquals(desc['shape'], []) import numpy as np sig.put(np.array([ 1, ])) desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'array') self.assertEquals(desc['shape'], [ 1, ])
def test_epicssignal_readwrite(self): epics.PV = FakeEpicsPV signal = EpicsSignal('readpv', write_pv='writepv') signal.wait_for_connection() self.assertEquals(signal.setpoint_pvname, 'writepv') self.assertEquals(signal.pvname, 'readpv') signal.value signal._update_rate = 2 time.sleep(0.2) value = 10 signal.value = value signal.setpoint = value self.assertEquals(signal.setpoint, value) signal.setpoint_ts signal.limits signal.precision signal.timestamp signal.read() signal.describe() signal.read_configuration() signal.describe_configuration() eval(repr(signal)) time.sleep(0.2)
def test_describe(cleanup, signal_test_ioc): sig = EpicsSignal(signal_test_ioc.pvs['bool_enum'], name='my_pv') cleanup.add(sig) sig.wait_for_connection() sig.put(1) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'integer' assert desc['shape'] == [] # assert 'precision' in desc assert desc['enum_strs'] == ['Off', 'On'] assert 'upper_ctrl_limit' in desc assert 'lower_ctrl_limit' in desc sig = Signal(name='my_pv') sig.put('Off') desc = sig.describe()['my_pv'] assert desc['dtype'] == 'string' assert desc['shape'] == [] sig.put(3.14) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'number' assert desc['shape'] == [] import numpy as np sig.put(np.array([ 1, ])) desc = sig.describe()['my_pv'] assert desc['dtype'] == 'array' assert desc['shape'] == [ 1, ]
def test_epicssignal_readwrite(cleanup, signal_test_ioc): signal = EpicsSignal(read_pv=signal_test_ioc.pvs['read_only'], write_pv=signal_test_ioc.pvs['read_write'], limits=True) cleanup.add(signal) signal.wait_for_connection() assert signal.setpoint_pvname == signal_test_ioc.pvs['read_write'] assert signal.pvname == signal_test_ioc.pvs['read_only'] signal.value signal._update_rate = 2 time.sleep(0.2) value = 10 signal.value = value signal.setpoint = value assert signal.setpoint == value signal.setpoint_ts signal.limits signal.precision signal.timestamp signal.read() signal.describe() signal.read_configuration() signal.describe_configuration() eval(repr(signal)) time.sleep(0.2)
def test_describe(self): epics.PV = FakeEpicsPV sig = EpicsSignal('my_pv') sig._write_pv.enum_strs = ('enum1', 'enum2') sig.wait_for_connection() sig.put(1) desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'integer') self.assertEquals(desc['shape'], []) self.assertIn('precision', desc) self.assertIn('enum_strs', desc) self.assertIn('upper_ctrl_limit', desc) self.assertIn('lower_ctrl_limit', desc) sig.put('foo') desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'string') self.assertEquals(desc['shape'], []) sig.put(3.14) desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'number') self.assertEquals(desc['shape'], []) import numpy as np sig.put(np.array([1,])) desc = sig.describe()['my_pv'] self.assertEquals(desc['dtype'], 'array') self.assertEquals(desc['shape'], [1,])