Changeset 715 for moxy/trunk/src


Ignore:
Timestamp:
Dec 15, 2011 5:37:28 PM (14 years ago)
Author:
jemian
Message:

improved default handling of motor records

Location:
moxy/trunk/src/moxy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified moxy/trunk/src/moxy/connection.py

    r712 r715  
    8888            self.disconnect()
    8989   
    90     def connect(self, callback = None):
    91         name = self.pvname.strip()
     90    def connect(self, callback = None, suppliedname = None):
     91        '''
     92        connect to the EPICS PV
     93       
     94        The name given in ``self.pvname`` will override a name supplied to this method.
     95        If ``self.pvname`` is not given, then use ``suppliedname`` if it is given.
     96        '''
     97        pvname = self.pvname.strip()
     98        name = pvname
     99        if len(name) == 0 and suppliedname is not None:
     100            name = suppliedname
    92101        if len(name) > 0:    # PV name must not be an empty string
    93102            self.channel = epics.PV(name, connection_callback=self.connection_cb)
  • TabularUnified moxy/trunk/src/moxy/single_axis.py

    r714 r715  
    123123    def connect(self, widget = None):
    124124        '''connect all the PVs with EPICS'''
     125        self.val.connect(callback=self._val_callback, suppliedname=self.val.pvname)
    125126        if self.isMotorRecord:
    126             pass    # TODO: do something!!!
    127         self.val.connect(self._val_callback)
    128         self.rbv.connect(self._rbv_callback)
    129         self.egu.connect()
    130         self.dmov.connect(self._dmov_callback)
    131         self.stop.connect()
    132         self.desc.connect()
     127            base = self.val.pvname.strip().split(".")[0]
     128            self.rbv.connect(callback=self._rbv_callback, suppliedname=base + ".RBV")
     129            self.egu.connect(suppliedname=base + ".EGU")
     130            self.dmov.connect(callback=self._dmov_callback, suppliedname=base + ".DMOV")
     131            self.stop.connect(suppliedname=base + ".STOP")
     132            self.desc.connect(suppliedname=base + ".DESC")
     133        else:
     134            self.rbv.connect(callback=self._rbv_callback)
     135            self.egu.connect()
     136            self.dmov.connect(callback=self._dmov_callback)
     137            self.stop.connect()
     138            self.desc.connect()
    133139        self.widget = widget
    134140        self.description = self.desc.channel.get()
     
    192198    axis = SingleAxis(
    193199        name = "test axis",
    194         val = PvConnection(pvname = pv + ".VAL"),
    195         isMotorRecord = True,   # FIXME: fix default handling of motor records
    196         rbv = PvConnection(pvname = pv + ".RBV"),
    197         egu = PvConnection(pvname = pv + ".EGU"),
    198         desc = PvConnection(pvname = pv + ".DESC"),
    199         dmov = PvConnection(pvname = pv + ".DMOV"),
    200         stop = PvConnection(pvname = pv + ".STOP"),
     200        val = PvConnection(pvname = pv),
     201        isMotorRecord = True,
    201202    )
     203#    axis = SingleAxis(
     204#        name = "test axis",
     205#        val = PvConnection(pvname = pv + ".VAL"),
     206#        isMotorRecord = False,
     207#        rbv = PvConnection(pvname = pv + ".RBV"),
     208#        egu = PvConnection(pvname = pv + ".EGU"),
     209#        desc = PvConnection(pvname = pv + ".DESC"),
     210#        dmov = PvConnection(pvname = pv + ".DMOV"),
     211#        stop = PvConnection(pvname = pv + ".STOP"),
     212#    )
    202213    axis.connect()
    203214    axis.configure_traits()
Note: See TracChangeset for help on using the changeset viewer.