diff --git a/src/main/java/jcs/commandStation/autopilot/AutoPilot.java b/src/main/java/jcs/commandStation/autopilot/AutoPilot.java index 0fded014..41e9f372 100644 --- a/src/main/java/jcs/commandStation/autopilot/AutoPilot.java +++ b/src/main/java/jcs/commandStation/autopilot/AutoPilot.java @@ -68,6 +68,14 @@ public final class AutoPilot { private AutoPilot() { } + public static void runAutoPilot(boolean flag) { + if (flag) { + executor.execute(() -> startAutoMode()); + } else { + executor.execute(() -> stopAutoMode()); + } + } + public synchronized static void startAutoMode() { if (JCS.getJcsCommandStation().isPowerOn()) { if (autoPilotThread != null && autoPilotThread.isRunning()) { diff --git a/src/main/java/jcs/commandStation/virtual/VirtualCommandStationImpl.java b/src/main/java/jcs/commandStation/virtual/VirtualCommandStationImpl.java index 4ddbeaf5..f547ee31 100644 --- a/src/main/java/jcs/commandStation/virtual/VirtualCommandStationImpl.java +++ b/src/main/java/jcs/commandStation/virtual/VirtualCommandStationImpl.java @@ -202,14 +202,7 @@ public void changeVelocity(int locUid, int speed, LocomotiveBean.Direction direc if (AutoPilot.isAutoModeActive() && speed > 0) { simulateDriving(locUid, speed, direction); } - }); - - //When a locomotive has a speed change (>0) check if Auto mode is on. - //When in Auto mode try to simulate the first sensor the locomotive is suppose to hit. -// if (AutoPilot.getInstance().isAutoModeActive() && speed > 0) { -// this.executor.execute(() -> simulateDriving(locUid, speed, direction)); -// } } else { if (!this.power) { Logger.warn("Can't change velocity locUid: " + locUid + " Power is OFF!"); diff --git a/src/main/java/jcs/ui/layout/LayoutPanel.java b/src/main/java/jcs/ui/layout/LayoutPanel.java index ab46de64..d1e711cb 100755 --- a/src/main/java/jcs/ui/layout/LayoutPanel.java +++ b/src/main/java/jcs/ui/layout/LayoutPanel.java @@ -1007,16 +1007,15 @@ private void autoPilotBtnActionPerformed(ActionEvent evt) {//GEN-FIRST:event_aut if (this.autoPilotBtn.isSelected()) { this.startAllLocomotivesBtn.setEnabled(true); - - AutoPilot.startAutoMode(); } else { if (this.startAllLocomotivesBtn.isSelected()) { startAllLocomotivesBtn.doClick(); } this.startAllLocomotivesBtn.setEnabled(false); - - AutoPilot.stopAutoMode(); } + + AutoPilot.runAutoPilot(this.autoPilotBtn.isSelected()); + }//GEN-LAST:event_autoPilotBtnActionPerformed private void startAllLocomotivesBtnActionPerformed(ActionEvent evt) {//GEN-FIRST:event_startAllLocomotivesBtnActionPerformed