Creation
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
###################################################################################################
|
||||
# Demonstrate use of scan callbacks to trigger a detector at falling edge.
|
||||
###################################################################################################
|
||||
|
||||
|
||||
def BeforeReadout():
|
||||
ao1.write(1)
|
||||
ao1.write(0)
|
||||
|
||||
#Example with an epics direct channel access
|
||||
#caput("CHANNEL_NAME", 1)
|
||||
#caput("CHANNEL_NAME", 0)
|
||||
|
||||
index=0
|
||||
|
||||
def AfterReadout():
|
||||
global index
|
||||
print "Aquired frame: " + str(index)
|
||||
index=index+1
|
||||
|
||||
a= lscan((m1,m2), (ai1, ai2), (0,0), (4,8), steps=20, latency = 0.01, before_read=BeforeReadout, after_read=AfterReadout)
|
||||
@@ -0,0 +1,29 @@
|
||||
###################################################################################################
|
||||
# Demonstrate the use of Line Scan: one or multiple positioners move together linearly.
|
||||
###################################################################################################
|
||||
|
||||
|
||||
#This optional preference limits the displayed plots
|
||||
#set_preference(Preference.ENABLED_PLOTS, [ai1, ai2,])
|
||||
|
||||
#This optional preference displays wf1 as a 1d plot at each scan point, instead of a matrix plot
|
||||
#set_preference(Preference.PLOT_TYPES, {wf1:1})
|
||||
|
||||
#Execute the scan: 200 steps, a1 from 0 to 40
|
||||
a= lscan(ao1, (ai1,ai2,wf1), 0, 40, 200, 0.01)
|
||||
|
||||
#Also samples an image:
|
||||
#a= lscan(ao1, (ai1,ai2,wf1), 0, 40, 200, 0.01)
|
||||
|
||||
#Alternative: Steps of size 0.1, a1 from 0 to 40
|
||||
#a= lscan(ao1, (ai1,ai2,wf1), 0, 40, 0.5, 0.01)
|
||||
|
||||
#2 positioners moving together in 200 steps, a1 from 0 to 40 and a2 from 0 to 100
|
||||
#a= lscan((ao1,ao2), (ai1,ai2,wf1), (0, 0), (40, 100), 200, 0.01)
|
||||
|
||||
#Setting attributes to the scan group
|
||||
path = get_current_group()
|
||||
set_attribute(path, "AttrString", "Value")
|
||||
set_attribute(path, "AttrInteger", 1)
|
||||
set_attribute(path, "AttrDouble", 2.0)
|
||||
set_attribute(path, "AttrBoolean", True)
|
||||
@@ -0,0 +1 @@
|
||||
lscan(SINSB01_phase, energy_BC1, 0.0, 360.0, 10.0, 2.0)
|
||||
@@ -0,0 +1,21 @@
|
||||
###################################################################################################
|
||||
# Demonstrate use of scan callbacks to trigger a detector at falling edge.
|
||||
###################################################################################################
|
||||
|
||||
|
||||
def BeforeReadout():
|
||||
ao1.write(1)
|
||||
ao1.write(0)
|
||||
|
||||
#Example with an epics direct channel access
|
||||
#caput("CHANNEL_NAME", 1)
|
||||
#caput("CHANNEL_NAME", 0)
|
||||
|
||||
index=0
|
||||
|
||||
def AfterReadout():
|
||||
global index
|
||||
print "Aquired frame: " + str(index)
|
||||
index=index+1
|
||||
|
||||
a= lscan((m1,m2), (ai1, ai2), (0,0), (4,8), steps=20, latency = 0.01, before_read=BeforeReadout, after_read=AfterReadout)
|
||||
@@ -0,0 +1,21 @@
|
||||
###################################################################################################
|
||||
# Demonstrate use of Vector Scan: one or multiple positioners set according to a position vector.
|
||||
###################################################################################################
|
||||
|
||||
|
||||
#1D vector scan, plot to 1D Vector tab
|
||||
vector = [ 1, 3, 5, 10, 25, 40, 45, 47, 49]
|
||||
a= vscan(ao1,(ai1,ai2),vector,False, 0.5, context = "1D Vector")
|
||||
|
||||
|
||||
|
||||
|
||||
#2D vector scan, plot to 2D Vector tab
|
||||
vector = [ [1,1] , [1,2] , [1,3] , [1,4] ,
|
||||
[1.5,2.5] ,
|
||||
[2,1] , [2,2] , [2,3] , [2,4] ,
|
||||
[2.5,2.5] ,
|
||||
[3,1] , [3,2] , [3,3] , [3,4] ]
|
||||
|
||||
a= vscan((m1,m2),(ai1,ai2),vector,False, 0.1, context = "2D Vector")
|
||||
|
||||
Reference in New Issue
Block a user