diff --git a/plugins/_PuckDetection.java b/plugins/_PuckDetection.java deleted file mode 100644 index 8edf011..0000000 --- a/plugins/_PuckDetection.java +++ /dev/null @@ -1,169 +0,0 @@ - -import ch.psi.pshell.device.DeviceBase; -import ch.psi.utils.Arr; -import ch.psi.utils.Chrono; -import ch.psi.utils.State; -import java.io.IOException; -import java.util.ArrayList; -import java.util.logging.Level; - - -public class PuckDetection extends DeviceBase{ - public static final int PUCKS_NUMBER = 30; - final String server; - public volatile Chrono chrono; - - public PuckDetection(String name, String server){ - super(name); - this.server = server.startsWith("tcp://") ? server : "tcp://" + server; - } - - - public static class PuckState{ - public boolean online; - public boolean mecSwitch; - public boolean indSwitch; - - void clear(){ - online = false; - mecSwitch = false; - indSwitch = false; - } - void set(boolean mecSwitch, boolean indSwitch){ - online = true; - this.mecSwitch = mecSwitch; - this.indSwitch = indSwitch; - } - - @Override - public String toString(){ - return "Online = " + online + "\ns1 = " + mecSwitch+ "\ns2 = " + indSwitch; - } - } - - PuckState[] pucks; - public PuckState[] getPucks(){ - return pucks; - } - - //From 1 to PUCKS_NUMBER - public PuckState getPuck(int id) throws Exception{ - assertInitialized(); - if ((id<=0) || (id>PUCKS_NUMBER)){ - throw new Exception("invalid puck id: "+ id); - } - return pucks[id-1]; - } - - - Thread thread; - Thread watchDog; - - @Override - protected void doInitialize() throws IOException, InterruptedException{ - doClose(); - super.doInitialize(); - pucks = new PuckState[PUCKS_NUMBER]; - for (int i=0; i present = new ArrayList<>(); - for (String line:msg.split("\t")){ - try{ - line = line.trim(); - String[] tokens = line.split(" "); - int id = Integer.valueOf(tokens[0].substring(1)); - present.add(id); - PuckState puck = getPuck(id); - if (tokens.length<3){ - puck.clear(); - } else { - puck.set(tokens[1].trim().equals("1"),tokens[2].trim().equals("1")); - } - } catch (Exception ex){ - getLogger().log(Level.INFO, null, ex); - } - } - for (int i=1; i<= PUCKS_NUMBER; i++){ - if (!Arr.containsEqual(present.toArray(), i)){ - pucks[i-1].clear(); - } - } - } - - @Override - protected void doClose(){ - if (watchDog!=null){ - watchDog.interrupt(); - watchDog = null; - } - if (thread!=null){ - thread.interrupt(); - thread = null; - } - } -}