update gui and triggering: speed sync works!

This commit is contained in:
2018-11-22 12:32:43 +01:00
parent 2e534f306e
commit e832b40124
7 changed files with 183 additions and 113 deletions

View File

@@ -46,34 +46,20 @@ class MPLCanvasImg(FigureCanvas):
self.fig=fig
self.ax=ax
def InitChild(self,pts,rec):
def InitChild(self,doc):
fig=self.fig
ax=self.ax
pts=doc.fh['pts']
rec=doc.fh['rec']
idxTrigger=doc.idxTrigger
#res=rot.ActPos,x.ActPos,y.ActPos,rot.DesPos,x.DesPos,y.DesPos
#idx 0 1 2 3 4 5
#idx=np.ndarray(shape=len(pts),dtype=np.int32)
#for i in range(len(pts)):
# l=rec[:,(3,2)]-pts[i,:]
# l2=l[:,0]**2+l[:,1]**2
# idx[i]=np.argmin(l2)
idx=[]
for i in range(len(pts)):
l=rec[:,(3,2)]-pts[i,:]
l2=l[:,0]**2+l[:,1]**2
idx.extend(np.where(l2<1)[0].tolist())
#print idx
recPts=rec[idx,:]
#f2 = plt.figure()
#a2 = f2.add_axes([0.075,0.075,0.85,0.85])
#a2.plot(rec[:,1],'r-',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,0],'g-',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,3],'r--',label='ptsDot') #,picker=5 default value
#a2.plot(rec[:,2],'g--',label='ptsDot') #,picker=5 default value
#plt.show()
# idx=[]
# for i in range(len(pts)):
# l=rec[:,(3,2)]-pts[i,:]
# l2=l[:,0]**2+l[:,1]**2
# idx.extend(np.where(l2<1)[0].tolist())
# recPts=rec[idx,:]
hl=[]
hl+=ax.plot(pts[:,0],pts[:,1],'r.',label='ptsDot') #,picker=5 default value
@@ -86,7 +72,13 @@ class MPLCanvasImg(FigureCanvas):
hl+=ax.plot(rec[:, 3], rec[:, 2], 'b-',label='recDesPos')
hl+=ax.plot(rec[:,1],rec[:,0],'g-',label='recActPos')
hl+=ax.plot(recPts[:,1],recPts[:,0],'g.',label='recDot')
#hl+=ax.plot(recPts[:,1],recPts[:,0],'g.',label='recDot')
hl+=ax.plot(rec[-1:,1],rec[-1:,0],'r.--',label='recNxt')
#hh=ax.plot(rec[idxTrigger,1],rec[idxTrigger,0],'rx',label='trig')
#hh[0].get_markeredgewidth();hh[0].get_markersize()
hl+=ax.plot(rec[idxTrigger,1],rec[idxTrigger,0],'rx',label='trig',markeredgewidth=1.,markersize=6.)
#hl+=ax.plot(recPts[:,1],recPts[:,0],'g.',label='recDot')
ax.xaxis.set_label_text('x-pos um')
ax.yaxis.set_label_text('y-pos um')
ax.axis('equal')
@@ -149,7 +141,7 @@ class MPLCanvasImg(FigureCanvas):
def OnBtnPress(self, event):
"""on button press we will see if the mouse is over us and store some data"""
print(dir(event.guiEvent))
#print(dir(event.guiEvent))
return
if event.inaxes == self.colBar.ax:
#if event.guiEvent.LeftDClick()==True:
@@ -247,7 +239,7 @@ class MAxyPlotFrame(wx.Frame):
#wxAxCtrl.SetCallback(MAxyPlotFrame.OnSetView,wxAxCtrl)
#sizer.Add(wxAxCtrl.sizer, 0, wx.EXPAND | wx.ALIGN_CENTER | wx.ALL, border=5)
canvas.InitChild(doc.fh['pts'],doc.fh['rec'])
canvas.InitChild(doc)
#self.Fit()
self.Centre()
@@ -295,6 +287,7 @@ class MAxyPlotFrame(wx.Frame):
hl=canvas.hl
hl[2].set_data(rec[:idx+1, 3], rec[:idx+1, 2])
hl[3].set_data(rec[:idx+1, 1], rec[:idx+1, 0])
hl[4].set_data(rec[idx:idx+10, 1], rec[idx:idx+10, 0])
#ax.draw_artist(hl[2])
x=ax.get_xlim();x=(x[1]-x[0])/2;
y=ax.get_ylim();y=(y[1]-y[0])/2;