4 from libCatKernel
import *
8 element.__init__(self,cat,obj,panel,path)
28 self.
panel.Bind(wx.EVT_BUTTON,self.
isReady,id=xrc.XRCID(
"isReady"))
29 self.
panel.Bind(wx.EVT_BUTTON,self.
onTrigger,id=xrc.XRCID(
"trigger"))
31 self.
panel.Bind(wx.EVT_TOGGLEBUTTON,self.
onSoftTrig,id=xrc.XRCID(
"softtrig"))
32 self.
panel.Bind(wx.EVT_TOGGLEBUTTON,self.
onModeAX,id=xrc.XRCID(
"modeAX"))
34 self.
panel.Bind(wx.EVT_CHOICE,self.
onModeCh,id=xrc.XRCID(
"modeCh"))
40 self.
panel.Bind(wx.EVT_BUTTON,self.
onResetFE,id=xrc.XRCID(
"reset_fe"))
41 self.
panel.Bind(wx.EVT_BUTTON,self.
onResetSPI,id=xrc.XRCID(
"reset_spi"))
44 self.
panel.Bind(wx.EVT_BUTTON,self.
onFifoRAZ,id=xrc.XRCID(
"fifo_raz"))
47 self.
panel.Bind(wx.EVT_BUTTON,self.
onToAXRAZ,id=xrc.XRCID(
"toax_raz"))
55 self.
panel.Bind(wx.EVT_BUTTON,self.
onReadFifo,id=xrc.XRCID(
"fifo_read"))
58 self.
panel.Bind(wx.EVT_BUTTON,self.
onReadToAX,id=xrc.XRCID(
"toax_read"))
68 self.
panel.Bind(wx.EVT_BUTTON,self.
onPhaser0,id=xrc.XRCID(
"apply_ph0"))
69 self.
panel.Bind(wx.EVT_BUTTON,self.
onPhaser1,id=xrc.XRCID(
"apply_ph1"))
70 self.
panel.Bind(wx.EVT_BUTTON,self.
onPhaser2,id=xrc.XRCID(
"apply_ph2"))
73 self.
panel.Bind(wx.EVT_BUTTON,self.
onapplyCh,id=xrc.XRCID(
"applyCh"))
93 if self.
obj.a3pe().softwareTrigger():
95 self.
getControl(
"softtrig").SetLabel(
"Soft. Trig.")
98 self.
getControl(
"softtrig").SetLabel(
"Ext. Trig.")
107 self.
getControl(
"isReady").SetBackgroundColour(
'BLUE')
109 if self.
obj.a3pe().writeStorageFifoUsb() :
115 if pipeline==0: self.
getControl(
"pipeline").SetSelection(0)
116 elif pipeline==1: self.
getControl(
"pipeline").SetSelection(1)
117 else: self.
getControl(
"pipeline").SetSelection(2)
119 self.
getControl(
"ch0").SetValue(self.
obj.a3pe().enableADC(0))
120 self.
getControl(
"ch1").SetValue(self.
obj.a3pe().enableADC(1))
121 self.
getControl(
"ch2").SetValue(self.
obj.a3pe().enableADC(2))
122 self.
getControl(
"ch3").SetValue(self.
obj.a3pe().enableADC(3))
123 self.
getControl(
"ch4").SetValue(self.
obj.a3pe().enableADC(4))
124 self.
getControl(
"ch5").SetValue(self.
obj.a3pe().enableADC(5))
125 self.
getControl(
"ch6").SetValue(self.
obj.a3pe().enableADC(6))
126 self.
getControl(
"ch7").SetValue(self.
obj.a3pe().enableADC(7))
127 self.
getControl(
"clockdiv").SetValue(self.
obj.a3pe().clockDivision())
128 self.
getControl(
"fifodepth").SetValue(self.
obj.a3pe().fifoDepth())
129 self.
getControl(
"fifolatency").SetValue(self.
obj.a3pe().fifoLatency())
130 self.
getControl(
"trignumber").SetValue(self.
obj.a3pe().nTrigger())
133 self.
getControl(
"trigfreq").SetValue(self.
obj.a3pe().triggerRate())
134 self.
getControl(
"trigdelay").SetValue(self.
obj.a3pe().triggerDelay())
136 self.
ph0_0.SetValue(self.
obj.phaser0().phase(0))
137 self.
ph0_1.SetValue(self.
obj.phaser0().phase(1))
138 self.
ph0_2.SetValue(self.
obj.phaser0().phase(2))
139 self.
ph0_3.SetValue(self.
obj.phaser0().phase(3))
140 self.
ph1_0.SetValue(self.
obj.phaser1().phase(0))
141 self.
ph1_1.SetValue(self.
obj.phaser1().phase(1))
142 self.
ph1_2.SetValue(self.
obj.phaser1().phase(2))
143 self.
ph1_3.SetValue(self.
obj.phaser1().phase(3))
144 self.
ph2_0.SetValue(self.
obj.phaser2().phase(0))
145 self.
ph2_1.SetValue(self.
obj.phaser2().phase(1))
146 self.
ph2_2.SetValue(self.
obj.phaser2().phase(2))
147 self.
ph2_3.SetValue(self.
obj.phaser2().phase(3))
151 self.
obj.a3pe().enableStorage()
152 self.
obj.a3pe().trigger()
153 self.
obj.a3pe().dumpStorage()
156 val=self.
obj.a3pe().dataReady
157 if val: self.
getControl(
"isReady").SetBackgroundColour(
'GREEN')
158 else : self.
getControl(
"isReady").SetBackgroundColour(
'RED')
162 self.
obj.a3pe().trigger()
165 self.
obj.a3pe().enableStorage()
168 self.
obj.a3pe().dumpStorage()
171 self.
obj.a3pe().dumpPattern()
174 self.
obj.a3pe().dumpTrigger()
177 self.
obj.a3pe().dumpToAX()
180 self.
obj.a3pe().dumpFromAX()
183 self.
obj.a3pe().setSoftwareTrigger(self.
softTrig.GetValue())
185 self.
getControl(
"softtrig").SetLabel(
"Soft. Trig.")
187 self.
getControl(
"softtrig").SetLabel(
"Ext. Trig.")
191 self.
getControl(
"modeAX").SetLabel(
"Internal")
194 self.
obj.a3pe().setInternalAXSequence(self.
getControl(
"modeAX").GetValue())
197 pipeline=self.
getControl(
"pipeline").GetSelection()
198 self.
obj.a3pe().setPipeline(pipeline)
204 self.
obj.a3pe().resetUsbPhasers()
207 self.
obj.a3pe().resetStorageFifo()
210 self.
obj.a3pe().resetFE()
213 self.
obj.a3pe().resetSPI()
216 self.
obj.a3pe().setWriteStorageFifoUsb(
True)
217 self.
obj.a3pe().storageRam().raz()
218 self.
obj.a3pe().setWriteStorageFifoUsb(
False)
221 self.
obj.a3pe().patternRam().raz()
224 self.
obj.a3pe().triggerRam().raz()
227 self.
obj.a3pe().toAXRam().raz()
230 self.
obj.a3pe().fromAXRam().raz()
235 self.
obj.a3pe().loadStorage(filename)
240 self.
obj.a3pe().loadPattern(filename)
245 self.
obj.a3pe().loadTrigger(filename)
250 self.
obj.a3pe().loadToAX(filename)
255 self.
obj.a3pe().loadFromAX(filename)
258 self.
obj.a3pe().resetLatencyCounter()
261 self.
obj.a3pe().resetAcquisitionWriteCounter()
265 self.
obj.a3pe().setAddToAXRam(0)
269 self.
obj.a3pe().setAddFromAXRam(0)
272 print "StartSequence" 273 self.
obj.a3pe().startSequenceAX()
276 phaser=self.
obj.phaser0()
277 phaser.setPhase(0,self.
ph0_0.GetValue())
278 phaser.setPhase(1,self.
ph0_1.GetValue())
279 phaser.setPhase(2,self.
ph0_2.GetValue())
280 phaser.setPhase(3,self.
ph0_3.GetValue())
283 phaser=self.
obj.phaser1()
284 phaser.setPhase(0,self.
ph1_0.GetValue())
285 phaser.setPhase(1,self.
ph1_1.GetValue())
286 phaser.setPhase(2,self.
ph1_2.GetValue())
287 phaser.setPhase(3,self.
ph1_3.GetValue())
290 phaser=self.
obj.phaser2()
291 phaser.setPhase(0,self.
ph2_0.GetValue())
292 phaser.setPhase(1,self.
ph2_1.GetValue())
293 phaser.setPhase(2,self.
ph2_2.GetValue())
294 phaser.setPhase(3,self.
ph2_3.GetValue())
298 self.
obj.a3pe().setEnableADC(0,self.
getControl(
"ch0").GetValue())
299 self.
obj.a3pe().setEnableADC(1,self.
getControl(
"ch1").GetValue())
300 self.
obj.a3pe().setEnableADC(2,self.
getControl(
"ch2").GetValue())
301 self.
obj.a3pe().setEnableADC(3,self.
getControl(
"ch3").GetValue())
302 self.
obj.a3pe().setEnableADC(4,self.
getControl(
"ch4").GetValue())
303 self.
obj.a3pe().setEnableADC(5,self.
getControl(
"ch5").GetValue())
304 self.
obj.a3pe().setEnableADC(6,self.
getControl(
"ch6").GetValue())
305 self.
obj.a3pe().setEnableADC(7,self.
getControl(
"ch7").GetValue())
309 if (mode==0) : self.
obj.a3pe().setWriteStorageFifoUsb(
False)
310 if (mode==1) : self.
obj.a3pe().setWriteStorageFifoUsb(
True)
333 self.
obj.a3pe().setFifoDepth(self.
getControl(
"fifodepth").GetValue())
334 self.
obj.a3pe().setFifoLatency(self.
getControl(
"fifolatency").GetValue())
337 self.
obj.a3pe().setClockDivision(self.
getControl(
"clockdiv").GetValue())
340 self.
obj.a3pe().setNTrigger(self.
getControl(
"trignumber").GetValue())
343 self.
obj.a3pe().setTriggerDelay(self.
getControl(
"trigdelay").GetValue())
349 self.
obj.a3pe().setTriggerRate(self.
getControl(
"trigfreq").GetValue())
352 self.
obj.a3pe().setNTrigger(self.
getControl(
"trignumber").GetValue())
353 self.
obj.a3pe().setTriggerDelay(self.
getControl(
"trigdelay").GetValue())
354 self.
obj.a3pe().setTriggerRate(self.
getControl(
"trigfreq").GetValue())
357 self.
obj.a3pe().setLengthAX(self.
getControl(
"ax_length").GetValue())
360 self.
obj.a3pe().setLatencyAX(self.
getControl(
"ax_latency").GetValue())
366 self.
panel, message=
"Choose a file",
367 defaultDir=os.getcwd(),
369 wildcard=
"data file (*.dat)|*.dat|" "text files (*.txt)|*.txt" "All files (*.*)|*.*",
370 style=wx.OPEN | wx.CHANGE_DIR
372 if dlg.ShowModal() == wx.ID_OK:
373 path = dlg.GetPaths()
376 filename=str(path[0])
385 def Edit (cat, obj, panel, path):
def onFromAXWrite(self, event)
def onResetSPI(self, event)
def onGlobalReset(self, event)
def onPhaser1(self, event)
def onenableAll(self, event)
def onAcquisitionReset(self, event)
def onResetFE(self, event)
def onEnableStorage(self, event)
def onReadFromAX(self, event)
def onReadPattern(self, event)
def onapplyclockdiv(self, event)
def onunableAll(self, event)
def onapplytrig(self, event)
def onPhaser2(self, event)
def onLatencyReset(self, event)
def onPatternRAZ(self, event)
def Edit(cat, obj, panel, path)
def onTrigger(self, event)
def onToAXWrite(self, event)
def onPhaser0(self, event)
def onTriggerWrite(self, event)
def onReadTrigger(self, event)
def onFromAXPtrRaz(self, event)
def onapplyfreq(self, event)
def onTriggerRAZ(self, event)
def getControl(self, xmlid, item)
def onToAXRAZ(self, event)
def onapplynumber(self, event)
def onFifoReset(self, event)
def onapplyCh(self, event)
def onFifoWrite(self, event)
def onModeCh(self, event)
def onAcquisition(self, event)
def onapplydelay(self, event)
def onFromAXRAZ(self, event)
def onUsbPhasersReset(self, event)
def onapplyaxlength(self, event)
def onToAXPtrRaz(self, event)
def onapplyaxlatency(self, event)
def onPatternWrite(self, event)
def onFifoRAZ(self, event)
def onPipeline(self, event)
def onapplyfifodepth(self, event)
def onModeAX(self, event)
def onReadToAX(self, event)
def onStartSequenceAX(self, event)
def __init__(self, cat, obj, panel, path)
def onReadFifo(self, event)
def onSoftTrig(self, event)