From 63ff4119d8073843257c485f8b5a051bb03f3b0b Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期三, 20 九月 2023 14:51:16 +0800
Subject: [PATCH] 联调版本

---
 HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java |   48 +++++++++++++++++++++++-------------------------
 1 files changed, 23 insertions(+), 25 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 7067b11..47347c1 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
@@ -25,7 +25,7 @@
  */
 public class HDLModBusConnect {
 
-    private static final String TAG="HDLModbusConnect";
+    private static final String TAG = "HDLModbusConnect";
     private static HDLModBusConnect instance;
     /**
      * 鍐呴儴鐢紝涓昏鏄鐞嗗鐞嗘帀閫忎紶涓婚鍙妉ink涓婚鍚庯紝杩樺師modbus鍘熺敓鏁版嵁鍙婁富棰樼敤
@@ -51,7 +51,7 @@
      * @param eventListener
      */
     public void registerListener(EventListener eventListener) {
-        if(null==eventListener){
+        if (null == eventListener) {
             return;
         }
         EventDispatcher.getInstance().register(allTopic, eventListener);
@@ -63,7 +63,7 @@
      * @param eventListener
      */
     public void removeListener(EventListener eventListener) {
-        if(null==eventListener){
+        if (null == eventListener) {
             return;
         }
         EventDispatcher.getInstance().remove(allTopic, eventListener);
@@ -79,13 +79,12 @@
                 try {
                     if (msg instanceof LinkResponse) {
                         LinkResponse linkResponse = (LinkResponse) msg;
-                        if(linkResponse.getTopic()==null||!linkResponse.getTopic().contains("custom/native/inverter/"))
-                        {
+                        if (linkResponse.getTopic() == null || !linkResponse.getTopic().contains("custom/native/inverter/up")) {
                             return;
                         }
-                        byte []data = linkResponse.getByteData();
-                        ModbusResponse  modbusResponse= new ModbusResponse();
-                        String topic="Modbus"+data[0]+data[1];
+                        byte[] data = linkResponse.getByteData();
+                        ModbusResponse modbusResponse = new ModbusResponse();
+                        String topic = "Modbus" + data[0] + data[1];
                         modbusResponse.setTopic(topic);
                         modbusResponse.setData(data);
                         String oid = null;
@@ -103,20 +102,20 @@
                                 break;
                             }
                         }
+
                         EventDispatcher.getInstance().post(topic, modbusResponse);
                         //鍙戝竷Zigbee鍘熺敓涓婚鍙婃暟鎹�
 //                        EventDispatcher.getInstance().post(allTopic, modbusResponse);
                     }
                 } catch (Exception e) {
-                    LogUtils.e(TAG,"LinkResponse杞琈odbusResponse寮傚父:"+ e.getMessage());
+                    LogUtils.e(TAG, "LinkResponse杞琈odbusResponse寮傚父:" + e.getMessage());
                 }
             }
         };
         //娉ㄥ唽鐩存帴閫氳鐨勪富棰橈紝鍖呮嫭鐩存帴鍜屼富缃戝叧閫氳鎴栬�呯洿鎺ュ拰浠庣綉鍏抽�氳
         registerListener(String.format(TopicConstant.NATIVE_MODBUS_UP, "+"), eventListener);
-        registerListener(String.format(TopicConstant.NATIVE_MODBUS_DOWN_REPLY, "+"), eventListener);
-
-        //        registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener);
+        //registerListener(String.format(TopicConstant.NATIVE_MODBUS_DOWN_REPLY, "+"), eventListener);
+        //registerListener(String.format(TopicConstant.NATIVE_ZIGBEE_UP_SLAVE, "+", "+"), eventListener);
     }
 
     /**
@@ -124,9 +123,9 @@
      *
      * @param gatewayOidOrGatewayId 鐩爣缃戝叧鐨刼id鎴栬�呯綉鍏矷d
      * @param payload               鍙戦�佹暟鎹�
-     * @param baseCallBack        缁撴灉鍥炶皟
+     * @param baseCallBack          缁撴灉鍥炶皟
      */
-    public void Send(String gatewayOidOrGatewayId, byte []payload, final ModbusCallBack baseCallBack) {
+    public void Send(String gatewayOidOrGatewayId, byte[] payload, final ModbusCallBack baseCallBack) {
         //濡傛灉鏈湴鏈夐摼鎺ヨ繖涓綉鍏�,鍒欑敤鏈湴杩炴帴
         GatewayBean gatewayBean = HDLLinkLocalGateway.getInstance().getGatewayByOidOrGatewayId(gatewayOidOrGatewayId);
         if (null == gatewayBean) {
@@ -141,22 +140,22 @@
         LinkRequest request = new LinkRequest(tempTopic, payload, gatewayBean.getIsLocalEncrypt());
 
 //        if ("true".equals(gatewayBean.getMaster())) {
-            request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN, HDLLinkConfig.getInstance().getGatewayId()));
+        request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN, HDLLinkConfig.getInstance().getGatewayId()));
 //        } else {
 //            request.setCloudTopic(String.format(TopicConstant.NATIVE_MODBUS_DOWN_SLAVE, HDLLinkConfig.getInstance().getGatewayId(), gatewayOidOrGatewayId));
 //        }
-        request.setReplyTopic("Modbus"+payload[0]+payload[1]);
-        long timeout = 2 * 1000;
+        request.setReplyTopic("Modbus" + payload[0] + payload[1]);
+        long timeout = 5 * 1000;
 
         new HDLConnectHelper(timeout, 1, gatewayBean.getIp_address(), 8586, request, new HDLConnectHelper.HdlSocketListener() {
             @Override
             public void onSucceed(Object msg) {
-                if (msg instanceof Byte[]) {
+                if (msg instanceof int[]) {
                     if (null != baseCallBack) {
-                        baseCallBack.onSuccess((byte[])msg);
+                        baseCallBack.onSuccess((int[]) msg);
                     }
-                }else{
-                    LogUtils.e("鍙戦�丮odbus鍥炶皟瀵硅薄绫诲瀷闈炴暟缁勭被鍨嬶紝绫诲瀷鏄�"+msg.getClass());
+                } else {
+                    LogUtils.e("鍙戦�丮odbus鍥炶皟瀵硅薄绫诲瀷闈炴暟缁勭被鍨嬶紝绫诲瀷鏄�" + msg.getClass());
                 }
             }
 
@@ -168,7 +167,6 @@
             }
         }, true).send();
     }
-
 
 
     /**
@@ -258,12 +256,12 @@
     /**
      * 澶勭悊zigbee鍥炲鐨勬暟鎹�
      *
-     * @param responeTopic   鍥炲涓婚
-     * @param linkResponse   鍥炲鐨勯�忎紶鏁版嵁
+     * @param responeTopic 鍥炲涓婚
+     * @param linkResponse 鍥炲鐨勯�忎紶鏁版嵁
      */
     private static String getZigbeeData(String responeTopic, LinkResponse linkResponse) {
         //涓婚涓虹┖涓嶅鐞�
-        if(TextUtils.isEmpty(responeTopic)){
+        if (TextUtils.isEmpty(responeTopic)) {
             return null;
         }
 

--
Gitblit v1.8.0