diff --git a/ch.psi.fda.xscan/pom.xml b/ch.psi.fda.xscan/pom.xml
index 8fa2f15..5babbff 100644
--- a/ch.psi.fda.xscan/pom.xml
+++ b/ch.psi.fda.xscan/pom.xml
@@ -3,7 +3,7 @@
4.0.0
ch.psi.fda
ch.psi.fda.xscan
- 2.4.0_zmq
+ 2.4.1_zmq
diff --git a/ch.psi.fda.xscan/src/main/java/ch/psi/fda/aq/Acquisition.java b/ch.psi.fda.xscan/src/main/java/ch/psi/fda/aq/Acquisition.java
index 69eb888..f3e3660 100644
--- a/ch.psi.fda.xscan/src/main/java/ch/psi/fda/aq/Acquisition.java
+++ b/ch.psi.fda.xscan/src/main/java/ch/psi/fda/aq/Acquisition.java
@@ -1080,7 +1080,7 @@ public class Acquisition {
if(hcrOnly){
// There are no additional channels to be read out while taking data via hcrlogic
- // Therefor we just register the hcr loop as action loop
+ // Therefore we just register the hcr loop as action loop
aLoop = actionLoop;
}
diff --git a/ch.psi.fda.xscan/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoopStream.java b/ch.psi.fda.xscan/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoopStream.java
index 5ee5e5b..5949b0b 100644
--- a/ch.psi.fda.xscan/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoopStream.java
+++ b/ch.psi.fda.xscan/src/main/java/ch/psi/fda/core/loops/cr/CrlogicLoopStream.java
@@ -66,7 +66,7 @@ public class CrlogicLoopStream extends CrlogicLoop implements ActionLoop {
*/
private boolean dataGroup = false;
- private boolean keepTmpFiles = false;
+// private boolean keepTmpFiles = false;
private volatile boolean stopReadoutThread = false;
private Thread readoutThread;
@@ -157,7 +157,7 @@ public class CrlogicLoopStream extends CrlogicLoop implements ActionLoop {
* @param inreader
* @throws IOException
*/
- private void receive() {
+ public void receive() {
MainHeader mainHeader;
@@ -166,13 +166,18 @@ public class CrlogicLoopStream extends CrlogicLoop implements ActionLoop {
} catch (IOException e) {
throw new RuntimeException("Unable to decode main header", e);
}
+ if(!socket.hasReceiveMore()){
+ throw new RuntimeException("There is no data submessage");
+ }
+
+ byte[] bytes = socket.recv();
+ ByteBuffer byteBuffer = ByteBuffer.wrap(bytes);
DataMessage message = new DataMessage(metadata);
boolean use = true;
- for(int i=0; i1){
throw new RuntimeException("More than 1 message drained from stream: "+n);
}
@@ -209,99 +215,6 @@ public class CrlogicLoopStream extends CrlogicLoop implements ActionLoop {
eventbus.post(message);
}
-
-
-// BufferedReader in = new BufferedReader(inreader);
-// String line;
-// boolean firstline = true;
-// int linecount=0;
-//// int mcounter=0;
-//
-//// boolean wasInRangeBefore = false;
-// boolean discardAnyway = false;
-//
-// while (true) {
-// line = in.readLine();
-// linecount++;
-// if (line == null) {
-// break;
-// } else {
-// // if(line.matches("^\\[.*")){
-// if (line.matches("^ *#.*")) {
-// // Skip header/comment lines
-//// logger.info("HEADER: " + line);
-// } else {
-// if (firstline) {
-// firstline = false;
-// continue;
-// }
-//
-//// logger.info(line);
-//
-// // Write into queue
-// DataMessage message = new DataMessage(metadata);
-// String[] tokens = line.split("\t");
-// boolean use = true;
-//
-// for(int i=0;i