From d6d95564b016c281bfa2e8c2454db8d71083e858 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期二, 26 十一月 2019 17:48:09 +0800 Subject: [PATCH] 2019-11-26 1.控制命令改为广播模式。 --- hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java | 113 +++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 82 insertions(+), 31 deletions(-) diff --git a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java index 042d813..ba65550 100644 --- a/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java +++ b/hdl_core/src/main/java/com/hdl/sdk/hdl_core/HDLDeviceManger/Core/HandleSearch.java @@ -20,7 +20,7 @@ public class HandleSearch { - public static boolean isSearching = true; + public static boolean isSearching = false; public static int curSearchMode = 0; public static String rcuIp = "";//涓诲姩浼犲叆鐨剅cu ip鍦板潃 // private static Timer getRcuIpTimer = null;//鑾峰彇Rcuip Timer @@ -389,38 +389,87 @@ } } - /** * 杩斿洖璁惧鍒楄〃 + * 2019-10-14 */ - public static void deviceListCallBack() { - byte[] debugBytes = new byte[6 + HDLDeviceManager.devicesDataList.size() * 2]; - debugBytes[0] = 1; - debugBytes[1] = 1; - debugBytes[2] = 1; - debugBytes[3] = 1; - debugBytes[4] = 1; - debugBytes[5] = 1; + public static void OnDeviceListGetSuccessCallBack() { +// byte[] debugBytes = new byte[6 + HDLDeviceManager.devicesDataList.size() * 2]; +// debugBytes[0] = 1; +// debugBytes[1] = 1; +// debugBytes[2] = 1; +// debugBytes[3] = 1; +// debugBytes[4] = 1; +// debugBytes[5] = 1; +// +// for (int i = 0; i < HDLDeviceManager.devicesDataList.size(); i++) { +// +// debugBytes[6 + i + i] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID(); +// debugBytes[6 + i + i + 1] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID(); +// String device = "绗� " + (i + 1) + " 涓ā鍧楋細妯″潡澶囨敞鍚嶇О锛�" + HDLDeviceManager.devicesDataList.get(i).getRemark() +// + ",瀛愮綉鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID() +// + ",璁惧鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID() +// + ",鍥炶矾鏁帮細" + HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().size() + "\n"; +// HDLLog.info(device); +// } - for (int i = 0; i < HDLDeviceManager.devicesDataList.size(); i++) { - - debugBytes[6 + i + i] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID(); - debugBytes[6 + i + i + 1] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID(); - String device = "绗� " + (i + 1) + " 涓ā鍧楋細妯″潡澶囨敞鍚嶇О锛�" + HDLDeviceManager.devicesDataList.get(i).getRemark() - + ",瀛愮綉鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID() - + ",璁惧鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID() - + ",鍥炶矾鏁帮細" + HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().size() + "\n"; - HDLLog.info(device); - } - -// HDLUdpCore.sendTestCMD(debugBytes, HDLTest.SEND_TEST_PORT); EventBus.getDefault().post(new DevicesInfoEvent(HDLDeviceManager.devicesDataList, true)); - - + /**鎼滅储璁惧鎴愬姛锛屾墽琛屼竴娆′繚瀛樺埌鏈湴*/ + HDLDeviceManager.saveDevicesDataList(); } - public static void refreshAllDevicesState() { +// /** +// * 杩斿洖璁惧鍒楄〃 +// */ +// public static void deviceListCallBack() { +// byte[] debugBytes = new byte[6 + HDLDeviceManager.devicesDataList.size() * 2]; +// debugBytes[0] = 1; +// debugBytes[1] = 1; +// debugBytes[2] = 1; +// debugBytes[3] = 1; +// debugBytes[4] = 1; +// debugBytes[5] = 1; +// +// for (int i = 0; i < HDLDeviceManager.devicesDataList.size(); i++) { +// +// debugBytes[6 + i + i] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID(); +// debugBytes[6 + i + i + 1] = (byte) HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID(); +// String device = "绗� " + (i + 1) + " 涓ā鍧楋細妯″潡澶囨敞鍚嶇О锛�" + HDLDeviceManager.devicesDataList.get(i).getRemark() +// + ",瀛愮綉鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceSubnetID() +// + ",璁惧鍙凤細" + HDLDeviceManager.devicesDataList.get(i).getSourceDeviceID() +// + ",鍥炶矾鏁帮細" + HDLDeviceManager.devicesDataList.get(i).getAppliancesInfoList().size() + "\n"; +// HDLLog.info(device); +// } +// +//// HDLUdpCore.sendTestCMD(debugBytes, HDLTest.SEND_TEST_PORT); +// EventBus.getDefault().post(new DevicesInfoEvent(HDLDeviceManager.devicesDataList, true)); +// +// +// } + + /** + * 鍒锋柊鎵�鏈夎澶囩姸鎬佸拰澶囨敞 + * 2019-10-15 + */ + public static void refreshAllDevicesStateAndRemarks() { + + if (isSearching) { + isRefreshAllDevicesState = false; + return; + } + isRefreshAllDevicesState = true; + for (int i = 0; i < HDLDeviceManager.listRemarks.size(); i++) { + HDLDeviceManager.listRemarks.get(i).setCallBack(false); + } + getDevRemarks(); + } + + /** + * 1S + * @param delayTime 鍗曚綅绉� + */ + public static void refreshAllDevicesState(int delayTime) { if (refreshTimer != null) { refreshTimer.cancel(); refreshTimer.purge(); @@ -441,7 +490,7 @@ } getDevRemarks(); } - }, 1000 * 30); + }, 1000 * delayTime); } @@ -475,13 +524,15 @@ //鍒ゆ柇鏄惁鑾峰彇璁惧澶囨敞瀹屽叏锛岃嫢瀹屽叏鍒欒繑鍥炴墍鏈夎澶囧垪琛ㄣ�� if (HDLDeviceManager.listRemarks != null && HDLDeviceManager.listRemarks.size() != 0 && pos == -1) { if (!isRefreshAllDevicesState) { - HandleSearch.deviceListCallBack(); - + HandleSearch.OnDeviceListGetSuccessCallBack(); } else { //鍒锋柊瀹屾瘯 - // TODO: 2018/12/29 鍒锋柊瀹屾瘯鍙兘瑕佸仛鏌愪簺浜嬫儏 + // TODO: 鍒锋柊瀹屾瘯鍙兘瑕佸仛鏌愪簺浜嬫儏 HDLLog.info("鍒锋柊璁惧鐘舵�佸畬姣�"); isRefreshAllDevicesState = false; + HandleSearch.OnDeviceListGetSuccessCallBack(); +// /**鍒锋柊璁惧鐘舵�佸畬姣曪紝鎵ц涓�娆′繚瀛樺埌鏈湴*/ +// HDLDeviceManager.saveDevicesDataList(); } return; @@ -508,8 +559,8 @@ port = Configuration.RCU_SEND_PORT; break; case HandleSearch.GET_BUS_DEVICES: -// ipAddress = NetWorkUtil.getLocalBroadCast(); - ipAddress = HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getIpAddress(); + ipAddress = HDLCommand.getLocalBroadCastIp();//2019-10-16 +// ipAddress = HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getIpAddress(); port = Configuration.PORT; break; } -- Gitblit v1.8.0