This commit is contained in:
gac-S_Changer
2018-08-22 10:26:22 +02:00
parent 5ba74e51f2
commit 01d73ec7a7
10 changed files with 210 additions and 89 deletions

View File

@@ -0,0 +1,50 @@
wago=ch.psi.pshell.modbus.ModbusTCP|wago-mxsc-1:502|||
led_ok_1=ch.psi.pshell.modbus.DigitalInput|wago 0||1000|
led_ok_2=ch.psi.pshell.modbus.DigitalInput|wago 1||1000|
led_ok_3=ch.psi.pshell.modbus.DigitalInput|wago 2||1000|
feedback_local_safety=ch.psi.pshell.modbus.DigitalInput|wago 3||1000|
feedback_psys_safety=ch.psi.pshell.modbus.DigitalInput|wago 4||1000|
filling_phase_separator=ch.psi.pshell.modbus.DigitalInput|wago 5||1000|
filling_dewar=ch.psi.pshell.modbus.DigitalInput|wago 6||1000|
dewar_level_high_alarm=ch.psi.pshell.modbus.DigitalInput|wago 7||1000|
guiding_tool_park=ch.psi.pshell.modbus.DigitalInput|wago 8||1000|
air_pressure_ok=ch.psi.pshell.modbus.DigitalInput|wago 9||1000|false
n2_pressure_ok=ch.psi.pshell.modbus.DigitalInput|wago 10||1000|
#spare_di_1=ch.psi.pshell.modbus.DigitalInput|wago 11|||
#spare_di_2=ch.psi.pshell.modbus.DigitalInput|wago 12|||
#spare_di_3=ch.psi.pshell.modbus.DigitalInput|wago 13|||
#spare_di_4=ch.psi.pshell.modbus.DigitalInput|wago 14|||
he_chamber_valve_1=ch.psi.pshell.modbus.DigitalInput|wago 15||1000|
he_chamber_valve_2=ch.psi.pshell.modbus.DigitalInput|wago 16||1000|
smc_magnet_status=ch.psi.pshell.modbus.DigitalInput|wago 17||1000|
smc_mounted_1=ch.psi.pshell.modbus.DigitalInput|wago 18||1000|
smc_mounted_2=ch.psi.pshell.modbus.DigitalInput|wago 19||1000|
relays=ch.psi.pshell.modbus.DigitalOutputArray|wago 0 16||1000|
release_local_safety=ch.psi.pshell.modbus.DigitalOutput|wago 0|||
release_psys_safety=ch.psi.pshell.modbus.DigitalOutput|wago 1|||
ln2_main_power=ch.psi.pshell.modbus.DigitalOutput|wago 2|||
rim_heater=ch.psi.pshell.modbus.DigitalOutput|wago 3|||
phase_separator_ln2=ch.psi.pshell.modbus.DigitalOutput|wago 4|||
dewar_ln2=ch.psi.pshell.modbus.DigitalOutput|wago 5|||false
valve_he_chamber=ch.psi.pshell.modbus.DigitalOutput|wago 6|||
gripper_dryer=ch.psi.pshell.modbus.DigitalOutput|wago 7|||
valve_1=ch.psi.pshell.modbus.DigitalOutput|wago 8|||
valve_2=ch.psi.pshell.modbus.DigitalOutput|wago 9|||
valve_3=ch.psi.pshell.modbus.DigitalOutput|wago 10|||
valve_4=ch.psi.pshell.modbus.DigitalOutput|wago 11|||
#spare_do_1=ch.psi.pshell.modbus.DigitalOutput|wago 12|||
smc_sup_det=ch.psi.pshell.modbus.DigitalOutput|wago 13|||
#spare_do_3=ch.psi.pshell.modbus.DigitalOutput|wago 14|||
#spare_do_4=ch.psi.pshell.modbus.DigitalOutput|wago 15|||
phase_separator_level=ch.psi.pshell.modbus.ReadonlyProcessVariable|wago 0||10000|
dewar_level=ch.psi.pshell.modbus.ReadonlyProcessVariable|wago 1||10000|
rim_heater_temp=ch.psi.pshell.modbus.ReadonlyProcessVariable|wago 2||10000|
#spare_ai_1=ch.psi.pshell.modbus.AnalogInput|wago 3|||true
smc_current_rb=ch.psi.pshell.modbus.ReadonlyProcessVariable|wago 4||1000|
#spare_ai_3=ch.psi.pshell.modbus.AnalogInput|wago 5|||
#spare_ai_4=ch.psi.pshell.modbus.AnalogInput|wago 6|||
#spare_ai_5=ch.psi.pshell.modbus.AnalogInput|wago 7|||
led_ctrl_1=ch.psi.pshell.modbus.ProcessVariable|wago 0|||
led_ctrl_2=ch.psi.pshell.modbus.ProcessVariable|wago 1|||
led_ctrl_3=ch.psi.pshell.modbus.ProcessVariable|wago 2|||
smc_current=ch.psi.pshell.modbus.ProcessVariable|wago 3|||

View File

@@ -0,0 +1,18 @@
#Wed Sep 14 15:16:45 CEST 2016
configFile={config}/config.properties
configFileDevices={config}/devices-modbus.properties
configFilePlugins={config}/plugins.properties
configFileTasks={config}/tasks.properties
configPath={home}/config
contextPath={outp}/context
dataPath={outp}/data
devicesPath={home}/devices
extensionsPath={home}/extensions
imagesPath={outp}/images
libraryPath={script}; {script}/Lib
logPath={outp}/log
pluginsPath={home}/plugins
scriptPath={home}/script
scriptType=py
sessionsPath={outp}/sessions
wwwPath={home}/www

View File

@@ -1,4 +1,4 @@
#Wed Aug 08 14:23:56 CEST 2018
#Tue Aug 21 18:52:35 CEST 2018
maxValue=0.4
minValue=0.0
offset=0.0

View File

@@ -1,4 +1,4 @@
#Wed Aug 08 14:23:56 CEST 2018
#Tue Aug 21 18:52:35 CEST 2018
maxValue=0.4
minValue=0.0
offset=0.0

View File

@@ -1,4 +1,4 @@
#Wed Aug 08 14:23:56 CEST 2018
#Tue Aug 21 18:52:35 CEST 2018
maxValue=0.4
minValue=0.0
offset=0.0

View File

@@ -53,28 +53,32 @@
<Component id="buttonPutDewar" linkSize="7" alignment="1" max="32767" attributes="0"/>
<Component id="buttonDry" alignment="0" max="32767" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="30" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0">
<Component id="buttonMoveScanner" linkSize="7" max="32767" attributes="0"/>
<Component id="buttonMoveHome" linkSize="7" max="32767" attributes="0"/>
<Component id="buttonMoveDewar" linkSize="7" max="32767" attributes="0"/>
<Component id="jPanel5" max="32767" attributes="0"/>
<Group type="103" alignment="0" groupAlignment="1" attributes="0">
<Group type="102" attributes="0">
<Component id="jLabel7" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="spinnerDrySpeed" min="-2" max="-2" attributes="0"/>
<EmptySpace type="separate" max="32767" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" alignment="1" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Component id="buttonMoveScanner" linkSize="7" max="32767" attributes="0"/>
<Component id="buttonMoveHome" linkSize="7" max="32767" attributes="0"/>
<Component id="buttonMoveDewar" linkSize="7" max="32767" attributes="0"/>
<Component id="buttonHomingHexiposi" linkSize="7" max="32767" attributes="0"/>
</Group>
<Group type="102" attributes="0">
<EmptySpace min="-2" pref="1" max="-2" attributes="0"/>
</Group>
<Component id="jPanel5" alignment="1" min="-2" max="-2" attributes="0"/>
<Component id="buttonEnableAll" alignment="1" min="-2" pref="112" max="-2" attributes="0"/>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="1" attributes="0">
<Component id="jLabel6" min="-2" max="-2" attributes="0"/>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Component id="spinnerDryTime" min="-2" max="-2" attributes="0"/>
<Component id="jLabel7" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0">
<Component id="spinnerDrySpeed" pref="92" max="32767" attributes="0"/>
<Component id="spinnerDryTime" max="32767" attributes="0"/>
</Group>
</Group>
<Component id="buttonHomingHexiposi" linkSize="7" max="32767" attributes="0"/>
<Component id="buttonEnableAll" alignment="0" max="32767" attributes="0"/>
</Group>
<EmptySpace max="32767" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
@@ -117,20 +121,24 @@
<Component id="buttonMoveScanner" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="buttonDry" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="spinnerDryTime" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel6" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="spinnerDrySpeed" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel7" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace type="unrelated" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="buttonEnableAll" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="buttonRecover" min="-2" max="-2" attributes="0"/>
<Group type="102" attributes="0">
<Group type="103" groupAlignment="0" attributes="0">
<Component id="buttonDry" min="-2" max="-2" attributes="0"/>
<Component id="spinnerDryTime" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="spinnerDrySpeed" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="jLabel7" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace type="separate" max="-2" attributes="0"/>
<Group type="103" groupAlignment="3" attributes="0">
<Component id="buttonRecover" alignment="3" min="-2" max="-2" attributes="0"/>
<Component id="buttonEnableAll" alignment="3" min="-2" max="-2" attributes="0"/>
</Group>
</Group>
<Component id="jLabel6" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="32767" attributes="0"/>
</Group>
@@ -192,7 +200,7 @@
<DimensionLayout dim="0">
<Group type="103" groupAlignment="0" attributes="0">
<Group type="102" attributes="0">
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="jLabel3" linkSize="1" alignment="0" min="-2" max="-2" attributes="0"/>
<Component id="jLabel2" linkSize="1" alignment="0" min="-2" max="-2" attributes="0"/>
@@ -200,15 +208,15 @@
<Component id="jLabel4" min="-2" max="-2" attributes="0"/>
<Component id="jLabel5" min="-2" max="-2" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
<EmptySpace min="-2" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="spinnerPuck" alignment="0" max="32767" attributes="0"/>
<Component id="checkForce" min="-2" max="-2" attributes="0"/>
<Component id="spinnerSample" linkSize="2" min="-2" max="-2" attributes="0"/>
<Component id="spinnerPuck" linkSize="2" min="-2" max="-2" attributes="0"/>
<Component id="spinnerSegment" linkSize="2" min="-2" max="-2" attributes="0"/>
<Component id="checkDatamatrix" min="-2" max="-2" attributes="0"/>
<Component id="spinnerSample" alignment="0" pref="97" max="32767" attributes="0"/>
<Component id="spinnerSegment" alignment="0" max="32767" attributes="0"/>
</Group>
<EmptySpace max="32767" attributes="0"/>
<EmptySpace min="-2" pref="0" max="-2" attributes="0"/>
</Group>
</Group>
</DimensionLayout>
@@ -262,6 +270,9 @@
<SpinnerModel initial="1" maximum="16" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new ch.psi.utils.swing.HorizontalSpinner()"/>
</AuxValues>
</Component>
<Component class="javax.swing.JSpinner" name="spinnerPuck">
<Properties>
@@ -269,6 +280,9 @@
<SpinnerModel initial="1" maximum="5" minimum="1" numberType="java.lang.Integer" stepSize="1" type="number"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new ch.psi.utils.swing.HorizontalSpinner()"/>
</AuxValues>
</Component>
<Component class="javax.swing.JLabel" name="jLabel1">
<Properties>
@@ -293,6 +307,9 @@
</SpinnerModel>
</Property>
</Properties>
<AuxValues>
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new ch.psi.utils.swing.HorizontalSpinner()"/>
</AuxValues>
</Component>
<Component class="javax.swing.JLabel" name="jLabel3">
<Properties>
@@ -381,6 +398,9 @@
<SpinnerModel initial="10.0" maximum="30.0" minimum="1.0" numberType="java.lang.Double" stepSize="1.0" type="number"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new ch.psi.utils.swing.HorizontalSpinner()"/>
</AuxValues>
</Component>
<Component class="javax.swing.JLabel" name="jLabel6">
<Properties>
@@ -398,6 +418,9 @@
<SpinnerModel initial="1.0" maximum="10.0" minimum="0.1" numberType="java.lang.Double" stepSize="1.0" type="number"/>
</Property>
</Properties>
<AuxValues>
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new ch.psi.utils.swing.HorizontalSpinner()"/>
</AuxValues>
</Component>
<Component class="javax.swing.JButton" name="buttonRecover">
<Properties>

View File

@@ -2,6 +2,9 @@
* Copyright (c) 2014-2017 Paul Scherrer Institute. All rights reserved.
*/
import ch.psi.pshell.device.Device;
import ch.psi.pshell.device.DeviceAdapter;
import ch.psi.pshell.device.GenericDevice;
import ch.psi.pshell.ui.Panel;
import ch.psi.utils.State;
import ch.psi.utils.swing.SwingUtils;
@@ -17,13 +20,32 @@ public class Commands extends Panel {
public Commands() {
initComponents();
((JSpinner.DefaultEditor)spinnerSegment.getEditor()).getTextField().setHorizontalAlignment(JTextField.RIGHT);
((JSpinner.DefaultEditor)spinnerSegment.getEditor()).getTextField().setHorizontalAlignment(JTextField.CENTER);
((JSpinner.DefaultEditor)spinnerPuck.getEditor()).getTextField().setHorizontalAlignment(JTextField.CENTER);
((JSpinner.DefaultEditor)spinnerSample.getEditor()).getTextField().setHorizontalAlignment(JTextField.CENTER);
}
//Overridable callbacks
@Override
public void onInitialize(int runCount) {
GenericDevice basePlate = getDevice("BasePlate");
if (basePlate != null){
basePlate.addListener(new DeviceAdapter() {
@Override
public void onValueChanged(Device device, Object value, Object former) {
if (value!=null){
String segment = ((Object[])value)[0].toString();
spinnerSegment.setValue(segment);
Integer puck = (Integer) ((Object[])value)[1];
spinnerPuck.setValue(Integer.valueOf(puck));
Integer sample = (Integer) ((Object[])value)[2];
if (sample!=null){
spinnerSample.setValue(Integer.valueOf(sample));
}
}
}
});
}
}
@Override
@@ -101,11 +123,11 @@ public class Commands extends Panel {
jPanel5 = new javax.swing.JPanel();
jLabel4 = new javax.swing.JLabel();
checkForce = new javax.swing.JCheckBox();
spinnerSample = new javax.swing.JSpinner();
spinnerPuck = new javax.swing.JSpinner();
spinnerSample = new ch.psi.utils.swing.HorizontalSpinner();
spinnerPuck = new ch.psi.utils.swing.HorizontalSpinner();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
spinnerSegment = new javax.swing.JSpinner();
spinnerSegment = new ch.psi.utils.swing.HorizontalSpinner();
jLabel3 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
checkDatamatrix = new javax.swing.JCheckBox();
@@ -117,10 +139,10 @@ public class Commands extends Panel {
buttonMoveScanner = new javax.swing.JButton();
buttonMoveHeater = new javax.swing.JButton();
buttonDry = new javax.swing.JButton();
spinnerDryTime = new javax.swing.JSpinner();
spinnerDryTime = new ch.psi.utils.swing.HorizontalSpinner();
jLabel6 = new javax.swing.JLabel();
jLabel7 = new javax.swing.JLabel();
spinnerDrySpeed = new javax.swing.JSpinner();
spinnerDrySpeed = new ch.psi.utils.swing.HorizontalSpinner();
buttonRecover = new javax.swing.JButton();
buttonEnableAll = new javax.swing.JButton();
@@ -193,7 +215,7 @@ public class Commands extends Panel {
jPanel5Layout.setHorizontalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
.addContainerGap()
.addGap(0, 0, 0)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel2)
@@ -202,18 +224,16 @@ public class Commands extends Panel {
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerPuck)
.addComponent(checkForce)
.addComponent(spinnerSample, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerPuck, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(spinnerSegment, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(checkDatamatrix))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(checkDatamatrix)
.addComponent(spinnerSample, javax.swing.GroupLayout.DEFAULT_SIZE, 97, Short.MAX_VALUE)
.addComponent(spinnerSegment))
.addGap(0, 0, 0))
);
jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2, jLabel3});
jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {spinnerPuck, spinnerSample, spinnerSegment});
jPanel5Layout.setVerticalGroup(
jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel5Layout.createSequentialGroup()
@@ -336,24 +356,26 @@ public class Commands extends Panel {
.addComponent(buttonGetDewar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonPutDewar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonDry, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(30, 30, 30)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(buttonMoveScanner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonMoveHome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonMoveDewar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(panelCommandsLayout.createSequentialGroup()
.addComponent(jLabel7)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(spinnerDrySpeed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(panelCommandsLayout.createSequentialGroup()
.addGap(18, 18, Short.MAX_VALUE)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelCommandsLayout.createSequentialGroup()
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonMoveScanner, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonMoveHome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonMoveDewar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonHomingHexiposi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(1, 1, 1))
.addComponent(jPanel5, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(buttonEnableAll, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 112, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(panelCommandsLayout.createSequentialGroup()
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel6)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(spinnerDryTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addComponent(buttonHomingHexiposi, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(buttonEnableAll, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(spinnerDrySpeed, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE)
.addComponent(spinnerDryTime))))
.addContainerGap())
);
panelCommandsLayout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {buttonGetDewar, buttonGetGonio, buttonHomingHexiposi, buttonMount, buttonMoveDewar, buttonMoveGonio, buttonMoveHeater, buttonMoveHome, buttonMovePark, buttonMoveScanner, buttonPutDewar, buttonPutGonio, buttonUnmount});
@@ -391,18 +413,20 @@ public class Commands extends Panel {
.addComponent(buttonMoveHeater)
.addComponent(buttonMoveScanner))
.addGap(18, 18, 18)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonDry)
.addComponent(spinnerDryTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(spinnerDrySpeed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonEnableAll)
.addComponent(buttonRecover))
.addGroup(panelCommandsLayout.createSequentialGroup()
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(buttonDry)
.addComponent(spinnerDryTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(spinnerDrySpeed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addGap(18, 18, 18)
.addGroup(panelCommandsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(buttonRecover)
.addComponent(buttonEnableAll)))
.addComponent(jLabel6))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);

Binary file not shown.

View File

@@ -161,9 +161,9 @@
<Component id="jLabel2" alignment="0" min="-2" pref="52" max="-2" attributes="0"/>
</Group>
<EmptySpace min="-2" pref="14" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" attributes="0">
<Component id="spinnerSpeed" min="-2" max="-2" attributes="0"/>
<Component id="panelMotionCtr" min="-2" max="-2" attributes="0"/>
<Group type="103" groupAlignment="0" max="-2" attributes="0">
<Component id="panelMotionCtr" max="32767" attributes="0"/>
<Component id="spinnerSpeed" max="32767" attributes="0"/>
</Group>
<EmptySpace max="-2" attributes="0"/>
</Group>
@@ -204,6 +204,9 @@
<Events>
<EventHandler event="stateChanged" listener="javax.swing.event.ChangeListener" parameters="javax.swing.event.ChangeEvent" handler="spinnerSpeedStateChanged"/>
</Events>
<AuxValues>
<AuxValue name="JavaCodeGenerator_CreateCodeCustom" type="java.lang.String" value="new ch.psi.utils.swing.HorizontalSpinner()"/>
</AuxValues>
</Component>
<Component class="javax.swing.JLabel" name="jLabel7">
<Properties>

View File

@@ -6,6 +6,8 @@ import ch.psi.pshell.core.Context;
import ch.psi.utils.State;
import java.awt.Color;
import java.util.Map;
import javax.swing.JSpinner;
import javax.swing.JTextField;
/**
*
@@ -17,6 +19,7 @@ public class RobotPanel extends DevicePanel {
*/
public RobotPanel() {
initComponents();
((JSpinner.DefaultEditor)spinnerSpeed.getEditor()).getTextField().setHorizontalAlignment(JTextField.CENTER);
}
@Override
@@ -149,7 +152,7 @@ public class RobotPanel extends DevicePanel {
buttonEnable = new javax.swing.JButton();
jPanel2 = new javax.swing.JPanel();
jLabel2 = new javax.swing.JLabel();
spinnerSpeed = new javax.swing.JSpinner();
spinnerSpeed = new ch.psi.utils.swing.HorizontalSpinner();
jLabel7 = new javax.swing.JLabel();
ledMoving = new ch.psi.pshell.swing.Led();
panelMotionCtr = new javax.swing.JPanel();
@@ -322,9 +325,9 @@ public class RobotPanel extends DevicePanel {
.addComponent(ledMoving, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(14, 14, 14)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(spinnerSpeed, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(panelMotionCtr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(panelMotionCtr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(spinnerSpeed))
.addContainerGap())
);
jPanel2Layout.setVerticalGroup(