From 9c1007ccc228017623471fd45dc428db68055a90 Mon Sep 17 00:00:00 2001 From: Alexandre Gobbo Date: Wed, 12 Aug 2020 18:22:50 +0200 Subject: [PATCH] Included x06da plate layout --- src/main/java/ch/psi/mxsc/BasePlate.java | 83 ++++++++++++++++++++---- src/main/java/ch/psi/mxsc/MainPanel.java | 6 +- 2 files changed, 74 insertions(+), 15 deletions(-) diff --git a/src/main/java/ch/psi/mxsc/BasePlate.java b/src/main/java/ch/psi/mxsc/BasePlate.java index 858c291..83e1185 100644 --- a/src/main/java/ch/psi/mxsc/BasePlate.java +++ b/src/main/java/ch/psi/mxsc/BasePlate.java @@ -21,73 +21,125 @@ public class BasePlate extends DeviceBase { natural, sf } - - //TODO: Fix SF only to change address based on BASE_PLATE_LAYOUT - final static PointDouble[] pucksPosition = (MainPanel.BASE_PLATE_LAYOUT == BasePlateLayout.normal) - ? new PointDouble[]{ + final static PointDouble[] pucksPositionNormal = 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(64.95, 187.5), + }; + + final static PointDouble[] pucksPositionSf = 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(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(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, -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(-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(-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(-64.95, 112.5) , }; + + final static PointDouble[] pucksPosition6s = 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), + }; + + //TODO: Fix SF only to change address based on BASE_PLATE_LAYOUT + final static PointDouble[] pucksPosition = + (MainPanel.BASE_PLATE_LAYOUT == BasePlateLayout.normal) ? pucksPositionNormal : + ((MainPanel.BASE_PLATE_LAYOUT == BasePlateLayout.sf) ? pucksPositionSf : pucksPosition6s ); + 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); @@ -99,6 +151,11 @@ public class BasePlate extends DeviceBase { new Puck(this, i); } getPucks()[0].setSelected(true); + if (MainPanel.BASE_PLATE_LAYOUT == BasePlateLayout.x06da){ + for (int i = 20; i< 30; i++){ + getPucks()[i].setEnabled(false); + } + } } diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java index 9de8b57..a0485b4 100644 --- a/src/main/java/ch/psi/mxsc/MainPanel.java +++ b/src/main/java/ch/psi/mxsc/MainPanel.java @@ -54,9 +54,11 @@ public class MainPanel extends Panel { public enum BasePlateLayout { normal, - sf + sf, + x06da } - public static final BasePlateLayout BASE_PLATE_LAYOUT = App.hasArgument("sf") ? BasePlateLayout.sf : BasePlateLayout.normal; + public static final BasePlateLayout BASE_PLATE_LAYOUT = App.hasArgument("sf") ? BasePlateLayout.sf : + ( App.hasArgument("x06da") ? BasePlateLayout.x06da : BasePlateLayout.normal); public MainPanel() { initComponents();