Z_LinearCCD.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:pslab-desktop-apps 作者: fossasia 项目源码 文件源码
def __init__(self, parent=None,**kwargs):
        super(AppWindow, self).__init__(parent)
        self.setupUi(self)
        self.I=kwargs.get('I',None)

        self.setWindowTitle(self.I.H.version_string+' : '+params.get('name','').replace('\n',' ') )

        from PSL.analyticsClass import analyticsClass
        self.math = analyticsClass()
        self.prescalerValue=0

        self.plot=self.add2DPlot(self.plot_area,enableMenu=True)
        self.enableCrossHairs(self.plot,[])
        labelStyle = {'color': 'rgb(255,255,255)', 'font-size': '11pt'}
        self.plot.setLabel('left','V (CH1)', units='V',**labelStyle)
        self.plot.setLabel('bottom','Time', units='S',**labelStyle)
        self.hLine = pg.InfiniteLine(angle=0, movable=False,pen=[255,10,20,255])
        self.plot.addItem(self.hLine, ignoreBounds=True)
        self.hLine.setPos(3.3)

        self.sh=2; self.icg=2;
        self.samples=3694; self.tweak = 1
        self.chan = 'AN8'
        self.timer = self.newTimer()

        self.legend = self.plot.addLegend(offset=(-10,30))
        self.curveCH1 = self.addCurve(self.plot,'INPUT(%s)'%self.chan)
        self.autoRange()

        self.WidgetLayout.setAlignment(QtCore.Qt.AlignLeft)
        self.ControlsLayout.setAlignment(QtCore.Qt.AlignRight)
        self.ControlsLayout.addWidget(self.setStateIcon(I=self.I))

        #Utility widgets
        self.I.set_pv1(4)

        #Control widgets
        a1={'TITLE':'SH','MIN':2,'MAX':10,'FUNC':self.set_timebase,'UNITS':'S','TOOLTIP':'Set SH pulse width, and timebase'}
        self.ControlsLayout.addWidget(self.dialIcon(**a1))
        self.set_timebase(2)

        a1={'TITLE':'Average','MIN':1,'MAX':5,'FUNC':self.set_tweak,'UNITS':' times','TOOLTIP':'Average samples before displaying'}
        T = self.dialIcon(**a1)
        T.dial.setPageStep(1)
        T.dial.setValue(1)
        self.ControlsLayout.addWidget(T)

        a1={'TITLE':'ICG','MIN':1,'MAX':65000,'FUNC':self.set_icg,'UNITS':'S','TOOLTIP':'Set ICG'}
        self.WidgetLayout.addWidget(self.dialIcon(**a1))

        self.I.set_sine2(1000)

        self.running=True
        self.fit = False
        self.timer.singleShot(100,self.run)
        self.Y = np.zeros(3648)
        self.num = 0
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号