diff --git a/ch.psi.fda.fdaq/pom.xml b/ch.psi.fda.fdaq/pom.xml index 92a5242..618d7ad 100644 --- a/ch.psi.fda.fdaq/pom.xml +++ b/ch.psi.fda.fdaq/pom.xml @@ -3,7 +3,7 @@ 4.0.0 ch.psi ch.psi.fda.fdaq - 1.0.13 + 1.0.14 diff --git a/ch.psi.fda.fdaq/src/main/java/ch/psi/fda/fdaq/Fdaq.java b/ch.psi.fda.fdaq/src/main/java/ch/psi/fda/fdaq/Fdaq.java index 56286a1..2940f8b 100644 --- a/ch.psi.fda.fdaq/src/main/java/ch/psi/fda/fdaq/Fdaq.java +++ b/ch.psi.fda.fdaq/src/main/java/ch/psi/fda/fdaq/Fdaq.java @@ -18,6 +18,7 @@ */ package ch.psi.fda.fdaq; +import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.EOFException; @@ -66,6 +67,14 @@ public class Fdaq { public void acquire() { running = true; // potential threading problem + final List metadata = new ArrayList<>(); + metadata.add(new Metadata("counter")); + metadata.add(new Metadata("ain1")); + metadata.add(new Metadata("ain2")); + metadata.add(new Metadata("ain3")); + metadata.add(new Metadata("ain4")); + metadata.add(new Metadata("enc1")); + Socket echoSocket = null; DataOutputStream out = null; DataInputStream in = null; @@ -79,7 +88,7 @@ public class Fdaq { stopAcquisition = false; echoSocket = new Socket(configuration.getHostname(), configuration.getPort()); out = new DataOutputStream(echoSocket.getOutputStream()); - in = new DataInputStream(echoSocket.getInputStream()); + in = new DataInputStream(new BufferedInputStream(echoSocket.getInputStream())); ByteBuffer bytebuffer = ByteBuffer.allocate(3 * 4); // 3 times Integer bytebuffer.order(ByteOrder.LITTLE_ENDIAN); @@ -97,20 +106,7 @@ public class Fdaq { out.write(bytebuffer.array()); out.flush(); - final List metadata = new ArrayList<>(); - metadata.add(new Metadata("counter")); - metadata.add(new Metadata("ain1")); - metadata.add(new Metadata("ain2")); - metadata.add(new Metadata("ain3")); - metadata.add(new Metadata("ain4")); - metadata.add(new Metadata("enc1")); - - int index=0; - for (int t = 0; t < numberOfElements; t++) { - // struct fdaqbloc_out {int trigindex;int adc1reg;int - // adc2reg;int encoder;}; - byte[] cbuffer = new byte[4*4]; // 4 times Integers a 4 bytes try{ @@ -147,14 +143,9 @@ public class Fdaq { message.getData().add(c2); message.getData().add(d); bus.post(message); - - if(t==0){ - logger.info("index: "+a); - } - index=a; } - logger.info("Done ..."+index); + logger.info("Done ..."); } catch (IOException e) { // Ignore potential exceptions if stop was triggered before all messages were retrieved