diff --git a/script/tests/devices/DMAF1/.config b/script/tests/devices/DMAF1/.config
deleted file mode 100644
index e5ad97b..0000000
--- a/script/tests/devices/DMAF1/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=DMAF1
-description=Collimators
-tests=Collimator Tests pro
diff --git a/script/tests/devices/FMA1XR/.config b/script/tests/devices/FMA1XR/.config
deleted file mode 100644
index af412ce..0000000
--- a/script/tests/devices/FMA1XR/.config
+++ /dev/null
@@ -1,4 +0,0 @@
-#Mon Sep 21 15&08&09 CEST 2015
-name=FMA1XR
-tests=Collimator Tests pro
-description=Spalt
diff --git a/script/tests/devices/Gantry1/.config b/script/tests/devices/Gantry1/.config
deleted file mode 100644
index 53a0996..0000000
--- a/script/tests/devices/Gantry1/.config
+++ /dev/null
@@ -1,5 +0,0 @@
-#Wed Oct 18 10:54:16 CEST 2017
-name=Gantry1
-tests=RPS Tests Betriebsmode
-description=rps section till Gantry 1
-parameters=mode&"2,IQCOM,$GNT1,1,DIA"&"betriebsmode";expectedVal14&"0x0040"&"[hex] Expected value for channels 1-4";expectedVal58&"0x0000"&"[hex] Expected value for channels 5-8";
diff --git a/script/tests/devices/Gantry2/.config b/script/tests/devices/Gantry2/.config
deleted file mode 100644
index e1a8365..0000000
--- a/script/tests/devices/Gantry2/.config
+++ /dev/null
@@ -1,5 +0,0 @@
-#Wed Oct 18 10:54:16 CEST 2017
-name=Gantry2
-tests=RPS Tests Betriebsmode
-description=rps section till Gantry 2
-parameters=mode&"2,IQCOM,$GNT2,1,DIA"&"betriebsmode";expectedVal14&"0x0000"&"[hex] Expected value for channels 1-4";expectedVal58&"0x0004"&"[hex] Expected value for channels 5-8";
diff --git a/script/tests/devices/Gantry3/.config b/script/tests/devices/Gantry3/.config
deleted file mode 100644
index 7c2fa77..0000000
--- a/script/tests/devices/Gantry3/.config
+++ /dev/null
@@ -1,5 +0,0 @@
-#Wed Oct 18 10:54:16 CEST 2017
-name=Gantry3
-tests=RPS Tests Betriebsmode
-description=rps section till Gantry 3
-parameters=mode&"2,IQCOM,$GNT3,1,DIA"&"betriebsmode";expectedVal14&"0x0400"&"[hex] Expected value for channels 1-4";expectedVal58&"0x0000"&"[hex] Expected value for channels 5-8";
diff --git a/script/tests/devices/PO2DV-NCS-LS/.config b/script/tests/devices/PO2DV-NCS-LS/.config
deleted file mode 100644
index 24fb82e..0000000
--- a/script/tests/devices/PO2DV-NCS-LS/.config
+++ /dev/null
@@ -1,4 +0,0 @@
-name=PO2DV-NCS-LS
-description=Optis 2 Linear Slide in test office setup
-#tests=Collimator Tests
-tests=Linear Slide Tests
\ No newline at end of file
diff --git a/script/tests/devices/PO2DV-NCS-VHQ1 - Copy (2)/.config b/script/tests/devices/PO2DV-NCS-VHQ1 - Copy (2)/.config
deleted file mode 100644
index d6b0c01..0000000
--- a/script/tests/devices/PO2DV-NCS-VHQ1 - Copy (2)/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2DV-NCS-VHQ3
-description=Optis 2 Linear Slide in test office setup
-tests=PS Tests
diff --git a/script/tests/devices/PO2DV-NCS-VHQ1 - Copy/.config b/script/tests/devices/PO2DV-NCS-VHQ1 - Copy/.config
deleted file mode 100644
index 5920b09..0000000
--- a/script/tests/devices/PO2DV-NCS-VHQ1 - Copy/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2DV-NCS-VHQ2
-description=Optis 2 Linear Slide in test office setup
-tests=PS Tests
diff --git a/script/tests/devices/PO2DV-NCS-VHQ1/.config b/script/tests/devices/PO2DV-NCS-VHQ1/.config
deleted file mode 100644
index efd82e9..0000000
--- a/script/tests/devices/PO2DV-NCS-VHQ1/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2DV-NCS-VHQ1
-description=Optis 2 Linear Slide in test office setup
-tests=PS Tests
diff --git a/script/tests/devices/PO2TC-NCS-RS/.config b/script/tests/devices/PO2TC-NCS-RS/.config
deleted file mode 100644
index 48567a5..0000000
--- a/script/tests/devices/PO2TC-NCS-RS/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2TC-NCS-RS
-description=RS& Range Shifter
-tests=Range Shifter Tests
diff --git a/script/tests/devices/Production/DMAF1/.config b/script/tests/devices/Production/DMAF1/.config
deleted file mode 100644
index b134802..0000000
--- a/script/tests/devices/Production/DMAF1/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PROF02&DMAF1
-description=Collimators
-tests=Collimator Tests pro
diff --git a/script/tests/devices/Production/PO2DV-NCS-VHQ1/.config b/script/tests/devices/Production/PO2DV-NCS-VHQ1/.config
deleted file mode 100644
index efd82e9..0000000
--- a/script/tests/devices/Production/PO2DV-NCS-VHQ1/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2DV-NCS-VHQ1
-description=Optis 2 Linear Slide in test office setup
-tests=PS Tests
diff --git a/script/tests/devices/Production/PO2TC-NCS-FIXL/.config b/script/tests/devices/Production/PO2TC-NCS-FIXL/.config
deleted file mode 100644
index 3058e57..0000000
--- a/script/tests/devices/Production/PO2TC-NCS-FIXL/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2TC-NCS-FIXL
-description=FIXL& Fixation Light
-tests=Display Tests
diff --git a/script/tests/devices/Production/PO2TC-NCS-MWD/.config b/script/tests/devices/Production/PO2TC-NCS-MWD/.config
deleted file mode 100644
index ba69bed..0000000
--- a/script/tests/devices/Production/PO2TC-NCS-MWD/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2TC-NCS-MWD
-description=MWD& Modulator Wheel Display
-tests=Display Tests
diff --git a/script/tests/devices/Production/PO2TC-NCS-SC21/.config b/script/tests/devices/Production/PO2TC-NCS-SC21/.config
deleted file mode 100644
index 0f00694..0000000
--- a/script/tests/devices/Production/PO2TC-NCS-SC21/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2TC-NCS-SC21
-description=SC21& Scatter Foil 2.1
-tests=Linear Slide Tests
diff --git a/script/tests/devices/Production/PO2TC-NCS-SC22/.config b/script/tests/devices/Production/PO2TC-NCS-SC22/.config
deleted file mode 100644
index 4e36bf8..0000000
--- a/script/tests/devices/Production/PO2TC-NCS-SC22/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2TC-NCS-SC22
-description=SC21& Scatter Foil 2.2
-tests=Linear Slide Tests
diff --git a/script/tests/devices/Production/PO2TC-NCS-SC23/.config b/script/tests/devices/Production/PO2TC-NCS-SC23/.config
deleted file mode 100644
index e80429e..0000000
--- a/script/tests/devices/Production/PO2TC-NCS-SC23/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=PO2TC-NCS-SC23
-description=SC23& Scatter Foil 2.3
-tests=Linear Slide Tests
diff --git a/script/tests/devices/bx84/.config b/script/tests/devices/bx84/.config
deleted file mode 100644
index 715eae5..0000000
--- a/script/tests/devices/bx84/.config
+++ /dev/null
@@ -1,5 +0,0 @@
-#Tue Oct 03 13&56&43 CEST 2017
-name=bx84
-tests=sad
-description=simulation device in playground
-parameters=delay&".2"&"delay between 2 steps";bla&"234"&"bla bla";setVal&"11"&"value to set";expectedVal&"18.1"&"expected returned value";mask&"2"&"bit mask";
diff --git a/script/tests/devices/bx84_2/.config b/script/tests/devices/bx84_2/.config
deleted file mode 100644
index 406d46e..0000000
--- a/script/tests/devices/bx84_2/.config
+++ /dev/null
@@ -1,5 +0,0 @@
-#Fri Oct 13 10:59:28 CEST 2017
-name=bx84_2
-tests=sad
-parameters=a&IQCOM,$GNT3,1,DIA\:22&23;delay&.2&delay between 2 steps;bla&234&bla bla;setVal&21&value to set;expectedVal&18.1&expected returned value;mask&2&bit mask;
-description=simulation device in playground
diff --git a/script/tests/devices/newdev/.config b/script/tests/devices/newdev/.config
deleted file mode 100644
index 64271c8..0000000
--- a/script/tests/devices/newdev/.config
+++ /dev/null
@@ -1,5 +0,0 @@
-#Fri Oct 13 12:10:12 CEST 2017
-name=newdev
-tests=RPS Tests Betriebsmode
-parameters="pv"&"PXXF\:VAL\:2"&"ssp";"ds"&"2,IQCOM,$BMA1,1,DIA"&"vla";
-description=del
diff --git a/script/tests/tests/Collimator Tests pro/Calibrate/.config b/script/tests/tests/Collimator Tests pro/Calibrate/.config
deleted file mode 100644
index 5e59d3d..0000000
--- a/script/tests/tests/Collimator Tests pro/Calibrate/.config
+++ /dev/null
@@ -1,12 +0,0 @@
-name=Calibrate
-description=Calibrates the device
-filename=Calibrate.xml
-help = \
-This test sends a command to the low level firmware which controls the collimators \n\
-requesting that it calibrates itself. \n\n\
-Calibration involves moving to the R1 and R2 reference positions and measuring the \n\
-number of steps required to do so. At the end of the sequence the default collimator \n\
-will be selected. \n\n\
-During the course of the expected calibration period (45-70 seconds) the test \n\
-procedure will plot the values of all critical system variables. \n\n\
-For further information please consult Valery Ovinnikov.
\
diff --git a/script/tests/tests/Collimator Tests pro/Calibrate/Calibrate.py b/script/tests/tests/Collimator Tests pro/Calibrate/Calibrate.py
deleted file mode 100644
index 344762f..0000000
--- a/script/tests/tests/Collimator Tests pro/Calibrate/Calibrate.py
+++ /dev/null
@@ -1,139 +0,0 @@
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
- samplePeriod = 0.1
-
-######### WRITE YOUR CODE HERE BELOW #############
- scan = ManualScan(['time [1/'+ str(1/samplePeriod) + ' s]'], ['Motor Pos (IST3:2)', 'Poti Position (IST2:1)',
- 'Motor Status (STA:1)', 'Inkr (INKR:2)', 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)', 'Logical Position (IST:2)',
- 'Motor Pos Raw (IST3:1)','Poti Pos From Beam (IST1:2)',
- 'Poti Raw (POSA:1)', 'Poti Ref1 Position (REF1:1)', 'Poti Ref2 Position (REF2:1)'])
- scan.setPlotTitle(plotName)
- scan.start()
-
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idMotorPositionRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idPotiPosFromBeam = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
-
- #Pre-actions: 1 = calibrate
- caput(DEVICE+':COM:2', 1)
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback( ret, success)
- return
-
- countDeviceInModeIdle = 0
- for setpoint1 in range(0, 10000):
- sleep( samplePeriod ) # Settling time
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- MotorPositionRaw = idMotorPositionRaw.get()
- MotorPosition = idMotorPosition.get()
- PotiPosFromBeam = idPotiPosFromBeam.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
- scan.append([setpoint1], [setpoint1],
- [MotorPosition, PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, LogicalPosition,
- MotorPositionRaw, PotiPosFromBeam, PotiRaw, PotiRef1Position, PotiRef2Position])
-
- if (int(MotorStatus) & int('1',2))==0: #device finished calibration (bit#1)
- #give the device some time before stating that it has really finished
- countDeviceInModeIdle = countDeviceInModeIdle +1
- if countDeviceInModeIdle == 10:
- break
- else:
- countDeviceInModeIdle = 0
-
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- #Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idMotorPositionRaw.close()
- idMotorPosition.close()
- idPotiPosFromBeam.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idInkr.close()
- idInkrRb.close()
- scan.end()
-
- ret = 'Calibration done'
- success = True
- scan.end()
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Calibrate/Calibrate.xml b/script/tests/tests/Collimator Tests pro/Calibrate/Calibrate.xml
deleted file mode 100644
index 7e5028f..0000000
--- a/script/tests/tests/Collimator Tests pro/Calibrate/Calibrate.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 900
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Drive Out/.config b/script/tests/tests/Collimator Tests pro/Drive Out/.config
deleted file mode 100644
index 3589d0d..0000000
--- a/script/tests/tests/Collimator Tests pro/Drive Out/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=Drive Out
-description=Drives the Collimator to the Out Position
-filename=Drive Out.xml
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out - Copy.py b/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out - Copy.py
deleted file mode 100644
index 704a950..0000000
--- a/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out - Copy.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#Script imported from: Drive Out.xml
-import traceback
-
-#by default, failed
-ret = 'Test failed'
-success = False
-
-try:
- #Pre-actions: 2 = drive out
- caput(DEVICE+':COM:2', 2)
- #Creating channels: dimension 1
- #PseudoPositioner id000000
- #ScalarDetector id000001
- id000001 = Channel(DEVICE+':STA:1', type = 'd')
- #ScalarDetector id000003
- id000003 = Channel(DEVICE+':IST:2', type = 'd')
- #ScalarDetector id000004
- id000004 = Channel(DEVICE+':DIAM:2', type = 'd')
- #ScalarDetector id000005
- id000005 = Channel(DEVICE+':IST1:1', type = 'd')
- #ScalarDetector id000006
- id000006 = Channel(DEVICE+':IST1:2', type = 'd')
- #ScalarDetector id000007
- id000007 = Channel(DEVICE+':IST2:1', type = 'd')
- #ScalarDetector id000008
- id000008 = Channel(DEVICE+':IST2:2', type = 'd')
- #ScalarDetector id000009
- id000009 = Channel(DEVICE+':IST3:1', type = 'd')
- #ScalarDetector id000010
- id000010 = Channel(DEVICE+':IST3:2', type = 'd')
-except:
- print "Unexpected error:", sys.exc_info()[0]
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- raise Exception('Unable to create channel - ' + traceback.format_exc())
- sys.exit()
-
-#TODO: Set the diplay names of positioners and detectors
-scan = ManualScan(['id000000'], ['id000001', 'id000003', 'id000004', 'id000005', 'id000006', 'id000007', 'id000008', 'id000009', 'id000010'] , [0.0], [3000.0], [3000])
-scan.start()
-
-#Dimension 1
-#PseudoPositioner id000000
-for setpoint1 in range(0, 3000):
- readback1 = setpoint1
- sleep( 0.1 ) # Settling time
- #Detector id000001
- detector1 = id000001.get()
- #Detector id000003
- detector2 = id000003.get()
- #Detector id000004
- detector3 = id000004.get()
- #Detector id000005
- detector4 = id000005.get()
- #Detector id000006
- detector5 = id000006.get()
- #Detector id000007
- detector6 = id000007.get()
- #Detector id000008
- detector7 = id000008.get()
- #Detector id000009
- detector8 = id000009.get()
- #Detector id000010
- detector9 = id000010.get()
- scan.append ([setpoint1], [readback1], [detector1, detector2, detector3, detector4, detector5, detector6, detector7, detector8, detector9])
-
-#Closing channels
-id000001.close()
-id000003.close()
-id000004.close()
-id000005.close()
-id000006.close()
-id000007.close()
-id000008.close()
-id000009.close()
-id000010.close()
-
-scan.end()
-
-#return ok
-ret = 'Slides moved out'
-success = True
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out.py b/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out.py
deleted file mode 100644
index 53b0594..0000000
--- a/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# Drive Out
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
- samplePeriod = 0.1
-
-######### WRITE YOUR CODE HERE BELOW #############
- scan = ManualScan(['time [1/'+ str(1/samplePeriod) + ' s]'], ['Motor Pos (IST3:2)', 'Poti Position (IST2:1)',
- 'Motor Status (STA:1)', 'Inkr (INKR:2)', 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)', 'Com (COM:2)', 'Logical Position (IST:2)',
- 'Motor Pos Raw (IST3:1)','Poti Pos From Beam (IST1:2)',
- 'Poti Raw (POSA:1)', 'Poti Ref1 Position (REF1:1)', 'Poti Ref2 Position (REF2:1)'])
- scan.setPlotTitle(plotName)
- scan.start()
-
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idMotorPositionRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idPotiPosFromBeam = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
-
- #Pre-actions: 2 = drive out
- caput(DEVICE+':COM:2', 2)
- sleep( samplePeriod ) # Settling time
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback( ret, success)
- return
-
- for setpoint1 in range(0, 10000):
- sleep( samplePeriod ) # Settling time
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- MotorPositionRaw = idMotorPositionRaw.get()
- Com = idCom.get()
- MotorPosition = idMotorPosition.get()
- PotiPosFromBeam = idPotiPosFromBeam.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
-
- scan.append([setpoint2], [setpoint2],
- [MotorPosition, PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, Com, LogicalPosition,
- MotorPositionRaw, PotiPosFromBeam, PotiRaw, PotiRef1Position, PotiRef2Position])
-
- if (MotorStatus & int('1',2))==0: #device finished calibration (bit#1)
- #give the device some time before stating that it has really finished
- countDeviceInModeIdle = countDeviceInModeIdle +1
- if countDeviceInModeIdle == 10:
- break
- else:
- countDeviceInModeIdle = 0
-
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- #Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idMotorPositionRaw.close()
- idCom.close()
- idMotorPosition.close()
- idPotiPosFromBeam.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idInkr.close()
- idInkrRb.close()
- scan.end()
-
- ret = 'Drive Out done'
- success = True
- scan.end()
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out.xml b/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out.xml
deleted file mode 100644
index 5a1c925..0000000
--- a/script/tests/tests/Collimator Tests pro/Drive Out/Drive Out.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 3000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Monitor Movement/.config b/script/tests/tests/Collimator Tests pro/Monitor Movement/.config
deleted file mode 100644
index 916f437..0000000
--- a/script/tests/tests/Collimator Tests pro/Monitor Movement/.config
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri Jun 09 14&14&06 CEST 2017
-name=Monitor Movement
-description=Monitor the movements during the specified time interval. No commands are sent.
-parameters=monitorTime&20&How long the monitoring is performed [s];samplingDelay&0.1&Delay between each sample is taken [s];
diff --git a/script/tests/tests/Collimator Tests pro/Monitor Movement/Monitor Movement.py b/script/tests/tests/Collimator Tests pro/Monitor Movement/Monitor Movement.py
deleted file mode 100644
index 5a4b63f..0000000
--- a/script/tests/tests/Collimator Tests pro/Monitor Movement/Monitor Movement.py
+++ /dev/null
@@ -1,98 +0,0 @@
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-def startTest(testName, DEVICE, params):
- #by default, assume the test failed
- ret = 'Test failed'
- success = False
- #plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- #put the whole custom code under try/catch
- try:
- #get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- #init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
-
-######### WRITE YOUR CODE HERE BELOW #############
- #get parameters from the calling interface
- try:
- #test.log( "with the following parameters:\n" + str(params))
- #test.log( 'testpath: ' + testPath )
- #test.log( 'parameters:' + str( params) )
- #test.log( 'device: ' + DEVICE )
- monitorTime = float(test.getParam("monitorTime"))
- samplePeriod = 0.05 #seconds
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- test.sendFeedback( ret, success)
- return
-
- #get parameters from the calling interface
- scan = ManualScan(['time [s]'],
- ['Motor Pos (IST3:2)', 'Poti Position (IST2:1)', 'Motor Pos - Poti Pos'] )
- scan.setPlotTitle(plotName)
- scan.start()
-
- #Creating channels: dimension 1
- try:
- idCom = Channel(DEVICE+':COM:2' , type = 'd') #current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE+':IST3:2', type = 'd') #current position as from motor step counter [mm]
- #idPotiPosFromBeam = Channel(DEVICE+':IST1:2', type = 'd') #current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE+':IST2:1', type = 'd') #current position as from potentiometer [mm]
- #idPotiRef1Position = Channel(DEVICE+':REF1:1', type = 'd') #R1 position as from potentiometer [mm]
- #idPotiRef2Position = Channel(DEVICE+':REF2:1', type = 'd') #R2 position as from potentiometer [mm]
-
- except:
- test.sendFeedback( 'Unable to create channel - ' + traceback.format_exc(), False)
- return
-
- r1 = tscan((idMotorPosition, idPotiPosition), int(monitorTime/0.02), 0.02)
-
-
- test.log( 'Monitoring movement for ' + str(monitorTime) + 's')
- #scan quickly the output during some seconds
- timeElapsed=0
- startTime=float(java.lang.System.currentTimeMillis())
- currentTime = float(java.lang.System.currentTimeMillis())
- timeElapsed=currentTime-startTime
- while timeElapsed<(monitorTime*1000):
- #Detector time
- currentTime = float(java.lang.System.currentTimeMillis())
- timeElapsed=currentTime-startTime
- motorPosition = idMotorPosition.get()
- #potiPosFromBeam = idPotiPosFromBeam.get()
- potiPosition = idPotiPosition.get()
- #potiRef1Position = idPotiRef1Position.get()
- #potiRef2Position = idPotiRef2Position.get()
- diff1 = motorPosition-potiPosition
- scan.append ([timeElapsed/1000], [timeElapsed/1000], [motorPosition, potiPosition, diff1])
- sleep( samplePeriod ) # Settling time
- #timeElapsed=timeElapsed+1
-
- #Closing channels
- idCom.close()
- idMotorPosition.close()
- #idPotiPosFromBeam.close()
- idPotiPosition.close()
- #idPotiRef1Position.close()
- #idPotiRef2Position.close()
- ret = 'End of Monitoring'
- success = True
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- #just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- #generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-#launch the test
-startTest(test, device, parameters)
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests pro/Monitor Movement/help.html b/script/tests/tests/Collimator Tests pro/Monitor Movement/help.html
deleted file mode 100644
index 7d4e3ca..0000000
--- a/script/tests/tests/Collimator Tests pro/Monitor Movement/help.html
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-Description
-Monitor the movements during the specified time interval. No commands are sent.
-Parameters
-monitorTime Monitoring time interval [s]
-samplingDelay Delay between each sample is taken [s]
-Contact
-Marco Boccioli
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 1/.config b/script/tests/tests/Collimator Tests pro/Motor Test 1/.config
deleted file mode 100644
index 82f7ba0..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 1/.config
+++ /dev/null
@@ -1,7 +0,0 @@
-name=Motor Test 1
-description=Moves to CW switch then CCW switch N times.
-
-
-#optional parameters. Description is compulsory. Syntax&
-#parameters=&&[;&&]
-parameters=repeatTimes&1&Repeat N times;delayS&5&Pause delay [s]
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1 - Copy.py b/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1 - Copy.py
deleted file mode 100644
index f14d7ef..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1 - Copy.py
+++ /dev/null
@@ -1,154 +0,0 @@
-#Script Motor Test 1
-#Moves to CCW switch; then for M times moves N times to CW switch then CCW switch; between each M pauses for delay; log at CCW and CW
-
-import traceback
-
-#by default, failed
-ret = 'Test failed'
-status = False
-DEVICE = device
-params = parameters
-#DEVICE = 'PO2DV-NCS-LS'
-#get parameters from the calling interface
-try:
- print "Running test Motor Test 1 with the following parameters:"
- print params
- loopTimes = int(params["repeatTimes"]["value"])
- delaySeconds = int(params["delayS"]["value"])
-except:
- print "Could not retrieve testing parameters: ", sys.exc_info()[0]
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- raise Exception('Could not retrieve testing parameters - ' + traceback.format_exc())
-
-#TODO: Set the diplay names of positioners and detectors
-#scan = ManualScan(['idX', 'idInkr'], ['idMotorStatus', 'idLogicalPosition', 'idDiameter', 'idMotorPosition', 'idPotiRaw', 'idPotiProc', 'idBtvsRaw', 'idBtvsProc', 'idDiff01', 'idDiff02'] , [-0.5, 0.0], [4.0, 3000.0], [3000, 20])
-scan = ManualScan(['idX'], ['idMotorStatus', 'idLogicalPosition', 'idDiameter', 'idMotorPosition', 'idPotiRaw', 'idPotiProc', 'idBtvsRaw', 'idBtvsProc', 'idDiff01', 'idDiff02'] , [ 0.0], [ 3000.0], [20])
-scan.start()
-#Creating channels: dimension 1
-try:
- #RegionPositioner idInkr
- #idInkr = Channel(DEVICE+':INKR:2', type = 'd')
- idInkr = Channel(DEVICE+':MOTOR.VAL', type = 'd')
- #ScalarDetector idMotorStatus
- #idMotorStatus = Channel(DEVICE+':STA:1', type = 'd')
- idMotorStatus = Channel(DEVICE+':MOTOR.MSTA', type = 'd')
- #ScalarDetector idLogicalPosition
- #idLogicalPosition = Channel(DEVICE+':IST:2', type = 'd')
- idLogicalPosition = Channel(DEVICE+':MOTOR.RVAL', type = 'd')
- #ScalarDetector idDiameter
- #idDiameter = Channel(DEVICE+':DIAM:2', type = 'd')
- idDiameter = Channel(DEVICE+':ENCODERoff', type = 'd')
- #ScalarDetector idMotorPosition
- #idMotorPosition = Channel(DEVICE+':IST1:2', type = 'd')
- idMotorPosition = Channel(DEVICE+':MOTOR.RBV', type = 'd')
- #ScalarDetector idPotiRaw
- #idPotiRaw = Channel(DEVICE+':POSA:1', type = 'd')
- idPotiRaw = Channel(DEVICE+':ENCODERraw', type = 'd')
- #ScalarDetector idPotiProc
- #idPotiProc = Channel(DEVICE+':POSA:2', type = 'd')
- idPotiProc = Channel(DEVICE+':ENCODER', type = 'd')
- #ScalarDetector idBtvsRaw
- #idBtvsRaw = Channel(DEVICE+':IST3:1', type = 'd')
- idBtvsRaw = Channel(DEVICE+':MOTOR.LLS', type = 'd')
- #ScalarDetector idBtvsProc
- #idBtvsProc = Channel(DEVICE+':IST3:2', type = 'd')
- idBtvsProc = Channel(DEVICE+':MOTOR.HLS', type = 'd')
- #ScalarDetector idEndSwitchL
- #idBtvsRaw = Channel(DEVICE+':IST3:1', type = 'd')
- idEndSwitchL = Channel(DEVICE+':MOTOR.LLS', type = 'd')
- #ScalarDetector idEndSwitchH
- #idBtvsProc = Channel(DEVICE+':IST3:2', type = 'd')
- idEndSwitchH = Channel(DEVICE+':MOTOR.HLS', type = 'd')
- #high position limit
- idLimitH = Channel(DEVICE+':MOTOR.HLM', type = 'd')
- #low position limit
- idLimitL = Channel(DEVICE+':MOTOR.LLM', type = 'd')
-except:
- print "Unexpected error:", sys.exc_info()[0]
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- raise Exception('Unable to create channel - ' + traceback.format_exc())
- sys.exit()
-
-#remove limits
-idLimitH.put(999999.9, timeout=None)
-idLimitL.put(-999999.9, timeout=None)
-#Dimension 1
-direction = 1.0;
-startDefault = -100.0
-endDefault = 1000.0
-end = endDefault
-#find position at Low end switch: it will be the starting point of the test
-print 'Homing'
-idInkr.put(-100.0, timeout=None) # TODO: Set appropriate timeout
-start = startDefault #idInkr.get()+direction
-setpoint2 = end
-count = 0
-print 'Starting test sequence'
-for setpoint1 in range(0, loopTimes*2):
- sleep( delaySeconds ) # Settling time
- #RegionPositioner idInkr
- idInkr.put(setpoint2, timeout=None) # TODO: Set appropriate timeout
- readback2 = idInkr.get()
- #if abs(readback2 - setpoint2) > 1 : # TODO: Check accuracy
- # ret = 'Actor idInkr could not be set to the value ' + str(setpoint2) + ' (current value: ' + str(readback2) + ')'
- # success = False
- # raise Exception(ret)
- #Detector idMotorStatus
- detector1 = idMotorStatus.get()
- #Detector idLogicalPosition
- detector2 = idLogicalPosition.get()
- #Detector idDiameter
- detector3 = idDiameter.get()
- #Detector idMotorPosition
- detector4 = idMotorPosition.get()
- #Detector idPotiRaw
- detector5 = idPotiRaw.get()
- #Detector idPotiProc
- detector6 = idPotiProc.get()
- #Detector idBtvsRaw
- detector7 = idBtvsRaw.get()
- #Detector idBtvsProc
- detector8 = idBtvsProc.get()
- #end switches
- endH = idEndSwitchH.get()
- endL = idEndSwitchL.get()
- #Manipulation idDiff02
- #Variable Mappings
- a = detector4
- b = detector8
- idDiff02 = a-b
- #Manipulation idDiff01
- #Variable Mappings
- a = detector4
- b = detector6
- count = count + 1
- idDiff01 = a-b
- if endH>0.0 :
- #invert direction and swap start with end of translation
- setpoint2 = start
- print 'End H switch, changing target to ' + str(setpoint2)
- scan.append ([setpoint2], [readback2], [detector1, detector2, detector3, detector4, detector5, detector6, detector7, detector8, idDiff02, idDiff01])
- if endL>0.0 :
- #invert direction and swap start with end of translation
- setpoint2 = end
- print 'End L switch, changing target to ' + str(setpoint2)
- scan.append ([setpoint2], [readback2], [detector1, detector2, detector3, detector4, detector5, detector6, detector7, detector8, idDiff02, idDiff01])
-
-#set limits back
-idLimitH.put(145.0, timeout=None)
-idLimitL.put(0.0, timeout=None)
-#Closing channels
-idInkr.close()
-idMotorStatus.close()
-idLogicalPosition.close()
-idDiameter.close()
-idMotorPosition.close()
-idPotiRaw.close()
-idPotiProc.close()
-idBtvsRaw.close()
-idBtvsProc.close()
-scan.end()
-ret = 'Slide moved back and forth (' + str(count) + ' runs)'
-status = True
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1.py b/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1.py
deleted file mode 100644
index e449c36..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1.py
+++ /dev/null
@@ -1,187 +0,0 @@
-# Script Motor Test 1
-# Moves to CCW switch; then for M times moves N times to CW switch then CCW switch; between each M pauses for delay; log at CCW and CW
-
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
-
-######### WRITE YOUR CODE HERE BELOW #############
-
- # DEVICE = 'PO2DV-NCS-LS'
- # get parameters from the calling interface
- try:
- test.log("Running test with the following parameters:")
- test.log(params)
- loopTimes = int(test.getParam("repeatTimes"))
- delaySeconds = int(test.getParam("delayS"))
- samplePeriod = 0.05 #seconds
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- scan = ManualScan(['time [1/'+ str(1/samplePeriod) + ' s]'], [
- 'Btvs Poti Position (IST3:2)',
- 'Mcs Poti Position (IST2:1)',
- 'Motor Status (STA:1)',
- 'Inkr (INKR:2)',
- 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)',
- 'Logical Position (IST:2)',
- 'Btvs Raw (IST3:1)',
- 'Motor Position (IST1:2)',
- 'Poti Raw (POSA:1)',
- 'Poti Ref1 Position (REF1:1)',
- 'Poti Ref2 Position (REF2:1)'])
-
- p1 = plot(None, name = "Motor Position - Btvs Poti Position", context = plotName + " pos difference")[0]
- scan.setPlotTitle(plotName)
- scan.start()
- # Creating channels: dimension 1
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idBtvsRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # motor commands [0=Stop; 1=Calibrate; 2=gotoR1; 3=gotoR2]
- idBtvs = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- end = 4.0 #go to R2
- start = 3.0 #go to R1
- setpoint2 = end
- count = 0
- test.log('Starting test sequence')
- for setpoint1 in range(0, (loopTimes * 2)):
- p1.addSeries(LinePlotSeries("Run"+str(count)))
- sleep(delaySeconds) # Settling time between runs
- # RegionPositioner idInkr
- idCom.put(setpoint2, timeout=None) # TODO: Set appropriate timeout
- count = count + 1
- # scan for changes
- for scanTimes in range(0, 100000):
- sleep(samplePeriod)
- currentTime = float(java.lang.System.currentTimeMillis())
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- BtvsRaw = idBtvsRaw.get()
- Btvs = idBtvs.get()
- MotorPosition = idMotorPosition.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
- idDiff01 = MotorPosition - Btvs
-
- scan.append([currentTime], [currentTime],
- [Btvs, PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, LogicalPosition,
- BtvsRaw, MotorPosition, PotiRaw, PotiRef1Position, PotiRef2Position])
-
- p1.getSeries(count).appendData(currentTime, idDiff01)
-
- #extract Status bits
- endH = bool(int(MotorStatus) & 8) #Ref2 (high limit)
- endL = bool(int(MotorStatus) & 4) #Ref1 (low limit)
-
- #check if arrived to R1 or R2
- if endH:
- # invert direction and swap start with end of translation
- setpoint2 = start
- test.log('Reached R2 switch, changing target to R1')
- break
- elif endL:
- # invert direction and swap start with end of translation
- setpoint2 = end
- test.log('Reached R1 switch, changing target to R2')
- break
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- # Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idBtvsRaw.close()
- idBtvs.close()
- idMotorPosition.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idCom.close()
- idInkr.close()
- idInkrRb.close()
-
- scan.end()
- ret = 'Slide moved back and forth (' + str(count) + ' runs)'
- success = True
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1.py.bak b/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1.py.bak
deleted file mode 100644
index 0d66c9a..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 1/Motor Test 1.py.bak
+++ /dev/null
@@ -1,178 +0,0 @@
-# Script Motor Test 1
-# Moves to CCW switch; then for M times moves N times to CW switch then CCW switch; between each M pauses for delay; log at CCW and CW
-
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
-
-######### WRITE YOUR CODE HERE BELOW #############
-
- # DEVICE = 'PO2DV-NCS-LS'
- # get parameters from the calling interface
- try:
- test.log("Running test with the following parameters:")
- test.log(params)
- loopTimes = int(test.getParam("repeatTimes"))
- delaySeconds = int(test.getParam("delayS"))
- samplePeriod = 0.05 #seconds
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- scan = ManualScan(['time [1/'+ str(1/samplePeriod) + ' s]'], ['Btvs (IST3:2)', 'Poti Position (IST2:1)',
- 'Motor Status (STA:1)', 'Inkr (INKR:2)', 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)', 'Logical Position (IST:2)',
- 'Btvs Raw (IST3:1)','Motor Position (IST1:2)',
- 'Poti Raw (POSA:1)', 'Poti Ref1 Position (REF1:1)', 'Poti Ref2 Position (REF2:1)'])
- p1 = plot(None, name = "Poti Pos From Beam - Motor Position", context = plotName + " pos difference")[0]
- scan.setPlotTitle(plotName)
- scan.start()
- # Creating channels: dimension 1
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idBtvsRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # current position as from motor step counter [mm]
- idBtvs = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- end = 4.0 #go to R2
- start = 3.0 #go to R1
- setpoint2 = end
- count = 0
- test.log('Starting test sequence')
- for setpoint1 in range(0, (loopTimes * 2)):
- p1.addSeries(LinePlotSeries("Run"+str(count)))
- sleep(delaySeconds) # Settling time between runs
- # RegionPositioner idInkr
- idCom.put(setpoint2, timeout=None) # TODO: Set appropriate timeout
- count = count + 1
- # scan for changes
- for scanTimes in range(0, 100000):
- sleep(samplePeriod)
- currentTime = float(java.lang.System.currentTimeMillis())
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- BtvsRaw = idBtvsRaw.get()
- Btvs = idBtvs.get()
- MotorPosition = idMotorPosition.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
- idDiff01 = PotiPosition - Btvs
-
- scan.append([currentTime], [currentTime],
- [Btvs , PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, LogicalPosition,
- BtvsRaw , MotorPosition, PotiRaw, PotiRef1Position, PotiRef2Position])
-
- p1.getSeries(count).appendData(currentTime, idDiff01)
-
- #extract Status bits
- endH = bool(int(MotorStatus) & 8) #Ref2 (high limit)
- endL = bool(int(MotorStatus) & 4) #Ref1 (low limit)
-
- #check if arrived to R1 or R2
- if endH:
- # invert direction and swap start with end of translation
- setpoint2 = start
- test.log('Reached R2 switch, changing target to R1')
- break
- elif endL:
- # invert direction and swap start with end of translation
- setpoint2 = end
- test.log('Reached R1 switch, changing target to R2')
- break
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- # Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idBtvsRaw .close()
- idBtvs.close()
- idMotorPosition.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idCom.close()
- idInkr.close()
- idInkrRb.close()
-
- scan.end()
- ret = 'Slide moved back and forth (' + str(count) + ' runs)'
- success = True
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 1/help.html b/script/tests/tests/Collimator Tests pro/Motor Test 1/help.html
deleted file mode 100644
index 87b5e83..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 1/help.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-Short Description
-Moves to CW switch then CCW switch N times.
-Details
-Moves to CW switch then CCW switch N times.
-Parameters
-repeatTimes Repeat the moving N times
-delayS Pause delay between each repetition [s]
-Contact
-Marco Boccioli
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 2/.config b/script/tests/tests/Collimator Tests pro/Motor Test 2/.config
deleted file mode 100644
index 01f6773..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 2/.config
+++ /dev/null
@@ -1,7 +0,0 @@
-name=Motor Test 2
-description=Go to absolute position A, then move +B steps, then -2B steps, then +2Bsteps (ie oscillate round centre position, logging after each movement); repeat N times
-
-
-#optional parameters. Description is compulsory. Syntax&
-#parameters=&&[;&&]
-parameters=repeatTimes&1&Repeat N times;midPoint&41.0&Middle point A [mm];spanFromMidPoint&2.0&B steps around middle point A [integer];translationStep&5.0&Step lenght [mm]
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 2/Motor Test 2.py b/script/tests/tests/Collimator Tests pro/Motor Test 2/Motor Test 2.py
deleted file mode 100644
index 5cb7aa4..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 2/Motor Test 2.py
+++ /dev/null
@@ -1,206 +0,0 @@
-# Script Motor Test 2 for production system
-# Go to absolute position A, then move +B steps, then -2B steps, then +2Bsteps (ie oscillate round centre position, logging after each movement); repeat N times
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
-
-######### WRITE YOUR CODE HERE BELOW #############
-
- # get parameters from the calling interface
- try:
- test.log("Running test with the following parameters:")
- test.log(params)
- middle = float(test.getParam("midPoint"))
- loopTimes = int(test.getParam("repeatTimes"))
- span = float(test.getParam("spanFromMidPoint"))
- translationStep = float(test.getParam("translationStep")) # each translation will be this amount of mm
- settlingTime = 0.2 # seconds
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- scan = ManualScan(['time [1/'+ str(1/settlingTime) + ' s]'], ['Btvs Poti Position (IST3:2)', 'Mcs Poti Position (IST2:1)',
- 'Motor Status (STA:1)', 'Inkr (INKR:2)', 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)', 'Logical Position (IST:2)',
- 'Btvs Raw (IST3:1)','Motor Position (IST1:2)',
- 'Poti Raw (POSA:1)', 'Poti Ref1 Position (REF1:1)', 'Poti Ref2 Position (REF2:1)'])
- scan.setPlotTitle(plotName)
- scan.start()
- # coloured plot (one colour per scan)
- p1 = plot(None, name="Motor Position - Btvs Poti Position", context=plotName + " difference")[0]
-
- # Creating channels: dimension 1
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idBtvsRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idBtvs = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # motor commands [0=Stop; 1=Calibrate; 2=gotoR1; 3=gotoR2]
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
-
- # find position: it will be the middle point of the test
- test.log('Moving to initial position R1')
- idCom.put(2, timeout=None) # go to R1 start limit
- test.log('Moving to middle point ' + str(middle))
- idInkr.put(middle, timeout=None) # TODO: Set appropriate timeout
- if abs(readback2 - middle) > 5: # TODO: Check accuracy
- ret = 'Actor idInkr could not be set to the value ' + str(middle) + ' (current value: ' + str(readback2) + ')'
- success = False
- test.sendFeedback(ret, success)
- return
- direction = 1.0
- count = 0
- test.log('Moving around middle point (+-' + str(span) + ')')
- for setpoint1 in range(0, (loopTimes * 2)):
- count = count + 1
- sleep(5) # Settling time
- p1.addSeries(LinePlotSeries("Run" + str(count)))
- # RegionPositioner idInkr
- for setpoint2 in range(0, span+1):
- idInkr.put(translationStep*direction, timeout=None)
- sleep(settlingTime) # Settling time
- currentTime = float(java.lang.System.currentTimeMillis())
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- BtvsRaw = idBtvsRaw.get()
- Btvs = idBtvs.get()
- MotorPosition = idMotorPosition.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
- idDiff01 = MotorPosition - Btvs
-
- # plots
- scan.append([currentTime], [currentTime],
- [Btvs, PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, LogicalPosition,
- BtvsRaw, MotorPosition, PotiRaw, PotiRef1Position, PotiRef2Position])
- # plot error against position
- p1.getSeries(count).appendData(MotorPosition, idDiff01)
-
- # end of loop: invert direction
- if setpoint2 == span:
- direction = direction*(-1.0)
- break
-
- # check if reached end of span before the end of loop; if so, invert direction
- if (direction > 0.0 and MotorPosition >= middle+span):
- # invert direction and swap start with end of translation
- direction = -1.0
- test.log('End of span (' + str(MotorPosition) + '), changing direction to towards R1')
- break
- if (direction < 0.0 and MotorPosition <= middle-span):
- # invert direction and swap start with end of translation
- direction = 1.0
- test.log('End of span (' + str(MotorPosition) + '), changing direction to towards R2')
- break
-
- # extract Status bits
- endH = bool(int(MotorStatus) & 8) # Ref2 (high limit)
- endL = bool(int(MotorStatus) & 4) # Ref1 (low limit)
- # check if arrived to R1 or R2; if so, invert direction
- if endH:
- # invert direction and swap start with end of translation
- direction = -1.0
- test.log('Reached R2, changing direction to ' + str(direction))
- break
- elif endL:
- # invert direction and swap start with end of translation
- direction = 1.0
- test.log('Reached R1, changing direction to ' + str(direction))
- break
-
- # check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): # error: abort test
- test.sendFeedback('Motor switched off (bit# 4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): # error: abort test
- test.sendFeedback('No motor link (bit# 5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): # error: abort test
- test.sendFeedback('No poti link (bit# 6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): # error: abort test
- test.sendFeedback('Calibration error (bit# 7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): # error: abort test
- test.sendFeedback('Cannot get to R1 (bit# 8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): # error: abort test
- test.sendFeedback('Cannot get to R2 (bit# 9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): # error: abort test
- test.sendFeedback('Position measurement mismatch (bit# 10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): # error: abort test
- test.sendFeedback('Movement timeout (bit# 11)', False)
- return
-
- # Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idBtvsRaw.close()
- idBtvs.close()
- idMotorPosition.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idInkr.close()
- idInkrRb.close()
- idCom.close()
-
- scan.end()
- ret = 'Slide moved back and forth (' + str(count) + ' runs)'
- success = True
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 2/Motor Test 2.py.bak b/script/tests/tests/Collimator Tests pro/Motor Test 2/Motor Test 2.py.bak
deleted file mode 100644
index 0ef89b0..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 2/Motor Test 2.py.bak
+++ /dev/null
@@ -1,209 +0,0 @@
-# Script Motor Test 2 for production system
-# Go to absolute position A, then move +B steps, then -2B steps, then +2Bsteps (ie oscillate round centre position, logging after each movement); repeat N times
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
-
-######### WRITE YOUR CODE HERE BELOW #############
-
- # get parameters from the calling interface
- try:
- test.log("Running test with the following parameters:")
- test.log(params)
- middle = float(test.getParam("midPoint"))
- loopTimes = int(test.getParam("repeatTimes"))
- span = float(test.getParam("spanFromMidPoint"))
- settlingTime = 0.2 #seconds
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- scan = ManualScan(['time [1/'+ str(1/settlingTime) + ' s]'], ['Motor Pos (IST3:2)', 'Poti Position (IST2:1)',
- 'Motor Status (STA:1)', 'Inkr (INKR:2)', 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)', 'Logical Position (IST:2)',
- 'Motor Pos Raw (IST3:1)','Poti Pos From Beam (IST1:2)',
- 'Poti Raw (POSA:1)', 'Poti Ref1 Position (REF1:1)', 'Poti Ref2 Position (REF2:1)'])
- scan.setPlotTitle(plotName)
- scan.start()
- # coloured plot (one colour per scan)
- p1 = plot(None, name="Poti-Increment difference", context=plotName + " difference")[0]
- p2 = plot(None, name="Poti-MotorPosition difference", context=plotName + " difference")[0]
-
- # Creating channels: dimension 1
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idMotorPositionRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idMotorPosition = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idPotiPosFromBeam = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- direction = 1.0
- startDefault = middle - span
- endDefault = middle + span
- end = endDefault + 1
- # find position: it will be the middle point of the test
- test.log('Moving to middle point ' + str(middle))
- idInkr.put(middle, timeout=None) # TODO: Set appropriate timeout
- readback2 = idInkr.get()
- if abs(readback2 - middle) > 5: # TODO: Check accuracy
- ret = 'Actor idInkr could not be set to the value ' + str(middle) + ' (current value: ' + str(
- readback2) + ')'
- success = False
- test.sendFeedback(ret, success)
- return
- start = readback2 + direction
- countSteps = 0
- count = 0
- test.log('Moving around middle point (+-' + str(span) + ')')
- for setpoint1 in range(0, (loopTimes * 2)):
- count = count + 1
- sleep(5) # Settling time
- p1.addSeries(LinePlotSeries("Run" + str(count)))
- # RegionPositioner idInkr
- for setpoint2 in frange(start, end, direction):
- readback1 = setpoint1
- idInkr.put(setpoint2, timeout=None) # TODO: Set appropriate timeout
- sleep(settlingTime) # Settling time
- readback2 = idInkr.get()
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- MotorPositionRaw = idMotorPositionRaw.get()
- MotorPosition = idMotorPosition.get()
- PotiPosFromBeam = idPotiPosFromBeam.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
- idDiff01 = PotiPosition - MotorPosition
- countSteps = countSteps + 1
- scan.append([setpoint2], [setpoint2],
- [MotorPosition, PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, LogicalPosition,
- MotorPositionRaw, PotiPosFromBeam, PotiRaw, PotiRef1Position, PotiRef2Position])
- p1.getSeries(count).appendData(setpoint2, idDiff01)
- if (direction > 0.0 and setpoint2 >= end - 1):
- # invert direction and swap start with end of translation
- end = startDefault - 1
- start = setpoint2 - direction
- direction = -1.0
- test.log('End of span (' + str(setpoint2) + '), changing direction to ' + str(direction))
- break
- if (direction < 0.0 and setpoint2 <= end + 1):
- # invert direction and swap start with end of translation
- end = endDefault + 1
- start = setpoint2 - direction
- direction = 1.0
- test.log('End of span (' + str(setpoint2) + '), changing direction to ' + str(direction))
- break
-
-
- #extract Status bits
- endH = bool(int(MotorStatus) & 8) #Ref2 (high limit)
- endL = bool(int(MotorStatus) & 4) #Ref1 (low limit)
-
- #check if arrived to R1 or R2; if so, invert direction
- if endH:
- # invert direction and swap start with end of translation
- end = startDefault - 1
- start = setpoint2 - direction
- direction = -1.0
- test.log('Reached R2 switch, changing direction to ' + str(direction))
- break
- elif endL:
- # invert direction and swap start with end of translation
- end = endDefault + 1
- start = setpoint2 - direction
- direction = 1.0
- test.log('Reached R1 switch, changing direction to ' + str(direction))
- break
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- # Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idMotorPositionRaw.close()
- idMotorPosition.close()
- idPotiPosFromBeam.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idInkr.close()
- idInkrRb.close()
-
- scan.end()
- ret = 'Slide moved back and forth (' + str(count) + ' runs)'
- success = True
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 2/help.html b/script/tests/tests/Collimator Tests pro/Motor Test 2/help.html
deleted file mode 100644
index 1fa73d6..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 2/help.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-Short Description
-Oscillate around a specified position
-Details
-Go to absolute position A, then move +B steps, then -2B steps, then +2Bsteps (ie oscillate round centre position, logging after each movement); repeat N times
-Parameters
-repeatTimes Repeat N times
-midPoint Position A [mm]
-spanFromMidPoint The B steps [integer]
-translationStep Length of the movement per each traslation step [mm]
-Contact
-Marco Boccioli
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 3/.config b/script/tests/tests/Collimator Tests pro/Motor Test 3/.config
deleted file mode 100644
index 79d889a..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 3/.config
+++ /dev/null
@@ -1,7 +0,0 @@
-name=Motor Test 3
-description=Moves from CCW to CW as a series of discrete translations (C times) logs after each translation. When end switch is encountered change direction. Repeat N times
-
-
-#optional parameters. Description is compulsory. Syntax&
-#parameters=&&[;&&]
-parameters=repeatTimes&1&Repeat N times;translation&2&Translation C steps
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 3/Motor Test 3.py b/script/tests/tests/Collimator Tests pro/Motor Test 3/Motor Test 3.py
deleted file mode 100644
index 1a8d2b1..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 3/Motor Test 3.py
+++ /dev/null
@@ -1,212 +0,0 @@
-#Script Motor Test 3
-#Moves from CCW to CW as a series of discrete translations (C times) logs after each translation. When end switch is encountered change direction. Repeat N times
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-def startTest(testName, DEVICE, params):
- #by default, assume the test failed
- ret = 'Test failed'
- success = False
- #plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- #put the whole custom code under try/catch
- try:
- #get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- #init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
-
-######### WRITE YOUR CODE HERE BELOW #############
- #get parameters from the calling interface
- try:
- test.log("Running test Motor Test 3 with the following parameters:")
- test.log(params)
- loopTimes = int(test.getParam("repeatTimes")) # C times
- translation = int(test.getParam("translation")) # Increment mm
- samplePeriod = 0.2 #seconds
- except:
- test.log("Could not retrieve testing parameters: ", sys.exc_info()[0])
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- scan = ManualScan(['time [1/'+ str(1/samplePeriod) + ' s]'], [
- 'Btvs Poti Position (IST3:2)',
- 'Mcs Poti Position (IST2:1)',
- 'Motor Status (STA:1)',
- 'Inkr (INKR:2)',
- 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)',
- 'Logical Position (IST:2)',
- 'Btvs Raw (IST3:1)',
- 'Motor Position (IST1:2)',
- 'Poti Raw (POSA:1)',
- 'Poti Ref1 Position (REF1:1)',
- 'Poti Ref2 Position (REF2:1)'])
- scan.setPlotTitle(plotName)
- scan.start()
- p1 = plot(None, name = "Motor Position - Btvs Poti Position", context = plotName + " Motor-Poti difference")[0]
- # Creating channels
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idBtvsRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idBtvs = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # motor commands [0=Stop; 1=Calibrate; 2=gotoR1; 3=gotoR2]
-
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback( ret, success)
- return
-
-
- #go to position at Low end switch: it will be the starting point of the test
- test.log('Homing')
- idCom.put(2, timeout=10) # go to R1
- # wait for motor to get to Ref1
- for setpoint1 in range(0, 100):
- sleep( 2 ) # Settling time
- MotorStatus = idMotorStatus.get()
- if bool(int(MotorStatus) & 4): # arrived at Ref1 (low limit)
- break
- if not bool(int(MotorStatus) & 4): # not arrived at Ref1 (low limit)
- ret = 'Could not reach Ref1'
- success = False
- test.sendFeedback( ret, success)
- return
-
- direction = 1
- countSteps = 0
- test.log('Starting testing sequence')
- count = 0
- for setpoint1 in range(0, (loopTimes*2)):
- count = count + 1
- sleep( 2 ) # Settling time
- # add multi cuve plot
- p1.addSeries(LinePlotSeries("Run"+str(count)))
-
- for setpoint2 in frange(0, 1000000):
-
- idInkr.put(translation*direction, timeout=10)
- sleep(samplePeriod) # Settling time
- currentTime = float(java.lang.System.currentTimeMillis())
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- BtvsRaw = idBtvsRaw.get()
- Btvs = idBtvs.get()
- MotorPosition = idMotorPosition.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
- idDiff01 = MotorPosition-Btvs
- countSteps = countSteps + (translation*direction)
-
- # multi plot
- scan.append([currentTime], [currentTime],[
- Btvs,
- PotiPosition,
- MotorStatus,
- Inkr,
- InkrRb,
- Diameter,
- LogicalPosition,
- BtvsRaw,
- MotorPosition,
- PotiRaw,
- PotiRef1Position,
- PotiRef2Position])
- # draw diff against steps
- p1.getSeries(count).appendData(countSteps, idDiff01)
-
- #extract Status bits
- endH = bool(int(MotorStatus) & 8) #Ref2 (high limit)
- endL = bool(int(MotorStatus) & 4) #Ref1 (low limit)
-
- #check if arrived to R1 or R2
- if endH:
- #invert direction and swap start with end of translation
- direction = -1
- test.log('Reached R2 switch, changing target to R1')
- break
- elif endL:
- #invert direction and swap start with end of translation
- direction = 1
- test.log('Reached R1 switch, changing target to R2')
- break
-
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- #Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idBtvsRaw.close()
- idBtvs.close()
- idMotorPosition.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idInkr.close()
- idInkrRb.close()
- idCom.close()
-
- scan.end()
- ret = 'Slide moved back and forth (' + str(count) + ' runs)'
- success = True
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- #just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- #generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-#launch the test
-startTest(test, device, parameters)
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests pro/Motor Test 3/help.html b/script/tests/tests/Collimator Tests pro/Motor Test 3/help.html
deleted file mode 100644
index 6fef1db..0000000
--- a/script/tests/tests/Collimator Tests pro/Motor Test 3/help.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-Description
-Moves from CCW to CW as a series of discrete translations (C steps) logs after each translation. When end switch is encountered change direction. Repeat N times
-Parameters
-repeatTimes How many N times the test is repeated
-translation How many C steps are done for one translation
-
-Contact
-boccioli_m
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 1/.config b/script/tests/tests/Collimator Tests pro/Move Ref 1/.config
deleted file mode 100644
index 895fbd5..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 1/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=Move Ref 1
-description=Moves to the Reference 1 Position
-filename=Move Ref 1.xml
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1 - Copy.py b/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1 - Copy.py
deleted file mode 100644
index ebcd9cb..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1 - Copy.py
+++ /dev/null
@@ -1,90 +0,0 @@
-
-###### DO NOT MODIFY THE CODE BELOW ######
-def startTest(testName, DEVICE, params):
- #get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- #by default, failed
- ret = 'Test failed'
- success = False
- #plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
-###### WRITE YOUR CODE HERE BELOW #######
- #get parameters from the calling interface
- print_log(testName, DEVICE, 'testpath: ' + testPath )
- print_log(testName, DEVICE, 'parameters:' + str( params) )
- print_log(testName, DEVICE, 'device: ' + DEVICE )
- scan = ManualScan(['time'], ['idMotorStep', 'idPotiPosition', 'idPotiRef1Position','idMotorStep-idPotiPosition'] , [0.0], [30.0], [20])
- scan.setPlotTitle(plotName)
- scan.start()
-
- #Creating channels: dimension 1
- try:
- idCom = Channel(DEVICE+':COM:2', type = 'd') #current position as from motor step counter [mm]
- idMotorStep = Channel(DEVICE+':IST3:2', type = 'd') #current position as from motor step counter [mm]
- idPotiPosFromBeam = Channel(DEVICE+':IST1:2', type = 'd') #current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE+':IST2:1', type = 'd') #current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE+':REF1:1', type = 'd') #R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE+':REF2:1', type = 'd') #R2 position as from potentiometer [mm]
-
- except:
- sendFeedback(testPath, testName, DEVICE, 'Unable to create channel - ' + traceback.format_exc(), False)
- #raise Exception('Unable to create channel - ' + traceback.format_exc())
- return
-
- idCom.put('3', timeout=None) # go to R1
- print_log(testName, DEVICE, 'Moving to reference point')
- #scan quickly the output during some seconds
- detector4 = idPotiPosition.get()
- detector6 = idPotiRef2Position.get()
- timeElapsed=0
- while detector4>detector6 and timeElapsed<600:
- #Detector time
- detector1 = float(java.lang.System.currentTimeMillis())
-
- detector2 = idMotorStep.get()
- detector3 = idPotiPosFromBeam.get()
- detector4 = idPotiPosition.get()
- detector5 = idPotiRef1Position.get()
- detector6 = idPotiRef2Position.get()
- diff1 = detector2-detector4
- scan.append ([detector1], [detector1], [detector2, detector4, detector5, diff1])
- sleep( 0.1 ) # Settling time
- timeElapsed=timeElapsed+1
-
- #Closing channels
- idCom.close()
- idMotorStep.close()
- idPotiPosFromBeam.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- print_log(testName, DEVICE, ' Reference point reached')
-
-########## END OF YOUR CODE ###########
-
-###### DO NOT MODIFY THE CODE BELOW ######
- sendFeedback(testPath, testName, DEVICE, ret, success)
-
-#prepare and send feedback to calling tool
-def sendFeedback(testPath, testName, DEVICE, returnString, testPassed):
- print_log(testName, DEVICE, 'End of test. Result:')
- print_log(testName, DEVICE, 'Test path: ' + testPath)
- print_log(testName, DEVICE, 'Test name: ' + testName )
- print_log(testName, DEVICE, 'Device: ' + DEVICE)
- print_log(testName, DEVICE, 'Test passed: ' + str(testPassed))
- print_log(testName, DEVICE, 'Return string: ' + returnString)
- ret = [testPath, DEVICE, returnString, testPassed]
- set_return(ret)
-
-def print_log(testName, DEVICE, text):
- time.ctime()
- now = time.strftime('%Y.%m.%d %H:%M:%S')
- print now + ' ' + DEVICE + ' - ' + testName + ': ' + text
-
-import sys, inspect, os, traceback
-#get test arguments
-DEVICE = device
-testName = test
-params = parameters
-#launch the test
-startTest(testName, DEVICE, params)
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1.py b/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1.py
deleted file mode 100644
index 0a631ac..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1.py
+++ /dev/null
@@ -1,144 +0,0 @@
-
-# Drive to R1
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
- samplePeriod = 0.1
-
-######### WRITE YOUR CODE HERE BELOW #############
- scan = ManualScan(['time [1/'+ str(1/samplePeriod) + ' s]'], ['Motor Pos (IST3:2)', 'Poti Position (IST2:1)',
- 'Motor Status (STA:1)', 'Inkr (INKR:2)', 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)', 'Com (COM:2)', 'Logical Position (IST:2)',
- 'Motor Pos Raw (IST3:1)','Poti Pos From Beam (IST1:2)',
- 'Poti Raw (POSA:1)', 'Poti Ref1 Position (REF1:1)', 'Poti Ref2 Position (REF2:1)'])
- scan.setPlotTitle(plotName)
- scan.start()
-
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idMotorPositionRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idPotiPosFromBeam = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
-
- idCom.put('3', timeout=None) # go to R1
- sleep( samplePeriod ) # Settling time
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback( ret, success)
- return
-
- #scan for a while to collect data
- for setpoint1 in range(0, 10000):
- sleep( samplePeriod ) # Settling time
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- MotorPositionRaw = idMotorPositionRaw.get()
- Com = idCom.get()
- MotorPosition = idMotorPosition.get()
- PotiPosFromBeam = idPotiPosFromBeam.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
-
- scan.append([setpoint2], [setpoint2],
- [MotorPosition, PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, Com, LogicalPosition,
- MotorPositionRaw, PotiPosFromBeam, PotiRaw, PotiRef1Position, PotiRef2Position])
-
- if (MotorStatus & int('1',2))==0: #device finished calibration (bit#1)
- #give the device some time before stating that it has really finished
- countDeviceInModeIdle = countDeviceInModeIdle +1
- if countDeviceInModeIdle == 10:
- break
- else:
- countDeviceInModeIdle = 0
-
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- #Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idMotorPositionRaw.close()
- idCom.close()
- idMotorPosition.close()
- idPotiPosFromBeam.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idInkr.close()
- idInkrRb.close()
- scan.end()
-
- ret = 'Moved to R1'
- success = True
- scan.end()
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1.xml b/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1.xml
deleted file mode 100644
index 5b81083..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 1/Move Ref 1.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 3000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 1/help.html b/script/tests/tests/Collimator Tests pro/Move Ref 1/help.html
deleted file mode 100644
index 627f6dd..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 1/help.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-Short Description
-Go to reference position R1
-Details
-Go to reference position R1 (command '3').
-Parameters
-none
-Contact
-Marco Boccioli
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 2/.config b/script/tests/tests/Collimator Tests pro/Move Ref 2/.config
deleted file mode 100644
index 0d83dba..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 2/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=Move Ref 2
-description=Moves to the Reference 2 Position
-filename=Move Ref 2.xml
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 2/Move Ref 2.py b/script/tests/tests/Collimator Tests pro/Move Ref 2/Move Ref 2.py
deleted file mode 100644
index ea100da..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 2/Move Ref 2.py
+++ /dev/null
@@ -1,144 +0,0 @@
-
-# Drive to R2
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
- samplePeriod = 0.1
-
-######### WRITE YOUR CODE HERE BELOW #############
- scan = ManualScan(['time [1/'+ str(1/samplePeriod) + ' s]'], ['Motor Pos (IST3:2)', 'Poti Position (IST2:1)',
- 'Motor Status (STA:1)', 'Inkr (INKR:2)', 'InkrRb (INKRRB:2)',
- 'Diameter (DIAM:2)', 'Com (COM:2)', 'Logical Position (IST:2)',
- 'Motor Pos Raw (IST3:1)','Poti Pos From Beam (IST1:2)',
- 'Poti Raw (POSA:1)', 'Poti Ref1 Position (REF1:1)', 'Poti Ref2 Position (REF2:1)'])
- scan.setPlotTitle(plotName)
- scan.start()
-
- try:
- idMotorStatus = Channel(DEVICE + ':STA:1' , type = 'd') # DSP device_status reg
- idLogicalPosition = Channel(DEVICE + ':IST:2' , type = 'd') # Shows current position in logical units as calculated from motor step counter [1..n]
- idPotiRaw = Channel(DEVICE + ':POSA:1' , type = 'd') # poti raw data [ADC units]
- idMotorPositionRaw = Channel(DEVICE + ':IST3:1' , type = 'd') # shows current position in steps as as obtained from motor step counter [steps]
- idInkr = Channel(DEVICE + ':INKR:2' , type = 'd') # move relative distance (positive means towards R2) [mm]
- idInkrRb = Channel(DEVICE + ':INKRRB:2' , type = 'd') # readback of move relative distance (positive means towards R2) [mm]
- idDiameter = Channel(DEVICE + ':DIAM:2' , type = 'd') # collimator diameter [mm]
- idCom = Channel(DEVICE + ':COM:2' , type = 'd') # current position as from motor step counter [mm]
- idMotorPosition = Channel(DEVICE + ':IST3:2' , type = 'd') # current position as from motor step counter [mm]
- idPotiPosFromBeam = Channel(DEVICE + ':IST1:2' , type = 'd') # current position from beam as from potentiometer [mm]
- idPotiPosition = Channel(DEVICE + ':IST2:1' , type = 'd') # current position as from potentiometer [mm]
- idPotiRef1Position = Channel(DEVICE + ':REF1:1' , type = 'd') # R1 position as from potentiometer [mm]
- idPotiRef2Position = Channel(DEVICE + ':REF2:1' , type = 'd') # R2 position as from potentiometer [mm]
-
- idCom.put('4', timeout=None) # go to R2
- sleep( samplePeriod ) # Settling time
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- test.sendFeedback( ret, success)
- return
-
- #scan for a while to collect data
- for setpoint1 in range(0, 10000):
- sleep( samplePeriod ) # Settling time
-
- MotorStatus = idMotorStatus.get()
- LogicalPosition = idLogicalPosition.get()
- PotiRaw = idPotiRaw.get()
- MotorPositionRaw = idMotorPositionRaw.get()
- Com = idCom.get()
- MotorPosition = idMotorPosition.get()
- PotiPosFromBeam = idPotiPosFromBeam.get()
- PotiPosition = idPotiPosition.get()
- PotiRef1Position = idPotiRef1Position.get()
- PotiRef2Position = idPotiRef2Position.get()
- Diameter = idDiameter.get()
- Inkr = idInkr.get()
- InkrRb = idInkrRb.get()
-
-
- scan.append([setpoint2], [setpoint2],
- [MotorPosition, PotiPosition, MotorStatus, Inkr, InkrRb, Diameter, Com, LogicalPosition,
- MotorPositionRaw, PotiPosFromBeam, PotiRaw, PotiRef1Position, PotiRef2Position])
-
- if (MotorStatus & int('1',2))==0: #device finished calibration (bit#1)
- #give the device some time before stating that it has really finished
- countDeviceInModeIdle = countDeviceInModeIdle +1
- if countDeviceInModeIdle == 10:
- break
- else:
- countDeviceInModeIdle = 0
-
- #check if any error bit is raised
- if bool(int(MotorStatus) & int('10000',2)): #error: abort test
- test.sendFeedback('Motor switched off (bit#4)', False)
- return
- if bool(int(MotorStatus) & int('100000',2)): #error: abort test
- test.sendFeedback('No motor link (bit#5)', False)
- return
- if bool(int(MotorStatus) & int('1000000',2)): #error: abort test
- test.sendFeedback('No poti link (bit#6)', False)
- return
- if bool(int(MotorStatus) & int('10000000',2)): #error: abort test
- test.sendFeedback('Calibration error (bit#7)', False)
- return
- if bool(int(MotorStatus) & int('100000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R1 (bit#8)', False)
- return
- if bool(int(MotorStatus) & int('1000000000',2)): #error: abort test
- test.sendFeedback('Cannot get to R2 (bit#9)', False)
- return
- if bool(int(MotorStatus) & int('10000000000',2)): #error: abort test
- test.sendFeedback('Position measurement mismatch (bit#10)', False)
- return
- if bool(int(MotorStatus) & int('100000000000',2)): #error: abort test
- test.sendFeedback('Movement timeout (bit#11)', False)
- return
-
- #Closing channels
- idMotorStatus.close()
- idLogicalPosition.close()
- idPotiRaw.close()
- idMotorPositionRaw.close()
- idCom.close()
- idMotorPosition.close()
- idPotiPosFromBeam.close()
- idPotiPosition.close()
- idPotiRef1Position.close()
- idPotiRef2Position.close()
- idDiameter.close()
- idInkr.close()
- idInkrRb.close()
- scan.end()
-
- ret = 'Moved to R2'
- success = True
- scan.end()
-
-################ END OF YOUR CODE ################
-###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-# launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 2/Move Ref 2.xml b/script/tests/tests/Collimator Tests pro/Move Ref 2/Move Ref 2.xml
deleted file mode 100644
index 2cf0a0a..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 2/Move Ref 2.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 3000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Move Ref 2/help.html b/script/tests/tests/Collimator Tests pro/Move Ref 2/help.html
deleted file mode 100644
index 91f86e9..0000000
--- a/script/tests/tests/Collimator Tests pro/Move Ref 2/help.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-Short Description
-Go to reference position R2
-Details
-Go to reference position R2 (command '4').
-Parameters
-none
-Contact
-Marco Boccioli
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/Stop/.config b/script/tests/tests/Collimator Tests pro/Stop/.config
deleted file mode 100644
index 89d5a5f..0000000
--- a/script/tests/tests/Collimator Tests pro/Stop/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=Stop
-description=Sends the STOP command
-filename=Stop.xml
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests pro/Stop/Stop.xml b/script/tests/tests/Collimator Tests pro/Stop/Stop.xml
deleted file mode 100644
index 27228d3..0000000
--- a/script/tests/tests/Collimator Tests pro/Stop/Stop.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 3000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/monitorAllParams/.config b/script/tests/tests/Collimator Tests pro/monitorAllParams/.config
deleted file mode 100644
index 2f1d86a..0000000
--- a/script/tests/tests/Collimator Tests pro/monitorAllParams/.config
+++ /dev/null
@@ -1,4 +0,0 @@
-#Fri Sep 11 13&31&33 CEST 2015
-name=monitorAllParams
-parameters=monitorTime&0.1&This is the parameter n.1 with unit [unit];samplingDelay&30&This is the parameter n.2 with unit [unit];
-description=d
diff --git a/script/tests/tests/Collimator Tests pro/monitorAllParams/help.html b/script/tests/tests/Collimator Tests pro/monitorAllParams/help.html
deleted file mode 100644
index 0d6eb66..0000000
--- a/script/tests/tests/Collimator Tests pro/monitorAllParams/help.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-Description
-d
-Parameters
-monitorTime This is the parameter n.1 with unit [unit]
-samplingDelay This is the parameter n.2 with unit [unit]
-
-Contact
-boccioli_m
-
-
-
diff --git a/script/tests/tests/Collimator Tests pro/monitorAllParams/monitorAllParams.py b/script/tests/tests/Collimator Tests pro/monitorAllParams/monitorAllParams.py
deleted file mode 100644
index 529764f..0000000
--- a/script/tests/tests/Collimator Tests pro/monitorAllParams/monitorAllParams.py
+++ /dev/null
@@ -1,145 +0,0 @@
-# Test name: monitorAllParams
-# d
-
-###### Init - DO NOT MODIFY THE CODE BELOW ######
-global sys, inspect, os, traceback
-import sys, inspect, os, traceback
-
-
-def startTest(testName, DEVICE, params):
- # by default, assume the test failed
- ret = 'Test failed'
- success = False
- # plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
- # put the whole custom code under try/catch
- try:
- # get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- # init the testing tool class. It can be sued in the following ways:
- test = TestingTool(testName, testPath, DEVICE, params)
-
- ################ END OF Init #####################
- ######### WRITE YOUR CODE HERE BELOW #############
-
- """
- All the code in this section ###..YOUR CODE..### can be modified/deleted.
- It must be indented to the same level as this comment
- -----------------------------------
- GETTING INPUTS:
- If needed, the following variables are available:
- testPath string, path of this test file
- testName string, name of this test
- DEVICE string, device for which the test must run (typically it is the beginning of a process variable name)
- -----------------------------------
- GETTING TEST PARAMETERS:
- if you need to get parameters for the test, use (casting may be necessary):
- myParamValue = test.getParam('myParamName')
- see the test config for the list of parameters specific to the test.
- -----------------------------------
- SETTING OUTPUTS:
- ret string, a text summarizing the result of the test. It must be set before the end of your code.
- success bool, True = test successful. It must be set before the end of your code.
- test.sendFeedback(ret,success) method that ends the testing script and gives the report to the calling application.
- Examples:
-
- whenever the code must quit (i.e. after an error), you must end with:
- ret = 'here is some info on what failed on the test'
- success = false
- test.sendFeedback(ret, success)
-
- whenever the code is finished successfully, you must end with:
- ret = 'here is some info on the success of the test'
- success = true
- test.sendFeedback(ret, success)
- -----------------------------------
- LOG INFO:
- when some information must be shown on the log, use:
- test.log('test to log')
- """
-
- ########## Example (can be removed) ######
- # print the list of parameters passed. If any error, stop and send feedback
- test.log("Example - Test name: " + testName)
- test.log("Example - Device name: " + DEVICE)
- try:
- test.log("Running test Initialise with the following parameters:")
- test.log(params)
- # If present, use the parameters here below for your test script. You might need to change the casting
- monitorTime = float(test.getParam('monitorTime')) ; samplingDelay = float(test.getParam('samplingDelay')) ;
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
- return
-
- # loop to read channels for a while and plot the channels values.
- # initialise plot tab with 2 plots
- scan = ManualScan(['sample'], ['Motor Status (MSTA)', 'Motor Position (VAL)'])
- # set plot name(tab title)
- scan.setPlotTitle(plotName)
- # start plots. See further below how to add points to the plots
- scan.start()
-
- # IMPORTANT: if the test failed, write the report into the variables ret and success.
- # for example, write the following:
- ret = "Example - Error, the test failed because...."
- success = False
- # set up connection to channels. "type" of data can be "d" (= double), "l" (= long)
- try:
- pv_motor_msta = Channel(DEVICE + ':MOTOR.MSTA', type='d')
- pv_motor_val = Channel(DEVICE + ':MOTOR.VAL', type='d')
- except:
- # prepare return information: return text
- ret = 'Unable to create channel - ' + traceback.format_exc()
- # prepare return information: return success
- success = False
- # send return information
- test.sendFeedback(ret, success)
- return
- # take 100 samples of the channels
- for sample in range(0, 100):
- readback1 = sample
- sleep(0.1) # Settling time
- # get value
- motor_msta = pv_motor_msta.get()
- # get value
- motor_val = pv_motor_val.get()
- # add values to plot
- scan.append([sample], [readback1], [motor_msta, motor_val])
-
- # Closing channels
- pv_motor_msta.close()
- pv_motor_val.close()
-
- # IMPORTANT: if the test was successful, write the report into the variables ret and success.
- # for example, write the following:
- ret = "Example - Test successful, here some detail: ..."
- success = True
- test.sendFeedback(ret, success)
- # once the test is finished, no need to do anything. The code below yours will do the rest.
- ################ End of Example ##########
-
- ################ END OF YOUR CODE ################
- ###### Final - DO NOT MODIFY THE CODE BELOW ######
-
- # just in case the feedback was forgotten
- test.sendFeedback(ret, success)
- except (KeyboardInterrupt):
- # user stop error handler
- ret = 'Test stopped by user.'
- success = False
- test.sendFeedback(ret, success)
- except:
- # generic error handler
- ret = traceback.format_exc()
- success = False
- test.sendFeedback(ret, success)
-
-
-# launch the test
-startTest(test, device, parameters)
-
-################ END OF Final ####################
-#### IF NEEDED, ADD YOUR FUNCTIONS HERE BELOW ####
-# def yourCustomFunction:
diff --git a/script/tests/tests/Collimator Tests pro/what is on damir test tool.txt b/script/tests/tests/Collimator Tests pro/what is on damir test tool.txt
deleted file mode 100644
index e69ec71..0000000
--- a/script/tests/tests/Collimator Tests pro/what is on damir test tool.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-Test 1 plotted curves
-
-CCWsteps
-CCWpoti
-CWsteps
-CWpoti
-
-
diff --git a/script/tests/tests/Collimator Tests/Calibrate test vme/.config b/script/tests/tests/Collimator Tests/Calibrate test vme/.config
deleted file mode 100644
index 7ec0790..0000000
--- a/script/tests/tests/Collimator Tests/Calibrate test vme/.config
+++ /dev/null
@@ -1,12 +0,0 @@
-name=Calibrate test vme
-description=Calibrates the device
-filename=Calibrate.xml
-help = \
-This test sends a command to the low level firmware which controls the collimators \n\
-requesting that it calibrates itself. \n\n\
-Calibration involves moving to the R1 and R2 reference positions and measuring the \n\
-number of steps required to do so. At the end of the sequence the default collimator \n\
-will be selected. \n\n\
-During the course of the expected calibration period (45-70 seconds) the test \n\
-procedure will plot the values of all critical system variables. \n\n\
-For further information please consult Valery Ovinnikov.
\
diff --git a/script/tests/tests/Collimator Tests/Calibrate test vme/Calibrate test vme.py b/script/tests/tests/Collimator Tests/Calibrate test vme/Calibrate test vme.py
deleted file mode 100644
index d47c358..0000000
--- a/script/tests/tests/Collimator Tests/Calibrate test vme/Calibrate test vme.py
+++ /dev/null
@@ -1,136 +0,0 @@
-#Script imported from: Calibrate.xml
-
-###### DO NOT MODIFY THE CODE BELOW ######
-import sys, inspect, os, traceback, time
-global print_log, sendFeedback
-def startTest(testName, DEVICE, params):
- try:
- import traceback
- #get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- #by default, failed
- ret = 'Test failed'
- success = False
- #plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
-####### WRITE YOUR CODE HERE BELOW #######
-
- #Pre-actions
- try:
- caput(DEVICE+':INIT.PROC', '1')
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
-
- #TODO: Set the diplay names of positioners and detectors
- scan = ManualScan(['id000000'], ['id000001', 'id000002', 'id000003', 'id000004', 'id000005', 'id000006', 'id000007', 'id000008', 'id000009', 'id000010', 'idResult'] , [0.0], [1000.0], [1000])
- scan.start()
-
- #Creating channels: dimension 1
- #PseudoPositioner id000000
- #ScalarDetector id000001
- id000001 = Channel(DEVICE+':MOTOR.MSTA', type = 'd')
- #ScalarDetector id000002
- id000002 = Channel(DEVICE+':MOTOR.RVAL', type = 'd')
- #ScalarDetector id000003
- id000003 = Channel(DEVICE+':MOTOR.VAL', type = 'd')
- #ScalarDetector id000004
- id000004 = Channel(DEVICE+':MOTOR.ATHM', type = 'd')
- #ScalarDetector id000005
- id000005 = Channel(DEVICE+':MOTOR.LLS', type = 'd')
- #ScalarDetector id000006
- id000006 = Channel(DEVICE+':MOTOR.HLS', type = 'd')
- #ScalarDetector id000007
- id000007 = Channel(DEVICE+':ENCODERraw', type = 'd')
- #ScalarDetector id000008
- id000008 = Channel(DEVICE+':ENCODER', type = 'd')
- #ScalarDetector id000009
- id000009 = Channel(DEVICE+':RDY', type = 'd')
- #ScalarDetector id000010
- id000010 = Channel(DEVICE+':ILK', type = 'd')
-
- #Dimension 1
- #PseudoPositioner id000000
- for setpoint1 in range(0, 1000):
- readback1 = setpoint1
- sleep( 0.05 ) # Settling time
- #Detector id000001
- detector1 = id000001.get()
- #Detector id000002
- detector2 = id000002.get()
- #Detector id000003
- detector3 = id000003.get()
- #Detector id000004
- detector4 = id000004.get()
- #Detector id000005
- detector5 = id000005.get()
- #Detector id000006
- detector6 = id000006.get()
- #Detector id000007
- detector7 = id000007.get()
- #Detector id000008
- detector8 = id000008.get()
- #Detector id000009
- detector9 = id000009.get()
- #Detector id000010
- detector10 = id000010.get()
- #Manipulation idResult
- #Variable Mappings
- ready = detector9
- interlock = detector10
- count = setpoint1
- if count < 800:
- idResult = (0, "Note: the "+DEVICE+" calibration procedure did not complete.")
- if ready == 1 and interlock == 1:
- #print "The "+DEVICE+" drive was successfully initialised. The RDY and ILK signals indicate the drive is ready."
- ret = 'Drive successfully initialised'
- success = True
- else:
- #print "The RS calibration procedure failed. The RDY and ILK signals indicate the drive was NOT ready at the expected time (after 40s)."
- ret = 'The RDY and ILK signals indicate the drive was NOT ready at the expected time (after 40s).'
- success = False
- scan.append ([setpoint1], [readback1], [detector1, detector2, detector3, detector4, detector5, detector6, detector7, detector8, detector9, detector10, idResult])
-
- #Closing channels
- id000001.close()
- id000002.close()
- id000003.close()
- id000004.close()
- id000005.close()
- id000006.close()
- id000007.close()
- id000008.close()
- id000009.close()
- id000010.close()
-
- scan.end()
-############# END OF YOUR CODE ###########
-###### DO NOT MODIFY THE CODE BELOW ######
- sendFeedback(testPath, testName, DEVICE, ret, success)
- except:
- ret = traceback.format_exc()
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
-
-#prepare and send feedback to calling tool
-def sendFeedback(testPath, testName, DEVICE, returnString, testPassed):
- print_log(testName, DEVICE, 'End of test. Result:')
- print_log(testName, DEVICE, 'Test path: ' + testPath)
- print_log(testName, DEVICE, 'Test name: ' + testName)
- print_log(testName, DEVICE, 'Device: ' + DEVICE)
- print_log(testName, DEVICE, 'Test passed: ' + str(testPassed))
- print_log(testName, DEVICE, 'Return string: ' + returnString)
- ret = [testPath, DEVICE, returnString, testPassed]
- set_return(ret)
-
-def print_log(testName, DEVICE, text):
- time.ctime()
- now = time.strftime('%Y.%m.%d %H:%M:%S')
- print now + ' ' + DEVICE + ' - ' + testName + ': ' + text
-
-#launch the test
-startTest(test, device, parameters)
-
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests/Calibrate/.config b/script/tests/tests/Collimator Tests/Calibrate/.config
deleted file mode 100644
index 5e59d3d..0000000
--- a/script/tests/tests/Collimator Tests/Calibrate/.config
+++ /dev/null
@@ -1,12 +0,0 @@
-name=Calibrate
-description=Calibrates the device
-filename=Calibrate.xml
-help = \
-This test sends a command to the low level firmware which controls the collimators \n\
-requesting that it calibrates itself. \n\n\
-Calibration involves moving to the R1 and R2 reference positions and measuring the \n\
-number of steps required to do so. At the end of the sequence the default collimator \n\
-will be selected. \n\n\
-During the course of the expected calibration period (45-70 seconds) the test \n\
-procedure will plot the values of all critical system variables. \n\n\
-For further information please consult Valery Ovinnikov.
\
diff --git a/script/tests/tests/Collimator Tests/Calibrate/Calibrate.py b/script/tests/tests/Collimator Tests/Calibrate/Calibrate.py
deleted file mode 100644
index 8bb4faa..0000000
--- a/script/tests/tests/Collimator Tests/Calibrate/Calibrate.py
+++ /dev/null
@@ -1,79 +0,0 @@
-#Script imported from: Calibrate.xml
-
-ret = 'Calibration failed'
-success = False
-
-try:
- #Pre-actions: 1 = calibrate
- caput(DEVICE+':COM:2', 1)
- #Creating channels: dimension 1
- #PseudoPositioner id000000
- #ScalarDetector id000001
- id000001 = Channel(DEVICE+':STA:1', type = 'd')
- #ScalarDetector id000003
- id000003 = Channel(DEVICE+':IST:2', type = 'd')
- #ScalarDetector id000004
- id000004 = Channel(DEVICE+':DIAM:2', type = 'd')
- #ScalarDetector id000005
- id000005 = Channel(DEVICE+':IST1:1', type = 'd')
- #ScalarDetector id000006
- id000006 = Channel(DEVICE+':IST1:2', type = 'd')
- #ScalarDetector id000007
- id000007 = Channel(DEVICE+':IST2:1', type = 'd')
- #ScalarDetector id000008
- id000008 = Channel(DEVICE+':IST2:2', type = 'd')
- #ScalarDetector id000009
- id000009 = Channel(DEVICE+':IST3:1', type = 'd')
- #ScalarDetector id000010
- id000010 = Channel(DEVICE+':IST3:2', type = 'd')
-except:
- print "Unexpected error:", sys.exc_info()[0]
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- raise Exception('Unable to create channel - ' + traceback.format_exc())
- sys.exit()
-
-#TODO: Set the diplay names of positioners and detectors
-scan = ManualScan(['id000000'], ['id000001', 'id000003', 'id000004', 'id000005', 'id000006', 'id000007', 'id000008', 'id000009', 'id000010'] , [0.0], [900.0], [900])
-scan.start()
-
-#Dimension 1
-#PseudoPositioner id000000
-for setpoint1 in range(0, 900):
- readback1 = setpoint1
- sleep( 0.1 ) # Settling time
- #Detector id000001
- detector1 = id000001.get()
- #Detector id000003
- detector2 = id000003.get()
- #Detector id000004
- detector3 = id000004.get()
- #Detector id000005
- detector4 = id000005.get()
- #Detector id000006
- detector5 = id000006.get()
- #Detector id000007
- detector6 = id000007.get()
- #Detector id000008
- detector7 = id000008.get()
- #Detector id000009
- detector8 = id000009.get()
- #Detector id000010
- detector9 = id000010.get()
- scan.append ([setpoint1], [readback1], [detector1, detector2, detector3, detector4, detector5, detector6, detector7, detector8, detector9])
-
-#Closing channels
-id000001.close()
-id000003.close()
-id000004.close()
-id000005.close()
-id000006.close()
-id000007.close()
-id000008.close()
-id000009.close()
-id000010.close()
-
-scan.end()
-
-ret = 'Calibration done'
-success = True
diff --git a/script/tests/tests/Collimator Tests/Calibrate/Calibrate.xml b/script/tests/tests/Collimator Tests/Calibrate/Calibrate.xml
deleted file mode 100644
index 7e5028f..0000000
--- a/script/tests/tests/Collimator Tests/Calibrate/Calibrate.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 900
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests/Check Status/.config b/script/tests/tests/Collimator Tests/Check Status/.config
deleted file mode 100644
index 15def22..0000000
--- a/script/tests/tests/Collimator Tests/Check Status/.config
+++ /dev/null
@@ -1,5 +0,0 @@
-name=Check Status
-description=Monitors the success of the device
-filename=Check Status.xml
-help= \
-This test plots the success of all relevant drive signals for a period of 15 seconds.
diff --git a/script/tests/tests/Collimator Tests/Check Status/Check Status.xml b/script/tests/tests/Collimator Tests/Check Status/Check Status.xml
deleted file mode 100644
index b9371fe..0000000
--- a/script/tests/tests/Collimator Tests/Check Status/Check Status.xml
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
-
-
-
- 3000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests/Drive Out/.config b/script/tests/tests/Collimator Tests/Drive Out/.config
deleted file mode 100644
index 3589d0d..0000000
--- a/script/tests/tests/Collimator Tests/Drive Out/.config
+++ /dev/null
@@ -1,3 +0,0 @@
-name=Drive Out
-description=Drives the Collimator to the Out Position
-filename=Drive Out.xml
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests/Drive Out/Drive Out.py b/script/tests/tests/Collimator Tests/Drive Out/Drive Out.py
deleted file mode 100644
index 704a950..0000000
--- a/script/tests/tests/Collimator Tests/Drive Out/Drive Out.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#Script imported from: Drive Out.xml
-import traceback
-
-#by default, failed
-ret = 'Test failed'
-success = False
-
-try:
- #Pre-actions: 2 = drive out
- caput(DEVICE+':COM:2', 2)
- #Creating channels: dimension 1
- #PseudoPositioner id000000
- #ScalarDetector id000001
- id000001 = Channel(DEVICE+':STA:1', type = 'd')
- #ScalarDetector id000003
- id000003 = Channel(DEVICE+':IST:2', type = 'd')
- #ScalarDetector id000004
- id000004 = Channel(DEVICE+':DIAM:2', type = 'd')
- #ScalarDetector id000005
- id000005 = Channel(DEVICE+':IST1:1', type = 'd')
- #ScalarDetector id000006
- id000006 = Channel(DEVICE+':IST1:2', type = 'd')
- #ScalarDetector id000007
- id000007 = Channel(DEVICE+':IST2:1', type = 'd')
- #ScalarDetector id000008
- id000008 = Channel(DEVICE+':IST2:2', type = 'd')
- #ScalarDetector id000009
- id000009 = Channel(DEVICE+':IST3:1', type = 'd')
- #ScalarDetector id000010
- id000010 = Channel(DEVICE+':IST3:2', type = 'd')
-except:
- print "Unexpected error:", sys.exc_info()[0]
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- raise Exception('Unable to create channel - ' + traceback.format_exc())
- sys.exit()
-
-#TODO: Set the diplay names of positioners and detectors
-scan = ManualScan(['id000000'], ['id000001', 'id000003', 'id000004', 'id000005', 'id000006', 'id000007', 'id000008', 'id000009', 'id000010'] , [0.0], [3000.0], [3000])
-scan.start()
-
-#Dimension 1
-#PseudoPositioner id000000
-for setpoint1 in range(0, 3000):
- readback1 = setpoint1
- sleep( 0.1 ) # Settling time
- #Detector id000001
- detector1 = id000001.get()
- #Detector id000003
- detector2 = id000003.get()
- #Detector id000004
- detector3 = id000004.get()
- #Detector id000005
- detector4 = id000005.get()
- #Detector id000006
- detector5 = id000006.get()
- #Detector id000007
- detector6 = id000007.get()
- #Detector id000008
- detector7 = id000008.get()
- #Detector id000009
- detector8 = id000009.get()
- #Detector id000010
- detector9 = id000010.get()
- scan.append ([setpoint1], [readback1], [detector1, detector2, detector3, detector4, detector5, detector6, detector7, detector8, detector9])
-
-#Closing channels
-id000001.close()
-id000003.close()
-id000004.close()
-id000005.close()
-id000006.close()
-id000007.close()
-id000008.close()
-id000009.close()
-id000010.close()
-
-scan.end()
-
-#return ok
-ret = 'Slides moved out'
-success = True
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests/Drive Out/Drive Out.xml b/script/tests/tests/Collimator Tests/Drive Out/Drive Out.xml
deleted file mode 100644
index 5a1c925..0000000
--- a/script/tests/tests/Collimator Tests/Drive Out/Drive Out.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 3000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/script/tests/tests/Collimator Tests/Go to specific position/.config b/script/tests/tests/Collimator Tests/Go to specific position/.config
deleted file mode 100644
index 59cbf88..0000000
--- a/script/tests/tests/Collimator Tests/Go to specific position/.config
+++ /dev/null
@@ -1,7 +0,0 @@
-name=Go to specific position
-description=Go to absolute position A, then move +B steps, then -2B steps, then +2Bsteps (ie oscillate round centre position, logging after each movement); repeat N times
-
-
-#optional parameters. Description is compulsory. Syntax&
-#parameters=&&[;&&]
-parameters=repeatTimes&2&Repeat N times;midPoint&41.0&Middle point A;spanFromMidPoint&3.0&B steps around middle point A;delayS&0&Delay between each oscillation [s]
diff --git a/script/tests/tests/Collimator Tests/Go to specific position/Go to specific position.py b/script/tests/tests/Collimator Tests/Go to specific position/Go to specific position.py
deleted file mode 100644
index 18616d1..0000000
--- a/script/tests/tests/Collimator Tests/Go to specific position/Go to specific position.py
+++ /dev/null
@@ -1,162 +0,0 @@
-
-#Go to absolute position A, then move +B steps, then -2B steps, then +2Bsteps (ie oscillate round centre position, logging after each movement); repeat N times
-
-
-###### DO NOT MODIFY THE CODE BELOW ######
-global print_log, sendFeedback, inspect
-import sys, inspect, os, traceback
-
-def print_log(testName, DEVICE, text):
- time.ctime()
- now = time.strftime('%Y.%m.%d %H:%M:%S')
- print now + ' ' + DEVICE + ' - ' + testName + ': ' + str(text)
-
-#prepare and send feedback to calling tool
-def sendFeedback(testPath, testName, DEVICE, returnString, testPassed):
- print_log(testName, DEVICE, 'End of test. Result:')
- print_log(testName, DEVICE, 'Device: ' + DEVICE)
- print_log(testName, DEVICE, 'Test name: ' + testName)
- print_log(testName, DEVICE, 'Test path: ' + testPath)
- print_log(testName, DEVICE, 'Test passed: ' + str(testPassed))
- print_log(testName, DEVICE, 'Return string: ' + returnString)
- ret = [testPath, DEVICE, returnString, testPassed]
- set_return(ret)
-
-def startTest(testName, DEVICE, params):
- try:
- import traceback
- #get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- #by default, failed
- ret = 'Test failed'
- success = False
- #plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
-
-###### WRITE YOUR CODE HERE BELOW #######
-
- #get parameters from the calling interface
- try:
- print_log(testName, DEVICE, "Running test Motor Test 2 for device " + DEVICE + " with the following parameters:\n" + str(params))
- middle = float(params["midPoint"]["value"])
- loopTimes = int(params["repeatTimes"]["value"])
- delayS = int(params["delayS"]["value"])
- if(delayS<1): delayS=1
- span = float(params["spanFromMidPoint"]["value"])
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
-
- #scan = ManualScan(['idX'], ['idMotorStatus', 'idLogicalPosition', 'idDiameter', 'idMotorPosition', 'idPotiRaw', 'idEncoderPosition', 'idBtvsRaw', 'idBtvsProc', 'idDiff01', 'idDiff02'] , [ 0.0], [ 3000.0], [20])
- scan = ManualScan(['idX'], ['idMotorStatus', 'idMotorPosition', 'idEncoderPosition', 'idError'])
- scan.setPlotTitle(plotName)
- scan.start()
-
- #Creating channels: dimension 1
- try:
- idInkr = Channel(DEVICE+':MOTOR.VAL', type = 'd')
- idMotorStatus = Channel(DEVICE+':MOTOR.MSTA', type = 'd')
- idMotorPosition = Channel(DEVICE+':MOTOR.RBV', type = 'd')
- idEncoderPosition = Channel(DEVICE+':ENCODER', type = 'd')
- idEndSwitchL = Channel(DEVICE+':MOTOR.LLS', type = 'd')
- idEndSwitchH = Channel(DEVICE+':MOTOR.HLS', type = 'd')
- idLimitH = Channel(DEVICE+':MOTOR.HLM', type = 'd')
- idLimitL = Channel(DEVICE+':MOTOR.LLM', type = 'd')
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
-
- #remove limits
- idLimitH.put(999999.9, timeout=None)
- idLimitL.put(-999999.9, timeout=None)
-
- direction = 1.0
- startDefault = middle - span
- endDefault = middle + span
- end = endDefault+1
- #find position: it will be the middle point of the test
- print_log(testName, DEVICE, 'Moving to middle point ' + str(middle) )
- idInkr.put(middle, timeout=None) # TODO: Set appropriate timeout
- readback2 = idInkr.get()
- if abs(readback2 - middle) > 1 : # TODO: Check accuracy
- ret = 'Actor idInkr could not be set to the value ' + str(middle) + ' (current value: ' + str(readback2) + ')'
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
- start = readback2+direction
- countSteps = 0
- count = 0
- print_log(testName, DEVICE, 'Moving around middle point (+-' + str(span) + ')' )
- for setpoint1 in range(0, loopTimes*2):
- count = count + 1
- print_log(testName, DEVICE, 'Pausing ' + str(delayS) + 's' )
- sleep( delayS ) # Settling time
- #RegionPositioner idInkr
- for setpoint2 in frange(start, end, direction):
- readback1 = setpoint1
- idInkr.put(setpoint2, timeout=None) # TODO: Set appropriate timeout
- sleep( 0.2 ) # Settling time
- readback2 = idInkr.get()
- if abs(readback2 - setpoint2) > 1 : # TODO: Check accuracy
- ret = 'Actor idInkr could not be set to the value ' + str(setpoint2) + ' (current value: ' + str(readback2) + ')'
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
- #Detector idMotorStatus
- detector1 = idMotorStatus.get()
- detector4 = idMotorPosition.get()
- detector6 = idEncoderPosition.get()
- endH = idEndSwitchH.get()
- endL = idEndSwitchL.get()
- #Manipulation idDiff01
- #Variable Mappings
- a = detector4
- b = detector6
- idDiff01 = a-b
- countSteps = countSteps + 1
- scan.append ([countSteps], [countSteps], [detector1, detector4, detector6, idDiff01])
- if endH>0.0 or (direction > 0.0 and setpoint2 >= end -1):
- #invert direction and swap start with end of translation
- end = startDefault-1
- start = setpoint2 - direction
- direction = -1.0
- print_log(testName, DEVICE, 'End of span (' + str(setpoint2) + '), changing direction to ' + str(direction) )
- break
- if endL>0.0 or ( direction < 0.0 and setpoint2 <= end +1):
- #invert direction and swap start with end of translation
- end = endDefault+1
- start = setpoint2 - direction
- direction = 1.0
- print_log(testName, DEVICE, 'End of span (' + str(setpoint2) + '), changing direction to ' + str(direction) )
- break
-
- #set limits back
- idLimitH.put(145.0, timeout=None)
- idLimitL.put(0.0, timeout=None)
-
- #Closing channels
- idInkr.close()
- idMotorStatus.close()
- idMotorPosition.close()
- idEncoderPosition.close()
- idLimitH.close()
- idLimitL.close()
- scan.end()
- ret = 'Slide moved back and forth (' + str(count) + ' runs)'
- success = True
-
-############# END OF YOUR CODE ###########
-###### DO NOT MODIFY THE CODE BELOW ######
- sendFeedback(testPath, testName, DEVICE, ret, success)
- except:
- ret = traceback.format_exc()
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
-
-#launch the test
-startTest(test, device, parameters)
diff --git a/script/tests/tests/Collimator Tests/Go to specific position/help.html b/script/tests/tests/Collimator Tests/Go to specific position/help.html
deleted file mode 100644
index 8aac8f3..0000000
--- a/script/tests/tests/Collimator Tests/Go to specific position/help.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-Short Description
-Oscillate around a specific position
-Details
-Go to absolute position A, then move +B steps, then -2B steps, then +2Bsteps (ie oscillate round centre position, logging after each movement); repeat N times
-Parameters
-midPoint Middle point A around which it will oscillate
-spanFromMidPoint B stepst to oscillate around A
-repeatTimes Repeat the moving N times
-delayS Pause delay (>0s) between each oscillation [s]
-Contact
-Marco Boccioli
-
-
-
diff --git a/script/tests/tests/Collimator Tests/Initialise/.config b/script/tests/tests/Collimator Tests/Initialise/.config
deleted file mode 100644
index 2f02383..0000000
--- a/script/tests/tests/Collimator Tests/Initialise/.config
+++ /dev/null
@@ -1,8 +0,0 @@
-name=Initialise
-description=Initialises the motor
-help = \
-This test sends a INIT command to the device, as many times as configured with the parameter RepeatTimes.
-
-#optional parameters. Description is compulsory. Syntax&
-#parameters=&&[;&&]
-parameters=repeatTimes&2&Repeat N times;delayS&4&Delay between each initialisation [s]
\ No newline at end of file
diff --git a/script/tests/tests/Collimator Tests/Initialise/Initialise.py b/script/tests/tests/Collimator Tests/Initialise/Initialise.py
deleted file mode 100644
index b5dfa0b..0000000
--- a/script/tests/tests/Collimator Tests/Initialise/Initialise.py
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-###### DO NOT MODIFY THE CODE BELOW ######
-global print_log, sendFeedback, inspect
-import sys, inspect, os, traceback
-
-def print_log(testName, DEVICE, text):
- time.ctime()
- now = time.strftime('%Y.%m.%d %H:%M:%S')
- print now + ' ' + DEVICE + ' - ' + testName + ': ' + str(text)
-
-#prepare and send feedback to calling tool
-def sendFeedback(testPath, testName, DEVICE, returnString, testPassed):
- print_log(testName, DEVICE, 'End of test. Result:')
- print_log(testName, DEVICE, 'Device: ' + DEVICE)
- print_log(testName, DEVICE, 'Test name: ' + testName)
- print_log(testName, DEVICE, 'Test path: ' + testPath)
- print_log(testName, DEVICE, 'Test passed: ' + str(testPassed))
- print_log(testName, DEVICE, 'Return string: ' + returnString)
- ret = [testPath, DEVICE, returnString, testPassed]
- set_return(ret)
-
-def startTest(testName, DEVICE, params):
- try:
- import traceback
- #get the path of this script
- testPath = inspect.getfile(inspect.currentframe())
- #by default, failed
- ret = 'Test failed'
- success = False
- #plot name to be given to the scan. Use: scan.setPlotTitle(plotName)
- plotName = DEVICE + ' - ' + testName
-
-###### WRITE YOUR CODE HERE BELOW #######
-
- #Pre-actions
- # try:
- # caput(DEVICE+':INIT.PROC', '1')
- # except:
- # ret = 'Unable to create channel - ' + traceback.format_exc()
- # success = False
- # sendFeedback(testPath, testName, DEVICE, ret, success)
- # return
-
-
- #get parameters from the calling interface
- try:
- print_log(testName, DEVICE, "Running test Initialise with the following parameters:")
- print_log(testName, DEVICE, params )
- loopTimes = int(params["repeatTimes"]["value"])
- delaySeconds = int(params["delayS"]["value"])
- except:
- ret = 'Could not retrieve testing parameters - ' + traceback.format_exc()
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
-
- scan = ManualScan(['idX'], ['idMotorPosition', 'idEncoderPosition', 'idError'] )
- scan.setPlotTitle(plotName)
- scan.start()
- #Creating channels: dimension 1
- try:
- idInit = Channel(DEVICE+':INIT.PROC', type = 'l')
- idReady = Channel(DEVICE+':RDY', type = 'l')
- idInterlock = Channel(DEVICE+':ILK', type = 'l')
- idMotorPosition = Channel(DEVICE+':MOTOR.RBV', type = 'd')
- idEncoderPosition = Channel(DEVICE+':ENCODER', type = 'd')
- except:
- ret = 'Unable to create channel - ' + traceback.format_exc()
- success = False
- sendFeedback(testPath, testName, DEVICE, ret, success)
- return
-
- count = 0
- timeout = 90000 #timeout in ms
- for count in range(1, loopTimes+1):
- print_log(testName, DEVICE, 'Initialisation #' + str(count) + '/' + str(loopTimes))
- idInit.put(1, timeout=None) # TODO: Set appropriate timeout
- timeStampStart = float(java.lang.System.currentTimeMillis())
- sleep(0.1)
- ready = 0
- interlock = idInterlock.get()
- timeElapsed = 0 #in ms
- while (ready == 0) and timeElapsed
-
-Short Description
-Initialise N times.
-Details
-This test sends a INIT command to the device, as many times as configured with the parameter repeatTimes.
-Parameters
-repeatTimes Repeat the Initialisation N times
-delayS Pause delay between each Initialisation [s]
-Contact
-Marco Boccioli
-
-