diff --git a/src/main/java/ch/psi/mxsc/BasePlate.java b/src/main/java/ch/psi/mxsc/BasePlate.java index e7f9cb8..34b62b6 100644 --- a/src/main/java/ch/psi/mxsc/BasePlate.java +++ b/src/main/java/ch/psi/mxsc/BasePlate.java @@ -3,6 +3,7 @@ */ package ch.psi.mxsc; +import ch.psi.mxsc.MainPanel.BasePlateLayout; import ch.psi.pshell.device.Device; import ch.psi.pshell.device.DeviceBase; import ch.psi.pshell.imaging.DimensionDouble; @@ -14,77 +15,78 @@ import java.util.ArrayList; * */ public class BasePlate extends DeviceBase { - - public enum WiringSetup{ + + public enum WiringSetup { natural, - sf + sf } - - final static PointDouble[] pucksPosition = new PointDouble[]{ - /* - new PointDouble(0, 75), - new PointDouble(0, 150), - new PointDouble(64.95, 187.5), - new PointDouble(129.9, 150), - new PointDouble(64.95, 112.5), - new PointDouble(64.95, 37.5), - new PointDouble(129.9, 75), - new PointDouble(194.85, 37.5), - new PointDouble(194.85, -37.5), - new PointDouble(129.9, 0), - new PointDouble(64.95, -37.5), - new PointDouble(129.9, -75), - new PointDouble(129.9, -150), - new PointDouble(64.95, -187.5), - new PointDouble(64.95, -112.5), - new PointDouble(0, -75), - new PointDouble(0, -150), - new PointDouble(-64.95, -187.5), - new PointDouble(-129.9, -150), - new PointDouble(-64.95, -112.5), - new PointDouble(-64.95, -37.5), - new PointDouble(-129.9, -75), - new PointDouble(-194.85, -37.5), - new PointDouble(-194.85, 37.5), - new PointDouble(-129.9, 0), - new PointDouble(-64.95, 37.5), - new PointDouble(-129.9, 75), - new PointDouble(-129.9, 150), - new PointDouble(-64.95, 187.5), - new PointDouble(-64.95, 112.5) - */ - new PointDouble(0, 75), - new PointDouble(0, 150), - new PointDouble(-64.95, 112.5), - new PointDouble(-64.95, 187.5), - new PointDouble(-129.9, 150), - new PointDouble(-64.95, 37.5), - new PointDouble(-129.9, 75), - new PointDouble(-129.9, 0), - new PointDouble(-194.85, 37.5), - new PointDouble(-194.85, -37.5), - new PointDouble(-64.95, -37.5), - new PointDouble(-129.9, -75), - new PointDouble(-64.95, -112.5), - new PointDouble(-129.9, -150), - new PointDouble(-64.95, -187.5), - new PointDouble(0, -75), - new PointDouble(0, -150), - new PointDouble(64.95, -112.5), - new PointDouble(64.95, -187.5), - new PointDouble(129.9, -150), - new PointDouble(64.95, -37.5), - new PointDouble(129.9, -75), - new PointDouble(129.9, 0), - new PointDouble(194.85, -37.5), - new PointDouble(194.85, 37.5), - new PointDouble(64.95, 37.5), - new PointDouble(129.9, 75), - new PointDouble(64.95, 112.5), - new PointDouble(129.9, 150), - new PointDouble(64.95, 187.5), - - }; + + //TODO: Fix SF only to change address based on BASE_PLATE_LAYOUT + final static PointDouble[] pucksPosition = (MainPanel.BASE_PLATE_LAYOUT == BasePlateLayout.normal) + ? new PointDouble[]{ + new PointDouble(0, 75), + new PointDouble(0, 150), + new PointDouble(-64.95, 112.5), + new PointDouble(-64.95, 187.5), + new PointDouble(-129.9, 150), + new PointDouble(-64.95, 37.5), + new PointDouble(-129.9, 75), + new PointDouble(-129.9, 0), + new PointDouble(-194.85, 37.5), + new PointDouble(-194.85, -37.5), + new PointDouble(-64.95, -37.5), + new PointDouble(-129.9, -75), + new PointDouble(-64.95, -112.5), + new PointDouble(-129.9, -150), + new PointDouble(-64.95, -187.5), + new PointDouble(0, -75), + new PointDouble(0, -150), + new PointDouble(64.95, -112.5), + new PointDouble(64.95, -187.5), + new PointDouble(129.9, -150), + new PointDouble(64.95, -37.5), + new PointDouble(129.9, -75), + new PointDouble(129.9, 0), + new PointDouble(194.85, -37.5), + new PointDouble(194.85, 37.5), + new PointDouble(64.95, 37.5), + new PointDouble(129.9, 75), + new PointDouble(64.95, 112.5), + new PointDouble(129.9, 150), + new PointDouble(64.95, 187.5),} + : new PointDouble[]{ + new PointDouble(0, 75), + new PointDouble(0, 150), + new PointDouble(64.95, 187.5), + new PointDouble(129.9, 150), + new PointDouble(64.95, 112.5), + new PointDouble(64.95, 37.5), + new PointDouble(129.9, 75), + new PointDouble(194.85, 37.5), + new PointDouble(194.85, -37.5), + new PointDouble(129.9, 0), + new PointDouble(64.95, -37.5), + new PointDouble(129.9, -75), + new PointDouble(129.9, -150), + new PointDouble(64.95, -187.5), + new PointDouble(64.95, -112.5), + new PointDouble(0, -75), + new PointDouble(0, -150), + new PointDouble(-64.95, -187.5), + new PointDouble(-129.9, -150), + new PointDouble(-64.95, -112.5), + new PointDouble(-64.95, -37.5), + new PointDouble(-129.9, -75), + new PointDouble(-194.85, -37.5), + new PointDouble(-194.85, 37.5), + new PointDouble(-129.9, 0), + new PointDouble(-64.95, 37.5), + new PointDouble(-129.9, 75), + new PointDouble(-129.9, 150), + new PointDouble(-64.95, 187.5), + new PointDouble(-64.95, 112.5) + + }; final static int numberOfPucks = pucksPosition.length; //final static DimensionDouble size = new DimensionDouble(580.0, 580.0); final static DimensionDouble size = new DimensionDouble(470.0, 470.0); @@ -93,8 +95,8 @@ public class BasePlate extends DeviceBase { super("BasePlate", new BasePlateConfig()); ArrayList pucks = new ArrayList<>(); for (int i = 0; i < numberOfPucks; i++) { - new Puck(this, i); - } + new Puck(this, i); + } getPucks()[0].setSelected(true); } @@ -108,8 +110,6 @@ public class BasePlate extends DeviceBase { return (BasePlateConfig) super.getConfig(); } - - public Puck[] getPucks() { ArrayList ret = new ArrayList<>(); for (Device d : getChildren()) { @@ -117,68 +117,66 @@ public class BasePlate extends DeviceBase { } return ret.toArray(new Puck[0]); } - - - Puck getSelectedPuck(){ - for (Puck p:getPucks()){ - if (p.isSelected()){ + + Puck getSelectedPuck() { + for (Puck p : getPucks()) { + if (p.isSelected()) { return p; } } - return null; + return null; } - - Puck.Detection[] getDetection(){ + + Puck.Detection[] getDetection() { Puck.Detection[] ret = new Puck.Detection[Controller.NUMBER_OF_PUCKS]; - for (int i=0; i