diff --git a/src/main/java/ch/psi/mxsc/Controller.java b/src/main/java/ch/psi/mxsc/Controller.java
index 547c650..493ce58 100644
--- a/src/main/java/ch/psi/mxsc/Controller.java
+++ b/src/main/java/ch/psi/mxsc/Controller.java
@@ -204,7 +204,8 @@ public class Controller {
hexiposi.addListener(hexiposiListener);
} else {
Logger.getLogger(Controller.class.getName()).log(Level.SEVERE, "No hexiposi detected.");
- }
+ }
+ mainFrame.hexiposiPanel.setDevice(hexiposi);
}
final PuckState[] puckState;
diff --git a/src/main/java/ch/psi/mxsc/HexiposiPanel.java b/src/main/java/ch/psi/mxsc/HexiposiPanel.java
index 1c44fbc..31f686c 100644
--- a/src/main/java/ch/psi/mxsc/HexiposiPanel.java
+++ b/src/main/java/ch/psi/mxsc/HexiposiPanel.java
@@ -1,143 +1,143 @@
-package ch.psi.mxsc;
-
-import ch.psi.pshell.device.DiscretePositionerBase;
-import ch.psi.pshell.swing.DevicePanel;
-import java.awt.Color;
-
-/**
- *
- */
-public class HexiposiPanel extends DevicePanel {
-
- final Color COLOR_ON = Color.GREEN; //new Color(51,102,255);
- final Color COLOR_OFF = Color.BLACK;
-
- public HexiposiPanel() {
- initComponents();
- setDeviceName("hexiposi");
-
- }
-
- @Override
- public DiscretePositionerBase getDevice(){
- return (DiscretePositionerBase) super.getDevice();
- }
-
- @Override
- protected void onDeviceReadbackChanged(Object value) {
- ledA.setColor("A".equals(value) ? COLOR_ON: COLOR_OFF);
- ledB.setColor("B".equals(value) ? COLOR_ON: COLOR_OFF);
- ledC.setColor("C".equals(value) ? COLOR_ON: COLOR_OFF);
- ledD.setColor("D".equals(value) ? COLOR_ON: COLOR_OFF);
- ledE.setColor("E".equals(value) ? COLOR_ON: COLOR_OFF);
- ledF.setColor("F".equals(value) ? COLOR_ON: COLOR_OFF);
- if ((value==null) || (value.toString().trim().isEmpty()) || (value.toString().equalsIgnoreCase("Unknown"))){
- textPosition.setText("");
- } else {
- textPosition.setText((value.toString()).substring(0, 1));
- }
-
- repaint();
- }
-
-
-
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // //GEN-BEGIN:initComponents
- private void initComponents() {
-
- filler9 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
- circlePanel2 = new ch.psi.mxsc.CirclePanel();
- filler8 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
- ledD = new ch.psi.pshell.swing.Led();
- filler7 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0));
- ledC = new ch.psi.pshell.swing.Led();
- filler6 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
- ledE = new ch.psi.pshell.swing.Led();
- filler10 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
- textPosition = new javax.swing.JLabel();
- filler4 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
- ledB = new ch.psi.pshell.swing.Led();
- filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
- ledF = new ch.psi.pshell.swing.Led();
- filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
- ledA = new ch.psi.pshell.swing.Led();
- filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
-
- circlePanel2.setLayout(new java.awt.GridLayout(5, 3));
- circlePanel2.add(filler8);
-
- ledD.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- circlePanel2.add(ledD);
- circlePanel2.add(filler7);
-
- ledC.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- circlePanel2.add(ledC);
- circlePanel2.add(filler6);
-
- ledE.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- circlePanel2.add(ledE);
- circlePanel2.add(filler10);
-
- textPosition.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
- textPosition.setForeground(new java.awt.Color(0, 128, 0));
- textPosition.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- circlePanel2.add(textPosition);
- circlePanel2.add(filler4);
-
- ledB.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- circlePanel2.add(ledB);
- circlePanel2.add(filler3);
-
- ledF.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- circlePanel2.add(ledF);
- circlePanel2.add(filler2);
-
- ledA.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
- circlePanel2.add(ledA);
- circlePanel2.add(filler1);
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
- this.setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 73, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(circlePanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 71, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(circlePanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(0, 0, Short.MAX_VALUE)))
- );
- }// //GEN-END:initComponents
-
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private ch.psi.mxsc.CirclePanel circlePanel2;
- private javax.swing.Box.Filler filler1;
- private javax.swing.Box.Filler filler10;
- private javax.swing.Box.Filler filler2;
- private javax.swing.Box.Filler filler3;
- private javax.swing.Box.Filler filler4;
- private javax.swing.Box.Filler filler6;
- private javax.swing.Box.Filler filler7;
- private javax.swing.Box.Filler filler8;
- private javax.swing.Box.Filler filler9;
- private ch.psi.pshell.swing.Led ledA;
- private ch.psi.pshell.swing.Led ledB;
- private ch.psi.pshell.swing.Led ledC;
- private ch.psi.pshell.swing.Led ledD;
- private ch.psi.pshell.swing.Led ledE;
- private ch.psi.pshell.swing.Led ledF;
- private javax.swing.JLabel textPosition;
- // End of variables declaration//GEN-END:variables
-}
+package ch.psi.mxsc;
+
+import ch.psi.pshell.device.DiscretePositionerBase;
+import ch.psi.pshell.swing.DevicePanel;
+import java.awt.Color;
+
+/**
+ *
+ */
+public class HexiposiPanel extends DevicePanel {
+
+ final Color COLOR_ON = Color.GREEN; //new Color(51,102,255);
+ final Color COLOR_OFF = Color.BLACK;
+
+ public HexiposiPanel() {
+ initComponents();
+ //setDeviceName("hexiposi");
+
+ }
+
+ @Override
+ public DiscretePositionerBase getDevice(){
+ return (DiscretePositionerBase) super.getDevice();
+ }
+
+ @Override
+ protected void onDeviceReadbackChanged(Object value) {
+ ledA.setColor("A".equals(value) ? COLOR_ON: COLOR_OFF);
+ ledB.setColor("B".equals(value) ? COLOR_ON: COLOR_OFF);
+ ledC.setColor("C".equals(value) ? COLOR_ON: COLOR_OFF);
+ ledD.setColor("D".equals(value) ? COLOR_ON: COLOR_OFF);
+ ledE.setColor("E".equals(value) ? COLOR_ON: COLOR_OFF);
+ ledF.setColor("F".equals(value) ? COLOR_ON: COLOR_OFF);
+ if ((value==null) || (value.toString().trim().isEmpty()) || (value.toString().equalsIgnoreCase("Unknown"))){
+ textPosition.setText("");
+ } else {
+ textPosition.setText((value.toString()).substring(0, 1));
+ }
+
+ repaint();
+ }
+
+
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ filler9 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+ circlePanel2 = new ch.psi.mxsc.CirclePanel();
+ filler8 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+ ledD = new ch.psi.pshell.swing.Led();
+ filler7 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0));
+ ledC = new ch.psi.pshell.swing.Led();
+ filler6 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+ ledE = new ch.psi.pshell.swing.Led();
+ filler10 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+ textPosition = new javax.swing.JLabel();
+ filler4 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+ ledB = new ch.psi.pshell.swing.Led();
+ filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+ ledF = new ch.psi.pshell.swing.Led();
+ filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+ ledA = new ch.psi.pshell.swing.Led();
+ filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767));
+
+ circlePanel2.setLayout(new java.awt.GridLayout(5, 3));
+ circlePanel2.add(filler8);
+
+ ledD.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ circlePanel2.add(ledD);
+ circlePanel2.add(filler7);
+
+ ledC.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ circlePanel2.add(ledC);
+ circlePanel2.add(filler6);
+
+ ledE.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ circlePanel2.add(ledE);
+ circlePanel2.add(filler10);
+
+ textPosition.setFont(new java.awt.Font("Monospaced", 0, 14)); // NOI18N
+ textPosition.setForeground(new java.awt.Color(0, 128, 0));
+ textPosition.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ circlePanel2.add(textPosition);
+ circlePanel2.add(filler4);
+
+ ledB.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ circlePanel2.add(ledB);
+ circlePanel2.add(filler3);
+
+ ledF.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ circlePanel2.add(ledF);
+ circlePanel2.add(filler2);
+
+ ledA.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ circlePanel2.add(ledA);
+ circlePanel2.add(filler1);
+
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+ this.setLayout(layout);
+ layout.setHorizontalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 73, Short.MAX_VALUE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(circlePanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 73, Short.MAX_VALUE))
+ );
+ layout.setVerticalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 71, Short.MAX_VALUE)
+ .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addComponent(circlePanel2, javax.swing.GroupLayout.PREFERRED_SIZE, 71, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(0, 0, Short.MAX_VALUE)))
+ );
+ }// //GEN-END:initComponents
+
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private ch.psi.mxsc.CirclePanel circlePanel2;
+ private javax.swing.Box.Filler filler1;
+ private javax.swing.Box.Filler filler10;
+ private javax.swing.Box.Filler filler2;
+ private javax.swing.Box.Filler filler3;
+ private javax.swing.Box.Filler filler4;
+ private javax.swing.Box.Filler filler6;
+ private javax.swing.Box.Filler filler7;
+ private javax.swing.Box.Filler filler8;
+ private javax.swing.Box.Filler filler9;
+ private ch.psi.pshell.swing.Led ledA;
+ private ch.psi.pshell.swing.Led ledB;
+ private ch.psi.pshell.swing.Led ledC;
+ private ch.psi.pshell.swing.Led ledD;
+ private ch.psi.pshell.swing.Led ledE;
+ private ch.psi.pshell.swing.Led ledF;
+ private javax.swing.JLabel textPosition;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/main/java/ch/psi/mxsc/MainPanel.form b/src/main/java/ch/psi/mxsc/MainPanel.form
index 79663e1..430b769 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.form
+++ b/src/main/java/ch/psi/mxsc/MainPanel.form
@@ -31,7 +31,7 @@
-
+
@@ -334,21 +334,21 @@
-
+
-
+
-
+
-
+
@@ -357,6 +357,9 @@
+
+
+
@@ -381,12 +384,12 @@
-
+
-
+
@@ -879,7 +882,7 @@
-
+
@@ -987,9 +990,9 @@
-
+
-
+
@@ -1001,7 +1004,7 @@
-
+
diff --git a/src/main/java/ch/psi/mxsc/MainPanel.java b/src/main/java/ch/psi/mxsc/MainPanel.java
index 8534bea..0e3faf6 100644
--- a/src/main/java/ch/psi/mxsc/MainPanel.java
+++ b/src/main/java/ch/psi/mxsc/MainPanel.java
@@ -701,18 +701,18 @@ public class MainPanel extends Panel {
panelHexiposiLayout.setHorizontalGroup(
panelHexiposiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelHexiposiLayout.createSequentialGroup()
- .addContainerGap(9, Short.MAX_VALUE)
+ .addContainerGap(13, Short.MAX_VALUE)
.addGroup(panelHexiposiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(buttonDetectCover)
.addComponent(hexiposiPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(9, Short.MAX_VALUE))
+ .addContainerGap(14, Short.MAX_VALUE))
);
panelHexiposiLayout.setVerticalGroup(
panelHexiposiLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelHexiposiLayout.createSequentialGroup()
- .addContainerGap(14, Short.MAX_VALUE)
+ .addContainerGap(15, Short.MAX_VALUE)
.addComponent(hexiposiPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 9, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10, Short.MAX_VALUE)
.addComponent(buttonDetectCover)
.addContainerGap())
);
@@ -739,11 +739,11 @@ public class MainPanel extends Panel {
panelViewTypeLayout.setHorizontalGroup(
panelViewTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelViewTypeLayout.createSequentialGroup()
- .addContainerGap(8, Short.MAX_VALUE)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelViewTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
.addComponent(buttonDrawing)
.addComponent(buttonCamera))
- .addContainerGap(8, Short.MAX_VALUE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
panelViewTypeLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonCamera, buttonDrawing});
@@ -1191,9 +1191,9 @@ public class MainPanel extends Panel {
.addGroup(panelDevicesLayout.createSequentialGroup()
.addGap(0, 0, 0)
.addComponent(devicesPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
.addComponent(panelExpert, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addContainerGap(31, Short.MAX_VALUE))
);
panelDevicesLayout.setVerticalGroup(
panelDevicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
@@ -1202,7 +1202,7 @@ public class MainPanel extends Panel {
.addGroup(panelDevicesLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(panelExpert, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(devicesPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE))
- .addContainerGap(8, Short.MAX_VALUE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
javax.swing.GroupLayout panelRightLayout = new javax.swing.GroupLayout(panelRight);
@@ -1221,7 +1221,7 @@ public class MainPanel extends Panel {
panelRightLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(panelRightLayout.createSequentialGroup()
.addGap(0, 0, 0)
- .addComponent(panelDetail, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
+ .addComponent(panelDetail, javax.swing.GroupLayout.DEFAULT_SIZE, 104, Short.MAX_VALUE)
.addGap(0, 0, 0)
.addComponent(panelDevices, javax.swing.GroupLayout.PREFERRED_SIZE, 280, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, 0)
@@ -1392,7 +1392,7 @@ public class MainPanel extends Panel {
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(panelTop, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGap(0, 0, 0)
- .addComponent(panelBottom, javax.swing.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE)
+ .addComponent(panelBottom, javax.swing.GroupLayout.DEFAULT_SIZE, 77, Short.MAX_VALUE)
.addGap(1, 1, 1))
);
}// //GEN-END:initComponents
@@ -1543,7 +1543,7 @@ public class MainPanel extends Panel {
private javax.swing.JCheckBox checkExpert;
private ch.psi.mxsc.DevicesPanel devicesPanel;
private javax.swing.Box.Filler filler1;
- private ch.psi.mxsc.HexiposiPanel hexiposiPanel;
+ ch.psi.mxsc.HexiposiPanel hexiposiPanel;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel15;
diff --git a/src/main/java/ch/psi/mxsc/Puck.java b/src/main/java/ch/psi/mxsc/Puck.java
index 68e343f..a1c3e50 100644
--- a/src/main/java/ch/psi/mxsc/Puck.java
+++ b/src/main/java/ch/psi/mxsc/Puck.java
@@ -14,23 +14,24 @@ import java.util.ArrayList;
*/
public class Puck extends DeviceBase {
+ final static int signalX = -1;
final static PointDouble[] samplesPosition = new PointDouble[]{
- new PointDouble(0, 24.24),
- new PointDouble(23.05360995, 7.490571944),
- new PointDouble(14.24791452, -19.61057194),
- new PointDouble(-14.24791452, -19.61057194),
- new PointDouble(-23.05360995, 7.490571944),
- new PointDouble(0, 52.52),
- new PointDouble(28.39445573, 44.18263554),
- new PointDouble(47.7738724, 21.81759648),
- new PointDouble(51.98542213, -7.474375306),
- new PointDouble(39.69196765, -34.39328575),
- new PointDouble(14.79659389, -50.39257097),
- new PointDouble(-14.79659389, -50.39257097),
- new PointDouble(-39.69196765, -34.39328575),
- new PointDouble(-51.98542213, -7.474375306),
- new PointDouble(-47.7738724, 21.81759648),
- new PointDouble(-28.39445573, 44.18263554)
+ new PointDouble(0 * signalX, 24.24),
+ new PointDouble(23.05360995 * signalX, 7.490571944),
+ new PointDouble(14.24791452* signalX, -19.61057194),
+ new PointDouble(-14.24791452 * signalX, -19.61057194),
+ new PointDouble(-23.05360995 * signalX, 7.490571944),
+ new PointDouble(0 * signalX, 52.52),
+ new PointDouble(28.39445573 * signalX, 44.18263554),
+ new PointDouble(47.7738724 * signalX, 21.81759648),
+ new PointDouble(51.98542213 * signalX, -7.474375306),
+ new PointDouble(39.69196765 * signalX, -34.39328575),
+ new PointDouble(14.79659389 * signalX, -50.39257097),
+ new PointDouble(-14.79659389 * signalX, -50.39257097),
+ new PointDouble(-39.69196765 * signalX, -34.39328575),
+ new PointDouble(-51.98542213 * signalX, -7.474375306),
+ new PointDouble(-47.7738724 * signalX, 21.81759648),
+ new PointDouble(-28.39445573 * signalX, 44.18263554)
};
static final Character[] SEGMENTS = new Character[]{'A', 'A',
diff --git a/src/main/java/ch/psi/mxsc/PuckGraphics.java b/src/main/java/ch/psi/mxsc/PuckGraphics.java
index c9d5c3b..831b666 100644
--- a/src/main/java/ch/psi/mxsc/PuckGraphics.java
+++ b/src/main/java/ch/psi/mxsc/PuckGraphics.java
@@ -253,7 +253,7 @@ public class PuckGraphics {
g.setColor(getBorderColor(drawBackground));
//size-=1;
g.setStroke(new BasicStroke(getBorderWidth(drawBackground)));
- g.drawArc(position.x - size / 2, position.y - size / 2 , size, size, (int) (194 + (rotated ? puck.angle : 0)), 152);
+ g.drawArc(position.x - size / 2, position.y - size / 2 , size, size, (int) (190 + (rotated ? puck.angle : 0)), 154);
g.setStroke(new BasicStroke(1f));
} else {
Point pu = getDrawUnipuckLedPosition();