From 2cd165b0fae397281801939182436837e0a55ad0 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 21 四月 2026 10:10:07 +0800
Subject: [PATCH] #堆垛机增加镭射值-V3.0.0.6
---
src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java b/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java
index 73498e5..acd7b71 100644
--- a/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java
+++ b/src/main/java/com/zy/core/network/fake/ZyCrnFakeConnect.java
@@ -21,10 +21,33 @@
private long levelStepDurationMs() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_LEVEL_STEP_DURATION_MS); }
private long bayStepDurationMs() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_BAY_STEP_DURATION_MS); }
private long resetDurationMs() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_RESET_DURATION_MS); }
+ private long bayMin() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_BAY_MIN); }
+ private long bayMax() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_BAY_MAX); }
+ private long laserMin() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_LASER_MIN); }
+ private long laserMax() { return FakeConfigSupport.getLong(FakeConfigKeys.FAKE_CRN_LASER_MAX); }
public ZyCrnFakeConnect(DeviceConfig deviceConfig) {
this.deviceConfig = deviceConfig;
this.crnStatus = JSON.parseObject(deviceConfig.getFakeInitStatus(), ZyCrnStatusEntity.class);
+ if (this.crnStatus != null && this.crnStatus.getBay() != null) {
+ updateLaserByBay(this.crnStatus.getBay());
+ }
+ }
+
+ private void updateLaserByBay(int bay) {
+ long bayMin = bayMin();
+ long bayMax = bayMax();
+ long laserMin = laserMin();
+ long laserMax = laserMax();
+ if (bayMax <= bayMin || laserMax <= laserMin) {
+ this.crnStatus.setLaserValue((int) laserMin);
+ return;
+ }
+ long normalizedBay = Math.max(bayMin, Math.min(bayMax, bay));
+ double ratio = (double) (normalizedBay - bayMin) / (double) (bayMax - bayMin);
+ long computed = Math.round(laserMin + ratio * (laserMax - laserMin));
+ long clamped = Math.max(laserMin, Math.min(laserMax, computed));
+ this.crnStatus.setLaserValue((int) clamped);
}
@Override
@@ -148,6 +171,7 @@
for(int i = 0; i < moveLength; i++) {
initSourcePosY++;
this.crnStatus.setBay(initSourcePosY);
+ updateLaserByBay(initSourcePosY);
sleep(bayStepDurationMs());
if (Thread.currentThread().isInterrupted()) {
return;
@@ -159,6 +183,7 @@
for(int i = 0; i < moveLength; i++) {
initSourcePosY--;
this.crnStatus.setBay(initSourcePosY);
+ updateLaserByBay(initSourcePosY);
sleep(bayStepDurationMs());
if (Thread.currentThread().isInterrupted()) {
return;
--
Gitblit v1.9.1