From 3aa86eda8f416bec308d065689d39c847d2d9cc7 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 30 一月 2024 19:48:26 +0800
Subject: [PATCH] 2024年01月30日19:44:13
---
HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java | 26 ++++++++++++++++++++++----
1 files changed, 22 insertions(+), 4 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 d212f28..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
@@ -84,8 +84,6 @@
}
byte[] data = linkResponse.getByteData();
ModbusResponse modbusResponse = new ModbusResponse();
- int a=data[0]&0xff;
- int b=data[1]&0xff;
String topic = "Modbus" + data[0] + data[1];
modbusResponse.setTopic(topic);
modbusResponse.setData(data);
@@ -120,6 +118,7 @@
//registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener);
}
+
/**
* 鍙戦�佸師鐢熸暟鎹�
*
@@ -128,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) {
@@ -147,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 = 2 * 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[]) {
--
Gitblit v1.8.0