From 145de2dcd3124f236e7d06bcdee17c7be08048b1 Mon Sep 17 00:00:00 2001 From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com> Date: 星期一, 11 十一月 2024 18:34:13 +0800 Subject: [PATCH] 修改搜索按照index索引 --- HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java | 47 ++++----- app/src/main/java/com/hdl/sdk/ttl_sdk/HDLApplication.java | 2 app/src/main/res/layout/activity_add_devices_manually.xml | 10 ++ .idea/deploymentTargetSelector.xml | 4 app/src/main/java/com/hdl/sdk/ttl_sdk/activity/AddDevicesManuallyActivity.java | 48 +++++---- HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLSerialPortCore.java | 2 HDL_TTLSDK485/build.gradle | 4 HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/ListRemarks.java | 9 + HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java | 107 ++++++++++++--------- HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/AppliancesInfo.java | 11 ++ HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLTtlSdk.java | 2 HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLDeviceManager.java | 40 ++++--- 12 files changed, 169 insertions(+), 117 deletions(-) diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index ebc4157..72ad84c 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,10 +4,10 @@ <selectionStates> <SelectionState runConfigName="app"> <option name="selectionMode" value="DROPDOWN" /> - <DropdownSelection timestamp="2024-09-23T05:28:34.940591100Z"> + <DropdownSelection timestamp="2024-11-11T02:28:48.057319600Z"> <Target type="DEFAULT_BOOT"> <handle> - <DeviceId pluginId="Default" identifier="serial=192.168.1.106:5555;connection=9ecb2e58" /> + <DeviceId pluginId="Default" identifier="serial=192.168.1.113:5555;connection=edc26430" /> </handle> </Target> </DropdownSelection> diff --git a/HDL_TTLSDK485/build.gradle b/HDL_TTLSDK485/build.gradle index fa0137c..905b95b 100644 --- a/HDL_TTLSDK485/build.gradle +++ b/HDL_TTLSDK485/build.gradle @@ -7,8 +7,8 @@ defaultConfig { minSdkVersion 17 targetSdkVersion 30 - versionCode 6 - versionName "1.2.3" + versionCode 7 + versionName "1.2.4" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" ndk { diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/AppliancesInfo.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/AppliancesInfo.java index 928d154..701cacc 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/AppliancesInfo.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/AppliancesInfo.java @@ -18,6 +18,7 @@ private int stateCommand;//璇诲彇鐘舵�佺爜 private int stateBackCommand;//璇诲彇鐘舵�佽繑鍥炵爜 private int channelNum;//鍥炶矾鍙� + private int deviceIndex;//搴忓垪鍙� private int deviceSubnetID;//璁惧瀛愮綉鍙� private int deviceDeviceID;//璁惧鍙� private int sourceSubnetID;//婧愬瓙缃戝彿 @@ -131,6 +132,14 @@ this.channelNum = channelNum; } + public int getDeviceIndex() { + return deviceIndex; + } + + public void setDeviceIndex(int deviceIndex) { + this.deviceIndex = deviceIndex; + } + public String getRemarks() { return remarks; } @@ -228,6 +237,7 @@ ", stateCommand=" + stateCommand + ", stateBackCommand=" + stateBackCommand + ", channelNum=" + channelNum + + ", deviceIndex=" + deviceIndex + ", deviceSubnetID=" + deviceSubnetID + ", deviceDeviceID=" + deviceDeviceID + ", sourceSubnetID=" + sourceSubnetID + @@ -241,6 +251,7 @@ ", physicsChannelNum=" + physicsChannelNum + ", intCurState=" + intCurState + ", deviceKey='" + deviceKey + '\'' + + ", isGetDeviceStateSuccess=" + isGetDeviceStateSuccess + '}'; } } diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/ListRemarks.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/ListRemarks.java index 1e689c4..5b1d277 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/ListRemarks.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Bean/ListRemarks.java @@ -6,6 +6,7 @@ public class ListRemarks { boolean isCallBack; + private int sendCount; AppliancesInfo appliancesInfo; public boolean isCallBack() { @@ -16,6 +17,14 @@ isCallBack = callBack; } + public int getSendCount() { + return sendCount; + } + + public void setSendCount(int sendCount) { + this.sendCount = sendCount; + } + public AppliancesInfo getAppliancesInfo() { return appliancesInfo; } diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLDeviceManager.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLDeviceManager.java index 6f5f7a6..6d8dfcc 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLDeviceManager.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLDeviceManager.java @@ -166,7 +166,7 @@ * @param commandType 鍛戒护绫诲瀷 */ public static void handle(UdpDataBean getDatas, int commandType) { -// Log.e("panlili", "commandType=" + Integer.toHexString(commandType) + " sourceSubnetID=" + getDatas.sourceSubnetID + " sourceDeviceID=" + getDatas.sourceDeviceID); + Log.e("panlili", "commandType=" + Integer.toHexString(commandType) + " sourceSubnetID=" + getDatas.sourceSubnetID + " sourceDeviceID=" + getDatas.sourceDeviceID); switch (commandType) { case Configuration.SEARCH_GATEWAY_BACK_COMMAND: break; @@ -382,7 +382,7 @@ * * @param getDatas */ - private static void handleSearchData(UdpDataBean getDatas) { + private static synchronized void handleSearchData(UdpDataBean getDatas) { DevicesData devicesData = new DevicesData(); devicesData.setSourceSubnetID(getDatas.sourceSubnetID); @@ -439,11 +439,13 @@ EventBus.getDefault().post(new DiscoverNewDevicesEvent(devicesData)); //杩囨护鎺夎儗鏅煶涔愶紝鑳屾櫙闊充箰娌℃湁澶囨敞杩斿洖 - if (devicesDataList.get(devicesDataList.size() - 1).getAppliancesInfoList().get(0).getBigType() != Configuration.AUDIO_BIG_TYPE) { - for (int i = 0, len = devicesDataList.get(devicesDataList.size() - 1).getAppliancesInfoList().size(); i < len; i++) { + if (devicesData.getAppliancesInfoList().get(0).getBigType() != Configuration.AUDIO_BIG_TYPE) { + for (int i = 0, len = devicesData.getAppliancesInfoList().size(); i < len; i++) { ListRemarks listRemarksTemp = new ListRemarks(); listRemarksTemp.setCallBack(false); - listRemarksTemp.setAppliancesInfo(devicesDataList.get(devicesDataList.size() - 1).getAppliancesInfoList().get(i)); + AppliancesInfo appliancesInfo = devicesData.getAppliancesInfoList().get(i); + Log.d("panlili", "HDLDeviceManager.java:handleSearchData----->getChannelNum= " + appliancesInfo.getChannelNum() + " getDeviceKey=" + appliancesInfo.getDeviceKey()); + listRemarksTemp.setAppliancesInfo(appliancesInfo); listRemarks.add(listRemarksTemp); } } @@ -1204,7 +1206,7 @@ for (int appPos = 0, len2 = infos.size(); appPos < len2; appPos++) { if ((infos.get(appPos).getDeviceSubnetID()) == (getDatas.addBytes[0] & 0xFF) && (infos.get(appPos).getDeviceDeviceID()) == (getDatas.addBytes[1] & 0xFF) - && ((infos.get(appPos).getChannelNum()) == (getDatas.addBytes[2] & 0xFF)) + && ((infos.get(appPos).getDeviceIndex()) == (getDatas.addBytes[2] & 0xFF))//搴忓彿 && (infos.get(appPos).getBigType()) == (getDatas.addBytes[3] & 0xFF) && ((infos.get(appPos).getLittleType()) == (getDatas.addBytes[4] & 0xFF))) { @@ -1222,6 +1224,7 @@ HDLLog.I("remarkStr鑾峰彇鐨勫娉ㄥ悕涓猴細" + remarkStr); devicesDataList.get(devPos).getAppliancesInfoList().get(appPos).setChannelNum(getDatas.addBytes[5] & 0xFF); devicesDataList.get(devPos).getAppliancesInfoList().get(appPos).setRemarks(remarkStr); +// HDLLog.I("getRemarks()锛�" + devicesDataList.get(devPos).getAppliancesInfoList().get(appPos).getRemarks()); String key = "K" + devicesDataList.get(devPos).getAppliancesInfoList().get(appPos).getBigType() + "-" + devicesDataList.get(devPos).getAppliancesInfoList().get(appPos).getLittleType() @@ -1233,9 +1236,10 @@ listRemarksOutter: for (int lRPos = 0, len3 = listRemarks.size(); lRPos < len3; lRPos++) { //鎵惧埌F44B瀵瑰簲鐨勮澶囧洖璺紝鍒ゆ柇鏄惁宸茬粡鎷垮埌浜嗘暟鎹�� + if (listRemarks.get(lRPos).getAppliancesInfo().getDeviceSubnetID() == (getDatas.addBytes[0] & 0xFF) && listRemarks.get(lRPos).getAppliancesInfo().getDeviceDeviceID() == (getDatas.addBytes[1] & 0xFF) - && listRemarks.get(lRPos).getAppliancesInfo().getChannelNum() == (getDatas.addBytes[2] & 0xFF) + && listRemarks.get(lRPos).getAppliancesInfo().getDeviceIndex() == (getDatas.addBytes[2] & 0xFF) && listRemarks.get(lRPos).getAppliancesInfo().getBigType() == (getDatas.addBytes[3] & 0xFF) && listRemarks.get(lRPos).getAppliancesInfo().getLittleType() == (getDatas.addBytes[4] & 0xFF)) { @@ -1251,7 +1255,7 @@ } else { HDLLog.I("涓嶅瓨鍦ㄧ殑璁惧澶囨敞锛屽啀娆℃悳绱㈠娉ㄣ�傝澶囷細瀛愮綉鍙凤細" + listRemarks.get(lRPos).getAppliancesInfo().getDeviceSubnetID() + "璁惧鍙凤細" + listRemarks.get(lRPos).getAppliancesInfo().getDeviceDeviceID() - + "鍥炶矾鍙�" + listRemarks.get(lRPos).getAppliancesInfo().getChannelNum() + + "搴忓垪鍙凤細" + listRemarks.get(lRPos).getAppliancesInfo().getDeviceIndex() + "澶囨敞锛�" + listRemarks.get(lRPos).getAppliancesInfo().getRemarks()); HandleSearch.getDevRemarks(); break listRemarksOutter; @@ -1260,7 +1264,7 @@ } else { HDLLog.I("杩斿洖澶囨敞璁惧锛氬瓙缃戝彿锛�" + listRemarks.get(lRPos).getAppliancesInfo().getDeviceSubnetID() + ",璁惧鍙凤細" + listRemarks.get(lRPos).getAppliancesInfo().getDeviceDeviceID() - + ",鍥炶矾鍙�" + listRemarks.get(lRPos).getAppliancesInfo().getChannelNum() + + ",搴忓垪鍙凤細" + listRemarks.get(lRPos).getAppliancesInfo().getDeviceIndex() + ",澶囨敞锛�" + listRemarks.get(lRPos).getAppliancesInfo().getRemarks()); listRemarks.get(lRPos).setCallBack(true); HandleSearch.getDevRemarks(); @@ -2693,8 +2697,8 @@ * @param mRemarks 澶囨敞 * @return Boolean */ - public static boolean addSecurityDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) { - return addDevicesManuallyWithoutSearching(Configuration.SECURITY_BIG_TYPE, 0, mSubnetID, mDeviceID, mChannelNum, mRemarks); + public static boolean addSecurityDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mRemarks) { + return addDevicesManuallyWithoutSearching(Configuration.SECURITY_BIG_TYPE, 0, mSubnetID, mDeviceID, mChannelNum, mIndex, mRemarks); } /** @@ -2706,8 +2710,8 @@ * @param mRemarks 澶囨敞 * @return Boolean */ - public static boolean addAudioDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) { - return addDevicesManuallyWithoutSearching(Configuration.AUDIO_BIG_TYPE, 0, mSubnetID, mDeviceID, mChannelNum, mRemarks); + public static boolean addAudioDevicesManually(int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mRemarks) { + return addDevicesManuallyWithoutSearching(Configuration.AUDIO_BIG_TYPE, 0, mSubnetID, mDeviceID, mChannelNum, mIndex, mRemarks); } /** @@ -2722,9 +2726,9 @@ * @param mRemarks * @return */ - public static boolean addDevicesManuallyWithoutSearchingWithNewDevice(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) { + public static boolean addDevicesManuallyWithoutSearchingWithNewDevice(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mRemarks) { try { - DevicesData mDevicesData = DeviceParser.addDevicesManuallyWithoutSearching(mBigType, mLittleType, mSubnetID, mDeviceID, mChannelNum, mRemarks); + DevicesData mDevicesData = DeviceParser.addDevicesManuallyWithoutSearching(mBigType, mLittleType, mSubnetID, mDeviceID, mChannelNum, mIndex, mRemarks); if (mDevicesData != null) { devicesDataList.add(mDevicesData); HandleSearch.OnDeviceListGetSuccessCallBack(); @@ -2752,7 +2756,7 @@ * @param mRemarks * @return */ - public static boolean addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) { + public static boolean addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mRemarks) { try { if (!DeviceParser.isWantData(mBigType, mLittleType)) {//鍒ゆ柇鏄惁鏀寔鐨勫ぇ绫诲皬绫� @@ -2770,7 +2774,7 @@ DevicesData mDevicesData = devicesDataList.get(i); bCanAdd = getIfCanAddDevice(mDevicesData.getAppliancesInfoList(), mBigType, mLittleType, mChannelNum); if (bCanAdd) {//娣诲姞瀛愮綉鍙� 璁惧鍙� 宸插瓨鍦紝骞朵笖娌℃湁鐩稿悓鐨勫瓙缃戝彿璁惧鍙� - AppliancesInfo mAppliancesInfo = DeviceParser.getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mRemarks, mRemarks); + AppliancesInfo mAppliancesInfo = DeviceParser.getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mIndex, mRemarks, mRemarks); devicesDataList.get(i).getAppliancesInfoList().add(mAppliancesInfo); HandleSearch.OnDeviceListGetSuccessCallBack(); HDLLog.I("鏀寔鐨勮澶囷紝鍏佽娣诲姞"); @@ -2780,7 +2784,7 @@ } if (!bExistSubnetID) { - return addDevicesManuallyWithoutSearchingWithNewDevice(mBigType, mLittleType, mSubnetID, mDeviceID, mChannelNum, mRemarks); + return addDevicesManuallyWithoutSearchingWithNewDevice(mBigType, mLittleType, mSubnetID, mDeviceID, mChannelNum, mIndex, mRemarks); } return bCanAdd; diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLSerialPortCore.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLSerialPortCore.java index 64546f2..bcf87ad 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLSerialPortCore.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLSerialPortCore.java @@ -26,7 +26,7 @@ */ public class HDLSerialPortCore { //涓插彛璁惧璺緞鍚� - private static String mPathname = "/dev/ttyS4"; + private static String mPathname = "/dev/ttyS9"; //娉㈢壒鐜� private static int mBaudrate = 115200; diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLTtlSdk.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLTtlSdk.java index 327d325..f28c65c 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLTtlSdk.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HDLTtlSdk.java @@ -16,7 +16,7 @@ */ public static void init(Context context, String mPathname, int mBaudrate) { HDLDeviceManager.init(context); - HDLDeviceManager.setIsGetBusLightState(false);//鏍规嵁鏄惁bus缃戝叧璁剧疆 + HDLDeviceManager.setIsGetBusLightState(true);//鏍规嵁鏄惁bus缃戝叧璁剧疆 HDLSerialPortCore.setIsModule(true);//鏍规嵁鏄惁甯︽ā缁勮缃� HDLSerialPortCore.initHDLSerialPort(mPathname, mBaudrate); } diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java index 4fee86d..0735237 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Core/HandleSearch.java @@ -4,6 +4,7 @@ import com.hdl.sdk.ttl.Config.Configuration; import com.hdl.sdk.ttl.HDLDeviceManger.Bean.DevicesData; +import com.hdl.sdk.ttl.HDLDeviceManger.Bean.ListRemarks; import com.hdl.sdk.ttl.HDLDeviceManger.Bean.RemarkTimes; import com.hdl.sdk.ttl.HDLDeviceManger.Bean.SearchCountBean; import com.hdl.sdk.ttl.HDLDeviceManger.EventBusEvent.DevicesInfoEvent; @@ -603,6 +604,7 @@ remarkTimer.cancel(); remarkTimer = null; } + if ((HDLDeviceManager.listRemarks != null && HDLDeviceManager.listRemarks.size() == 0) || isSearching) { isRefreshAllDevicesState = false; if (HDLDeviceManager.devicesDataList != null && HDLDeviceManager.devicesDataList.size() > 0) { @@ -620,7 +622,7 @@ } //鍒ゆ柇鏄惁鑾峰彇璁惧澶囨敞瀹屽叏锛岃嫢瀹屽叏鍒欒繑鍥炴墍鏈夎澶囧垪琛ㄣ�� - if (HDLDeviceManager.listRemarks != null && HDLDeviceManager.listRemarks.size() != 0 && pos == -1) { + if (pos == -1) { if (!isRefreshAllDevicesState) { HandleSearch.OnDeviceListGetSuccessCallBack(); } else { @@ -630,46 +632,39 @@ isRefreshAllDevicesState = false; HandleSearch.OnDeviceListGetSuccessCallBack(); } - return; } remarkTimer = new Timer(); final int newPos = pos; - final RemarkTimes remarkTimes = new RemarkTimes(); - remarkTimes.setCount(0); - if (remarkTimer == null) { - return; - } + ListRemarks listRemark = HDLDeviceManager.listRemarks.get(newPos); remarkTimer.schedule(new TimerTask() { @Override public void run() { - if (remarkTimes.getCount() < 1) { - remarkTimes.setCount(remarkTimes.getCount() + 1); + listRemark.setSendCount(listRemark.getSendCount() + 1); + if (listRemark.getSendCount() < 3 && !listRemark.isCallBack()) { if (newPos < HDLDeviceManager.listRemarks.size()) { - HDLLog.I("----->鍙戦�佽幏鍙栧娉ㄥ懡浠ゃ�傚叡" + HDLDeviceManager.listRemarks.size() + "涓ā鍧椼�傜" - + newPos + "涓ā鍧椼�傜 " + (HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getChannelNum()) - + " 鍥炶矾锛屽瓙缃戝彿锛�" + HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceSubnetID() - + "锛岃澶囧彿锛�" + HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceDeviceID() - + " 绗� " + remarkTimes.getCount() + " 娆�"); + HDLLog.I("----->鍙戦�佽幏鍙栧娉ㄥ懡浠ゃ�傚叡" + HDLDeviceManager.listRemarks.size() + "涓紝绗�" + + newPos + "涓ā鍧椼�傜 " + (listRemark.getAppliancesInfo().getDeviceIndex()) + + " 搴忓彿锛屽瓙缃戝彿锛�" + listRemark.getAppliancesInfo().getDeviceSubnetID() + + "锛岃澶囧彿锛�" + listRemark.getAppliancesInfo().getDeviceDeviceID() + + " 绗� " + listRemark.getSendCount() + " 娆�"); HDLCommand.cusSendCommand(Configuration.DEVICES_READ_FROM_GATEWAY_COMMAND, - HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getSourceSubnetID() - , HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getSourceDeviceID(), + listRemark.getAppliancesInfo().getSourceSubnetID() + , listRemark.getAppliancesInfo().getSourceDeviceID(), new byte[]{ - (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceSubnetID(), - (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getDeviceDeviceID(), - (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getChannelNum(), - (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getBigType(), - (byte) HDLDeviceManager.listRemarks.get(newPos).getAppliancesInfo().getLittleType(), + (byte) listRemark.getAppliancesInfo().getDeviceSubnetID(), + (byte) listRemark.getAppliancesInfo().getDeviceDeviceID(), + (byte) listRemark.getAppliancesInfo().getDeviceIndex(), + (byte) listRemark.getAppliancesInfo().getBigType(), + (byte) listRemark.getAppliancesInfo().getLittleType(), }); } } else { - - if (HDLDeviceManager.listRemarks != null - && HDLDeviceManager.listRemarks.size() != 0 - && newPos < HDLDeviceManager.listRemarks.size()) { - HDLDeviceManager.listRemarks.get(newPos).setCallBack(true); + if (!listRemark.isCallBack()) { + HDLLog.I("----->鑾峰彇澶囨敞鍛戒护瓒呮椂 绗� " + (listRemark.getAppliancesInfo().getDeviceIndex()) + " 搴忓彿锛屽瓙缃戝彿锛�" + listRemark.getAppliancesInfo().getDeviceSubnetID() + "锛岃澶囧彿锛�" + listRemark.getAppliancesInfo().getDeviceDeviceID()); } + listRemark.setCallBack(true); getDevRemarks(); } } diff --git a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java index 9e67ea5..f4087b7 100644 --- a/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java +++ b/HDL_TTLSDK485/src/main/java/com/hdl/sdk/ttl/HDLDeviceManger/Parser/DeviceParser.java @@ -57,8 +57,10 @@ curCount++; int curChannelNum = 0; + int index = 0; while (curChannelNum < channelNum) { - curChannelNum++; + curChannelNum++;//鏈夊彲鑳戒笉鏄粠1寮�濮嬬殑锛屾墍浠ュ鍔爄ndex鍒ゆ柇 + index++; if (isWantData(bigType, littleType)) { AppliancesInfo appliancesInfo = new AppliancesInfo(); appliancesInfo.setDeviceSubnetID(subnetID); @@ -67,40 +69,40 @@ /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/ switch (bigType) { case Configuration.LIGTH_BIG_TYPE: - parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.CURTAIN_BIG_TYPE: - parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AIR_BIG_TYPE: - parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AUDIO_BIG_TYPE: - parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.LOGIC_BIG_TYPE: - parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GLOBAL_LOGIC_BIG_TYPE: - parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板 - parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SENSOR_BIG_TYPE: - parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏� - parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴 - parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GEOTHERMAL_BIG_TYPE://鍦扮儹 - parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.DOOR_MACHINE_BIG_TYPE://闂ㄩ攣 - parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); @@ -300,7 +302,7 @@ } - private static void parseLightData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseLightData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("璋冨厜鍥炶矾"); @@ -349,6 +351,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.LIGTH_BIG_TYPE); appliancesInfo.setLittleType(littleType); @@ -371,7 +374,7 @@ } } - private static void parseCurtainData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseCurtainData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("寮�鍚堝笜鐢垫満"); @@ -396,6 +399,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.CURTAIN_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.CURTAIN_CTRL_COMMAND); @@ -408,7 +412,7 @@ } } - private static void parseAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("HVAC 妯″潡"); @@ -441,6 +445,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.AIR_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -463,7 +468,7 @@ } } - private static void parseAudioData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseAudioData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鑳屾櫙闊充箰妯″潡"); @@ -483,6 +488,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.AUDIO_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.AUDIO_CTRL_READ_COMMAND); @@ -496,7 +502,7 @@ HDLLog.I("闊充箰妯″潡锛�" + parentRemarks); } - private static void parseLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("閫昏緫妯″潡"); @@ -509,6 +515,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.LOGIC_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.LOGIC_CTRL_COMMAND); @@ -522,7 +529,7 @@ } } - private static void parseGlobalLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseGlobalLogicData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鍏ㄥ眬閫昏緫妯″潡"); @@ -535,6 +542,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.GLOBAL_LOGIC_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setCtrlCommand(Configuration.LOGIC_CTRL_COMMAND); @@ -559,7 +567,7 @@ * @param port * @param ipAddress */ - private static void parseSecurityData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseSecurityData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("瀹夐槻妯″潡"); @@ -576,6 +584,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.SECURITY_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -606,7 +615,7 @@ // 2019-07-03 灞忚斀 2019-11-5 浼犳劅鍣ㄩ兘鏀逛负骞叉帴鐐瑰疄鐜� - private static void parseSensorData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int curChannelNum, int port, String ipAddress) { + private static void parseSensorData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("浼犳劅鍣� 骞茬粨鐐�"); @@ -732,7 +741,8 @@ if (devicesData != null) { - appliancesInfo.setChannelNum(curChannelNum); + appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.SENSOR_BIG_TYPE); appliancesInfo.setLittleType(littleType); @@ -751,7 +761,7 @@ * 2020-07-20 * 鏂伴绯荤粺 */ - private static void parseFreshAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseFreshAirData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鏂伴绯荤粺妯″潡"); @@ -776,6 +786,7 @@ if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.FRESH_AIR_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -788,7 +799,7 @@ /** * 鍦扮儹 */ - private static void parseGeothermalData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseGeothermalData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("鍦扮儹妯″潡"); @@ -813,6 +824,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.GEOTHERMAL_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -832,7 +844,7 @@ /** * 闂ㄩ攣 */ - private static void parseDoorMachineData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseDoorMachineData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 4: appliancesInfo.setDeviceName("闂ㄩ攣妯″潡"); @@ -844,6 +856,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.DOOR_MACHINE_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -871,7 +884,7 @@ * @param port * @param ipAddress */ - private static void parseCommonSwitchData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int port, String ipAddress) { + private static void parseCommonSwitchData(int littleType, AppliancesInfo appliancesInfo, DevicesData devicesData, String parentRemarks, int channelNum, int index, String ipAddress) { switch (littleType) { case 0: appliancesInfo.setDeviceName("閫氱敤寮�鍏�"); @@ -884,6 +897,7 @@ } if (devicesData != null) { appliancesInfo.setChannelNum(channelNum); + appliancesInfo.setDeviceIndex(index); appliancesInfo.setBigType(Configuration.COMMON_SWITCH_BIG_TYPE); appliancesInfo.setLittleType(littleType); appliancesInfo.setSourceSubnetID(devicesData.getSourceSubnetID()); @@ -908,7 +922,7 @@ * @param mRemarks * @return */ - public static DevicesData addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, String mRemarks) { + public static DevicesData addDevicesManuallyWithoutSearching(int mBigType, int mLittleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mRemarks) { boolean bWantData = false; DevicesData mDevicesData = new DevicesData(); mDevicesData.setSourceSubnetID(mSubnetID); @@ -918,7 +932,7 @@ List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); if (isWantData(mBigType, mLittleType)) { bWantData = true; - AppliancesInfo appliancesInfo = getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mRemarks, mRemarks); + AppliancesInfo appliancesInfo = getDevicesInfo(mDevicesData, mBigType, mLittleType, mChannelNum, mIndex, mRemarks, mRemarks); appliancesInfoList.add(appliancesInfo); // HDLLog.I( "鍚戞ā鍧楁坊鍔犲洖璺細"+"澶х被锛�" + mBigType + " 灏忕被锛�" + mLittleType +" 妯″潡澶囨敞" + mRemarks ); @@ -1003,7 +1017,7 @@ List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); if (isWantData(bigType, littleType)) { for (int i = 0; i < parentRemarksList.size(); i++) { - appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, i + 1, parentRemarks, parentRemarksList.get(i))); + appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, i + 1, i+1, parentRemarks, parentRemarksList.get(i))); } bWantData = true; @@ -1024,45 +1038,45 @@ return devicesData; } - public static AppliancesInfo getDevicesInfo(DevicesData devicesData, int bigType, int littleType, int curChannelNum, String parentRemarks, String mRemarks) { + public static AppliancesInfo getDevicesInfo(DevicesData devicesData, int bigType, int littleType, int curChannelNum, int index, String parentRemarks, String mRemarks) { AppliancesInfo appliancesInfo = new AppliancesInfo(); /**鏍规嵁绫诲埆锛岃祴鍊兼搷浣滅爜绛変竴浜涢噸瑕佷俊鎭�*/ switch (bigType) { case Configuration.LIGTH_BIG_TYPE: - parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLightData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.CURTAIN_BIG_TYPE: - parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCurtainData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AIR_BIG_TYPE: - parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.AUDIO_BIG_TYPE: - parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseAudioData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.LOGIC_BIG_TYPE: - parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GLOBAL_LOGIC_BIG_TYPE: - parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGlobalLogicData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SECURITY_BIG_TYPE://2019-7-29 鏂板 - parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSecurityData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.SENSOR_BIG_TYPE: - parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseSensorData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.COMMON_SWITCH_BIG_TYPE://2020-04-01 閫氱敤寮�鍏� - parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseCommonSwitchData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.FRESH_AIR_BIG_TYPE://2020-07-20 鏂板鏂伴 - parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseFreshAirData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.GEOTHERMAL_BIG_TYPE://2020-07-20 鍦扮儹 - parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseGeothermalData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; case Configuration.DOOR_MACHINE_BIG_TYPE://2023-08-22 闂ㄩ攣 - parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, 0, ""); + parseDoorMachineData(littleType, appliancesInfo, devicesData, parentRemarks, curChannelNum, index, ""); break; default: // appliancesInfo.setDeviceName(Configuration.UNKNOW_TYPE); @@ -1074,7 +1088,8 @@ + "-" + appliancesInfo.getDeviceSubnetID() + "-" + appliancesInfo.getDeviceDeviceID() + "-" + appliancesInfo.getChannelNum(); - appliancesInfo.setRemarks(mRemarks); +// appliancesInfo.setRemarks(mRemarks); + HDLLog.I("---getDevicesInfo getRemarks()锛�" + appliancesInfo.getRemarks()); appliancesInfo.setDeviceKey(key);//2019-8-2 娣诲姞鍞竴鏍囪瘑key return appliancesInfo; @@ -1092,7 +1107,7 @@ * @param parentRemarks * @return */ - public static DevicesData addDevicesListWithoutSearching(int bigType, int littleType, int mSubnetID, int mDeviceID, int mChannelNum, String mChannelRemark, String parentRemarks) { + public static DevicesData addDevicesListWithoutSearching(int bigType, int littleType, int mSubnetID, int mDeviceID, int mChannelNum, int mIndex, String mChannelRemark, String parentRemarks) { // boolean bWantData = false; if (isWantData(bigType, littleType)) { DevicesData devicesData = new DevicesData(); @@ -1112,13 +1127,13 @@ if (isFindDevicesData) { - AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, parentRemarks, mChannelRemark); + AppliancesInfo mAppliancesInfo = getDevicesInfo(devicesData, bigType, littleType, mChannelNum, mIndex, parentRemarks, mChannelRemark); devicesDataList.get(index).getAppliancesInfoList().add(mAppliancesInfo); devicesData = devicesDataList.get(index); HandleSearch.OnDeviceListGetSuccessCallBack(); } else { List<AppliancesInfo> appliancesInfoList = new ArrayList<>(); - appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, mChannelNum, parentRemarks, mChannelRemark)); + appliancesInfoList.add(getDevicesInfo(devicesData, bigType, littleType, mChannelNum, mIndex, parentRemarks, mChannelRemark)); devicesData.setAppliancesInfoList(appliancesInfoList); devicesDataList.add(devicesData); HandleSearch.OnDeviceListGetSuccessCallBack(); diff --git a/app/src/main/java/com/hdl/sdk/ttl_sdk/HDLApplication.java b/app/src/main/java/com/hdl/sdk/ttl_sdk/HDLApplication.java index 99d5609..728c877 100644 --- a/app/src/main/java/com/hdl/sdk/ttl_sdk/HDLApplication.java +++ b/app/src/main/java/com/hdl/sdk/ttl_sdk/HDLApplication.java @@ -9,7 +9,7 @@ */ public class HDLApplication extends Application { - public static final String HDL_UART_PATH = "/dev/ttyS4"; //涓插彛璁惧璺緞鍚� + public static final String HDL_UART_PATH = "/dev/ttyS9"; //涓插彛璁惧璺緞鍚� public static final int HDL_BAUDRATE = 115200; //娉㈢壒鐜� @Override diff --git a/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/AddDevicesManuallyActivity.java b/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/AddDevicesManuallyActivity.java index cfe6ca6..cb1e581 100644 --- a/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/AddDevicesManuallyActivity.java +++ b/app/src/main/java/com/hdl/sdk/ttl_sdk/activity/AddDevicesManuallyActivity.java @@ -36,11 +36,12 @@ private EditText subnetIDEditText; private EditText deviceIDEditText; private EditText channelNumEditText; + private EditText indexEditText; private EditText remarksEditText; private Button addButton; -// private String subnetIDStr, deviceIDStr, channelNumStr, remarksStr; - private int subnetID, deviceID, channelNum; - private String remarksStr; + // private String subnetIDStr, deviceIDStr, channelNumStr, remarksStr; + private int subnetID, deviceID, channelNum, index; + private String remarksStr; private int deviceTypeId = 0; private static final String[] deviceTypeItems = {"瀹夐槻妯″潡", "闊充箰妯″潡", "浼犳劅鍣ㄦā鍧�"}; @@ -77,6 +78,7 @@ subnetIDEditText = findViewById(R.id.et_subnetID); deviceIDEditText = findViewById(R.id.et_deviceID); channelNumEditText = findViewById(R.id.et_channelNum); + indexEditText = findViewById(R.id.et_index); remarksEditText = findViewById(R.id.et_remarks); addButton = findViewById(R.id.btn_add); @@ -125,24 +127,24 @@ boolean isSuccess = false; if (deviceTypeId == 0) { - isSuccess = HDLDeviceManager.addSecurityDevicesManually(subnetID, deviceID, channelNum, remarksStr); - } else if(deviceTypeId == 1) { - isSuccess = HDLDeviceManager.addAudioDevicesManually(subnetID, deviceID, channelNum, remarksStr); - }else { + isSuccess = HDLDeviceManager.addSecurityDevicesManually(subnetID, deviceID, channelNum, index, remarksStr); + } else if (deviceTypeId == 1) { + isSuccess = HDLDeviceManager.addAudioDevicesManually(subnetID, deviceID, channelNum, index, remarksStr); + } else { //鎸囧畾澶х被鍜屽皬绫诲弬鏁� 鍖哄垎妯″潡绫诲瀷 - isSuccess = HDLDeviceManager.addDevicesManuallyWithoutSearching(Configuration.SENSOR_BIG_TYPE,11 ,subnetID, deviceID, channelNum, remarksStr); + isSuccess = HDLDeviceManager.addDevicesManuallyWithoutSearching(Configuration.SENSOR_BIG_TYPE, 11, subnetID, deviceID, channelNum, index, remarksStr); } - if(isSuccess){ + if (isSuccess) { showToast("娣诲姞鎴愬姛"); finish(); - }else { + } else { showToast("娣诲姞澶辫触"); } } - private void addButtonAction(){ - String subnetIDStr = subnetIDEditText.getText().toString(); + private void addButtonAction() { + String subnetIDStr = subnetIDEditText.getText().toString(); if (TextUtils.isEmpty(subnetIDStr)) { showToast("瀛愮綉鍙蜂笉鑳戒负绌�"); return; @@ -160,6 +162,12 @@ return; } + String indexStr = indexEditText.getText().toString(); + if (TextUtils.isEmpty(indexStr)) { + showToast("搴忓垪鍙蜂笉鑳戒负绌�"); + return; + } + String remarksString = remarksEditText.getText().toString(); if (TextUtils.isEmpty(remarksString)) { showToast("澶囨敞涓嶈兘涓虹┖"); @@ -167,20 +175,21 @@ } - subnetID = Integer.parseInt(subnetIDStr); - deviceID = Integer.parseInt(deviceIDStr); - channelNum = Integer.parseInt(channelNumStr); - remarksStr = remarksString; - String mes = ""; + subnetID = Integer.parseInt(subnetIDStr); + deviceID = Integer.parseInt(deviceIDStr); + channelNum = Integer.parseInt(channelNumStr); + index = Integer.parseInt(indexStr); + remarksStr = remarksString; + String mes = ""; mes = "璁惧绫诲瀷锛�" + deviceTypeItems[deviceTypeId]; - mes += "\n瀛愮綉鍙凤細" + subnetIDStr +"\n璁惧鍙凤細" + deviceIDStr +"\n鍥炶矾鍙凤細" + channelNumStr +"\n澶囨敞鍚嶏細" + remarksStr; + mes += "\n瀛愮綉鍙凤細" + subnetIDStr + "\n璁惧鍙凤細" + deviceIDStr + "\n鍥炶矾鍙凤細" + channelNumStr + "\n搴忓垪鍙凤細" + indexStr + "\n澶囨敞鍚嶏細" + remarksStr; showTipDialog(mes); } private void showTipDialog(String message) { - MaterialDialog mMaterialDialog = new MaterialDialog.Builder(this) + MaterialDialog mMaterialDialog = new MaterialDialog.Builder(this) .title("鏄惁纭畾娣诲姞璇ヨ澶囷紵") .content(message) .positiveText(R.string.ok) @@ -199,7 +208,6 @@ }).build(); mMaterialDialog.show(); } - } diff --git a/app/src/main/res/layout/activity_add_devices_manually.xml b/app/src/main/res/layout/activity_add_devices_manually.xml index c1905c5..27f26a1 100644 --- a/app/src/main/res/layout/activity_add_devices_manually.xml +++ b/app/src/main/res/layout/activity_add_devices_manually.xml @@ -86,6 +86,16 @@ android:hint="鍥炶矾鍙�" /> <EditText + android:id="@+id/et_index" + android:layout_width="match_parent" + android:layout_height="40dp" + android:layout_marginTop="10dp" + android:inputType="number" + android:maxLength="3" + android:text="1" + android:hint="搴忓垪鍙�" + /> + <EditText android:id="@+id/et_remarks" android:layout_width="match_parent" android:layout_height="40dp" -- Gitblit v1.8.0