/** Sets the navigator to move along x and y by X and Y. */ public void setTarget(double x, double y) { if (!calibrator.isCalibrated()) return; MathUtils.set(target, x, y); MathUtils.set(offtarget, target); calibrator.getRequiredSteps(target); targetSet = true; steps.x = (steps.x > 0) ? (int) (steps.x + 0.5) : (int) (steps.x - 0.5); // round no. of steps steps.y = (steps.y > 0) ? (int) (steps.y + 0.5) : (int) (steps.y - 0.5); calibrator.adjustBacklash(steps); }
/** The navigator will move to the target specified by setTarget() */ public void start() { System.out.println("initiate navigation"); if (!calibrator.isCalibrated() || !stage.bluetoothConnected() || calibrator.isRunning() || autofocus.isRunning() || isRunning() || !targetSet) return; System.out.println("prerequisites fulfilled"); targetSet = false; moving = true; tracker.start(); }