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