Improve puck loading management

This commit is contained in:
gac-S_Changer
2026-03-19 11:17:18 +01:00
parent f9e6ad1947
commit 66ff31be8a
4 changed files with 132 additions and 66 deletions
+13 -32
View File
@@ -79,8 +79,7 @@ public class MainPanel extends Panel {
StatusBar statusBar;
JPopupMenu samplePopupMenu;
JMenuItem menuMountSample;
JMenuItem menuUnmoountSample;
boolean doorsHaveOpened;
JMenuItem menuUnmoountSample;
public enum BasePlateLayout {
@@ -412,12 +411,14 @@ public class MainPanel extends Panel {
feedback_psys_safety.addListener(new DeviceListener() {
@Override
public void onValueChanged(Device device, Object value, Object former) {
doorsHaveOpened = Boolean.FALSE.equals(value);
Controller.getInstance().onDoorsOpenChange(Boolean.FALSE.equals(value));
updatePsysSafety(value);
}
});
feedback_psys_safety.request();
updatePsysSafety(((Device) getDevice("feedback_psys_safety")).take());
Object psys_safety=((Device) getDevice("feedback_psys_safety")).take();
Controller.getInstance().onDoorsOpenChange(Boolean.FALSE.equals(psys_safety));
updatePsysSafety(psys_safety);
((Device) getDevice("robot")).addListener(new DeviceListener() {
@Override
public void onValueChanged(Device device, Object value, Object former) {
@@ -642,9 +643,7 @@ public class MainPanel extends Panel {
return;
}
boolean doors_open = !Boolean.TRUE.equals(Controller.getInstance().isDoorClosed());
boolean cover_pos_detected = isCoverPosDetected();
buttonSampleLoad.setEnabled(doors_open && !cover_pos_detected && getState().isInitialized());
buttonSampleLoad.setEnabled(Controller.getInstance().canSetPuckLoading() || Controller.getInstance().isServiceMode());
buttonCamera.setEnabled(getState().isInitialized());
buttonDrawing.setEnabled(getState().isInitialized());
}
@@ -655,8 +654,7 @@ public class MainPanel extends Panel {
});
return;
}
if ((value == null) || !(value instanceof Boolean)) {
ledPsysSafety.setColor(Color.BLACK);
} else if (Boolean.TRUE.equals(manualMode)) {
@@ -666,13 +664,6 @@ public class MainPanel extends Panel {
} else {
ledPsysSafety.setColor(Color.RED);
}
if (!Boolean.TRUE.equals(value)){
try {
Controller.getInstance().setPuckLoading(false);
} catch (Exception ex) {
getLogger().log(Level.WARNING, null, ex);
}
}
updateButtonState();
}
@@ -848,7 +839,9 @@ public class MainPanel extends Panel {
if (expert == false) {
Controller.getInstance().setServiceMode(false);
if (getState().isInitialized()){
Controller.getInstance().setServiceMode(false);
}
// buttonCamera.setSelected(true);
// buttonDrawing.setSelected(false);
// updateViewType();
@@ -1132,21 +1125,8 @@ public class MainPanel extends Panel {
textCoverDet.setText("No Cover");
} else {
textCoverDet.setText((fmm==null) ? "" :fmm.x + ", " + fmm.y);
if ( getState().isReady() &&
!checkExpert.isSelected() &&
Boolean.FALSE.equals(Controller.getInstance().isDoorClosed())){
try{
if ((fmm!=null)){
Controller.getInstance().setPuckLoading(false);
} else {
if (doorsHaveOpened){
doorsHaveOpened=false;
Controller.getInstance().setPuckLoading(true);
}
}
} catch (Exception e) {
getLogger().log(Level.WARNING, null, e);
}
if ( getState().isReady()){
Controller.getInstance().onCoverDetection(fmm);
}
}
updateButtonState();
@@ -2266,6 +2246,7 @@ public class MainPanel extends Panel {
private void buttonSampleLoadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSampleLoadActionPerformed
try {
getLogger().info("Button Sample Load");
Controller.getInstance().setPuckLoading(true);
} catch (Exception ex) {
showException(ex);