From be5c9f324ac1d31f4f262d288c5f72a7a0c10c47 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期五, 19 一月 2024 10:08:23 +0800
Subject: [PATCH] 2024年01月19日10:08:08

---
 HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java |   27 ++++++++++++++++++++++-----
 1 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java
index 4eb0581..692e5ad 100644
--- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java
+++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java
@@ -118,6 +118,7 @@
         //registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener);
     }
 
+
     /**
      * 鍙戦�佸師鐢熸暟鎹�
      *
@@ -126,6 +127,25 @@
      * @param baseCallBack          缁撴灉鍥炶皟
      */
     public void Send(String gatewayOidOrGatewayId, byte[] payload, final ModbusCallBack baseCallBack) {
+        Send(gatewayOidOrGatewayId, payload, 5, baseCallBack);
+    }
+
+    /**
+     * 鍙戦�佸師鐢熸暟鎹�
+     *
+     * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d
+     * @param payload               鍙戦�佹暟鎹�
+     * @param timeout               瓒呮椂鏃堕棿(s)
+     * @param baseCallBack          缁撴灉鍥炶皟
+     */
+    public void Send(String gatewayOidOrGatewayId, byte[] payload, int timeout, final ModbusCallBack baseCallBack) {
+        if (payload == null || payload.length == 0) {
+            if (baseCallBack != null) {
+                baseCallBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
+                System.out.println("鍙戦�佹暟鎹椂璐熻浇鏁版嵁鏄┖鐨�--->");
+            }
+            return;
+        }
         //濡傛灉鏈湴鏈夐摼鎺ヨ繖涓綉鍏�,鍒欑敤鏈湴杩炴帴
         GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(gatewayOidOrGatewayId);
         if (null == gatewayBean) {
@@ -145,9 +165,9 @@
 //            request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN_SLAVE, HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId));
 //        }
         request.setReplyTopic("Modbus" + payload[0] + payload[1]);
-        long timeout = 5 * 1000;
+        long awaitTime = timeout * 1000L;
 
-        new HDLConnectHelper(timeout, 1, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() {
+        new HDLConnectHelper(awaitTime, 1, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() {
             @Override
             public void onSucceed(Object msg) {
                 if (msg instanceof int[]) {
@@ -167,9 +187,6 @@
             }
         }, true).send();
     }
-
-
-
 
 
     /**

--
Gitblit v1.8.0