def test_pvpos(self): motor_record = self.sim_pv mrec = EpicsMotor(motor_record, name='pvpos_mrec') print('mrec', mrec.describe()) mrec.wait_for_connection() class MyPositioner(PVPositioner): '''Setpoint, readback, done, stop. No put completion''' setpoint = C(EpicsSignal, '.VAL') readback = C(EpicsSignalRO, '.RBV') done = C(EpicsSignalRO, '.MOVN') stop_signal = C(EpicsSignal, '.STOP') stop_value = 1 done_value = 0 m = MyPositioner(motor_record, name='pos_no_put_compl') m.wait_for_connection() m.read() mrec.move(0.1, wait=True) time.sleep(0.1) self.assertEqual(m.position, 0.1) m.stop() m.limits repr(m) str(m) mc = copy(m) self.assertEqual(mc.describe(), m.describe()) m.read()
def test_pvpos(self): motor_record = self.sim_pv mrec = EpicsMotor(motor_record, name='pvpos_mrec') print('mrec', mrec.describe()) mrec.wait_for_connection() class MyPositioner(PVPositioner): '''Setpoint, readback, done, stop. No put completion''' setpoint = C(EpicsSignal, '.VAL') readback = C(EpicsSignalRO, '.RBV') done = C(EpicsSignalRO, '.MOVN') stop_signal = C(EpicsSignal, '.STOP') stop_value = 1 done_value = 0 m = MyPositioner(motor_record, name='pos_no_put_compl') m.wait_for_connection() m.read() mrec.move(0.1, wait=True) time.sleep(0.1) self.assertEqual(m.position, 0.1) m.stop() m.limits repr(m) str(m) mc = copy(m) self.assertEqual(mc.describe(), m.describe()) m.read()
'''A simple test for :class:`EpicsMotor`''' import config from ophyd import EpicsMotor def callback(sub_type=None, timestamp=None, value=None, **kwargs): logger.info('[callback] [%s] (type=%s) value=%s', timestamp, sub_type, value) def done_moving(**kwargs): logger.info('Done moving %s', kwargs) logger = config.logger motor_record = config.motor_recs[0] m1 = EpicsMotor(motor_record) m1.wait_for_connection() m1.subscribe(callback, event_type=m1.SUB_DONE) m1.subscribe(callback, event_type=m1.SUB_READBACK) logger.info('---- test #1 ----') logger.info('--> move to 1') m1.move(1) logger.info('--> move to 0') m1.move(0)