Esempio n. 1
0
    def setupui(self):
        self.layoutg = QGridLayout(self)

        grpbx = self._create_formlayout_groupbox(
            'General Configurations',
            (('BPMMode-Sel', 'Operation Mode'),
             ('TriggerRep-Sel', 'Repeat Acquisitions'),
             ('TriggerHwDly-SP', 'Delay [us]'),
             ('SamplesPre-SP', 'Pre-Trigger NrSamples'),
             ('SamplesPost-SP', 'Post-Trigger NrSamples'),
             ('Trigger-Sel', 'Trigger Type')))
        self.layoutg.addWidget(grpbx, 0, 0)

        grpbx = QGroupBox('Acquisition Control', self)
        gdl = QGridLayout(grpbx)
        pb1 = PyDMPushButton(grpbx,
                             init_channel=self.get_pvname('TriggerEvent-Sel'),
                             label='Start',
                             pressValue=0)
        gdl.addWidget(pb1, 0, 0)
        pb2 = PyDMPushButton(grpbx,
                             init_channel=self.get_pvname('TriggerEvent-Sel'),
                             label='Stop',
                             pressValue=1)
        gdl.addWidget(pb2, 0, 1)
        pb1 = PyDMPushButton(grpbx,
                             init_channel=self.get_pvname('TriggerEvent-Sel'),
                             label='Abort',
                             pressValue=2)
        gdl.addWidget(pb1, 1, 0)
        lab = QLabel('Status:')
        lab.setAlignment(Qt.AlignCenter)
        gdl.addWidget(lab, 2, 0)
        lab = PyDMLabel(grpbx, init_channel=self.get_pvname('Status-Sts'))
        lab.setAlignment(Qt.AlignCenter)
        gdl.addWidget(lab, 2, 1)
        self.layoutg.addWidget(grpbx, 1, 0)

        grpbx = self._create_formlayout_groupbox('MultiBunch Configurations', (
            ('Channel-Sel', 'Acquisition Rate'),
            ('Shots-SP', 'Number of Shots'),
            ('UpdateTime-SP', 'Update Interval'),
            ('TbtTagEn-Sel', 'Sync Timing', False),
            ('TbtTagDly-SP', 'TbT Delay', False),
            ('TbtDataMaskEn-Sel', 'Mask Data', False),
            ('TbtDataMaskSamplesBeg-SP', 'Mask Begin', False),
            ('TbtDataMaskSamplesEnd-SP', 'Mask End', False),
        ))
        grpbx.rules = self.basic_rule('BPMMode-Sts', True)
        self.layoutg.addWidget(grpbx, 2, 0)

        grpbx = self._create_formlayout_groupbox(
            'Auto Trigger Configurations',
            (('DataTrigChan-Sel', 'Type of Rate as Trigger'),
             ('TriggerDataSel-SP', 'Channel'), ('TriggerDataPol-Sel', 'Slope'),
             ('TriggerDataThres-SP', 'Threshold'),
             ('TriggerDataHyst-SP', 'Hysteresis')))
        grpbx.rules = self.basic_rule('Trigger-Sts', True, val=2)
        self.layoutg.addWidget(grpbx, 3, 0)