diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/AcquisitionEngineNG.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/AcquisitionEngineNG.java
index e26ab53..cccda42 100644
--- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/AcquisitionEngineNG.java
+++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/AcquisitionEngineNG.java
@@ -30,8 +30,10 @@ import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
-import ch.psi.fda.core.messages.ComponentMetadata;
-import ch.psi.fda.core.messages.DataMessageMetadata;
+import ch.psi.fda.aq.ng.rdescriptors.ProbeDescriptor;
+import ch.psi.fda.aq.ng.rdescriptors.ShellDescriptor;
+import ch.psi.fda.aq.ng.resources.ChannelProbeResource;
+import ch.psi.fda.aq.ng.resources.ShellResource;
import ch.psi.fda.core.messages.Message;
import ch.psi.jcae.Channel;
import ch.psi.jcae.ChannelDescriptor;
diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ScanMapperNG.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ScanMapperNG.java
index 6d12c1e..bfeac41 100644
--- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ScanMapperNG.java
+++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ScanMapperNG.java
@@ -27,6 +27,8 @@ import java.util.Set;
import java.util.UUID;
import java.util.logging.Logger;
+import ch.psi.fda.aq.ng.rdescriptors.ProbeDescriptor;
+import ch.psi.fda.aq.ng.rdescriptors.ShellDescriptor;
import ch.psi.fda.core.messages.ComponentMetadata;
import ch.psi.fda.core.messages.DataMessageMetadata;
import ch.psi.fda.model.v1.Action;
diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ProbeDescriptor.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/rdescriptors/ProbeDescriptor.java
similarity index 96%
rename from ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ProbeDescriptor.java
rename to ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/rdescriptors/ProbeDescriptor.java
index 67e6325..76a1f7b 100644
--- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ProbeDescriptor.java
+++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/rdescriptors/ProbeDescriptor.java
@@ -16,7 +16,7 @@
* along with this code. If not, see .
*
*/
-package ch.psi.fda.aq.ng;
+package ch.psi.fda.aq.ng.rdescriptors;
import java.util.ArrayList;
import java.util.List;
diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ShellDescriptor.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/rdescriptors/ShellDescriptor.java
similarity index 95%
rename from ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ShellDescriptor.java
rename to ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/rdescriptors/ShellDescriptor.java
index 900b3a7..19d0d4a 100644
--- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ShellDescriptor.java
+++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/rdescriptors/ShellDescriptor.java
@@ -16,7 +16,7 @@
* along with this code. If not, see .
*
*/
-package ch.psi.fda.aq.ng;
+package ch.psi.fda.aq.ng.rdescriptors;
/**
* Resource descriptor of an operating system shell.
diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ChannelProbeResource.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/resources/ChannelProbeResource.java
similarity index 98%
rename from ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ChannelProbeResource.java
rename to ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/resources/ChannelProbeResource.java
index a816f1e..f5ab025 100644
--- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ChannelProbeResource.java
+++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/resources/ChannelProbeResource.java
@@ -16,7 +16,7 @@
* along with this code. If not, see .
*
*/
-package ch.psi.fda.aq.ng;
+package ch.psi.fda.aq.ng.resources;
import java.util.List;
import java.util.concurrent.BlockingQueue;
diff --git a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ShellResource.java b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/resources/ShellResource.java
similarity index 98%
rename from ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ShellResource.java
rename to ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/resources/ShellResource.java
index 5e516db..50349ac 100644
--- a/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/ShellResource.java
+++ b/ch.psi.fda/src/main/java/ch/psi/fda/aq/ng/resources/ShellResource.java
@@ -16,7 +16,7 @@
* along with this code. If not, see .
*
*/
-package ch.psi.fda.aq.ng;
+package ch.psi.fda.aq.ng.resources;
import java.io.BufferedReader;
import java.io.IOException;
diff --git a/ch.psi.fda/src/test/java/ch/psi/fda/aq/ng/AcquisitionEngineNGTest.java b/ch.psi.fda/src/test/java/ch/psi/fda/aq/ng/AcquisitionEngineNGTest.java
index 682e339..deeab3b 100644
--- a/ch.psi.fda/src/test/java/ch/psi/fda/aq/ng/AcquisitionEngineNGTest.java
+++ b/ch.psi.fda/src/test/java/ch/psi/fda/aq/ng/AcquisitionEngineNGTest.java
@@ -18,6 +18,10 @@
*/
package ch.psi.fda.aq.ng;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeoutException;
import java.util.logging.Logger;
import org.junit.After;
@@ -34,6 +38,10 @@ import ch.psi.fda.model.v1.DiscreteStepDimension;
import ch.psi.fda.model.v1.Scan;
import ch.psi.fda.model.v1.ScriptAction;
import ch.psi.fda.model.v1.ShellAction;
+import ch.psi.jcae.Channel;
+import ch.psi.jcae.ChannelDescriptor;
+import ch.psi.jcae.ChannelException;
+import ch.psi.jcae.ChannelService;
import ch.psi.jcae.impl.DefaultChannelService;
/**
@@ -171,5 +179,29 @@ public class AcquisitionEngineNGTest {
elapsed = end-start;
logger.info("Elapsed time: "+elapsed);
}
+
+ @Test
+ public void testCustomScript() {
+ Map rdescriptors = new HashMap<>();
+ rdescriptors.put("x", new ChannelDescriptor<>(Double.class, "MTEST-HW3:MOT1", false));
+ rdescriptors.put("xr", new ChannelDescriptor<>(Double.class, "MTEST-HW3:MOT2.RBV", false));
+ String script = "for i in range(1,5,1):\n"+
+ " x.setValueAsync(float(i))\n"+
+// " print xr.getValue()\n";
+ " print 'done'\n";
+
+ engine.execute(rdescriptors, script);
+ }
+
+ @Test
+ public void testT() throws ChannelException, InterruptedException, TimeoutException, ExecutionException{
+ ChannelService c = new DefaultChannelService();
+ Channel ch = c.createChannel(new ChannelDescriptor<>(Double.class, "MTEST-HW3:MOT1", false));
+ for(double i=0;i<=5.0; i=i+1){
+ ch.setValueAsync(i);
+// System.out.println(ch.getValue());
+ System.out.println("done");
+ }
+ }
}
diff --git a/ch.psi.fda/src/test/resources/home/scans/templates/scan1d-table.xml b/ch.psi.fda/src/test/resources/home/scans/templates/scan1d-table.xml
new file mode 100644
index 0000000..5255c39
--- /dev/null
+++ b/ch.psi.fda/src/test/resources/home/scans/templates/scan1d-table.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+ 0.0 1.0 2.0 3.0 4.0
+
+
+
+
+
+
+
+
+
+
+