From: TrillGates Date: Thu, 24 Jun 2021 03:48:01 +0000 (+0800) Subject: parse cmd X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=6648306108fd53f0ea96d88150eafd51dd7d283e;p=protocol_srv.git parse cmd --- diff --git a/app/src/main/java/com/ic/protocols/protocol_ic.java b/app/src/main/java/com/ic/protocols/protocol_ic.java index 8dd6de0e..f8b4385e 100644 --- a/app/src/main/java/com/ic/protocols/protocol_ic.java +++ b/app/src/main/java/com/ic/protocols/protocol_ic.java @@ -191,6 +191,7 @@ public class protocol_ic { APGJ,//关机前的确定 APFX,//飞行模式开关 UNKNOWN_CMD, + BP75,//闹钟 } private static HashMap cmdMap; @@ -298,6 +299,7 @@ public class protocol_ic { cmdMap.put(CMD_TYPE.APTQ, "APTQ"); cmdMap.put(CMD_TYPE.BPTQ, "BPTQ"); cmdMap.put(CMD_TYPE.APAT, "APAT"); + cmdMap.put(CMD_TYPE.BP75, "BP75"); cmdMap.put(CMD_TYPE.BPAT, "BPAT"); cmdMap.put(CMD_TYPE.APBT, "APBT"); cmdMap.put(CMD_TYPE.BPBT, "BPBT"); @@ -388,10 +390,10 @@ public class protocol_ic { String last_inCompletecmd = ""; String cmd_msgbuf = new String(bytes); ICLogger.d("bytes.size " + bytes.length); -// cmdbuf.append(cmd_msgbuf); + //cmdbuf.append(cmd_msgbuf); cmdbuf.append(cmd_msgbuf); ICLogger.d("cmdbuf.size " + cmdbuf.length() + " " + cmdbuf.toString()); - /* + /* 如果不是 #结尾,就认为 接收数据不全,置位。 */ if (cmdbuf.toString().endsWith(CMDEND)) { @@ -3012,31 +3014,55 @@ public class protocol_ic { if (Config.LOG_TOFILE) ICLogger.logToFile("APILog", " recv " + cmd); cmd = cmd.replace(" ", ""); switch (type) { + case AP00: + break; case BP00: //登录包 handleBP00(mRuntime, cmd); ICLogger.i("服务器收到登录包AP00"); mConnection.DeliverCMDMessageToSystem("login", cmd);//通知下面线程状态变化 break; + case AP01: + break; case BP01: //gps定位包 handleBP01(cmd); ICLogger.i("服务器收到定位AP01"); mConnection.DeliverCMDMessageToSystem("AP01", cmd);//通知下面线程状态变化 break; + case AP02: + break; case BP02:// wifi定位包 handleBP02(cmd); ICLogger.i("服务器收到定位AP02"); mConnection.DeliverCMDMessageToSystem("AP02", cmd);//通知下面线程状态变化 break; + case AP92: + break; + case BP92: + break; + case AP94: + break; + case BP94: + break; + case AP03: + break; case BP03: //心跳包 handleBP03(cmd); ICLogger.i("服务器收到心跳包AP03"); mConnection.DeliverCMDMessageToSystem("heartbeat", cmd);//通知下面线程状态变化 break; + case AP05: + break; + case BP05: + break; + case AP07: + break; case BP07: //收到发送的语音包 handleBP07(cmd, mConnection); break; + case AP10: + break; case BP10: //报警包 mConnection.DeliverCMDMessageToSystem("AP10", cmd);//通知下面线程状态变化 @@ -3144,6 +3170,12 @@ public class protocol_ic { handleBPJZ(cmd, mConnection, mRuntime); ICLogger.i("收到服务器血压校准命令"); break; + case AP49: + break; + case BP49: + break; + case APHT: + break; case BPHT: ICLogger.i("服务器收到上传的心率血压"); mConnection.DeliverCMDMessageToSystem("APHT", cmd);//通知下面线程状态变化 @@ -3226,6 +3258,10 @@ public class protocol_ic { mConnection.DeliverCMDMessageToSystem("APMK", cmd);//通知下面线程状态变化 handleBPMK(mRuntime, cmd); break; + case BP75: + ICLogger.d("收到闹钟设置指令BP75"); + handleBP75(mConnection, mRuntime, cmd); + break; case BPDH: ICLogger.i("聆听"); handleBPDH(mConnection, mRuntime, cmd); @@ -3251,12 +3287,174 @@ public class protocol_ic { break; + case APTM: + break; + case APCH: + break; + case BPCH: + break; + case APBR: + break; + case AP12: + break; + case AP14: + break; + case AP15: + break; + case AP16: + break; + case AP17: + break; + case AP18: + break; + case AP21: + break; + case BP21: + break; + case AP28: + break; + case BP28: + break; + case AP31: + break; + case AP33: + break; + case AP34: + break; + case AP40: + break; + case AP68: + break; + case APXL: + break; + case APXY: + break; + case APJZ: + break; + case AP84: + break; + case AP85: + break; + case AP86: + break; + case AP87: + break; + case AP88: + break; + case AP89: + break; + case APTE: + break; + case APTP: + break; + case APX1: + break; + case APS4: + break; + case APHP: + break; + case APDE: + break; + case APDG: + break; + case APTU: + break; + case APSL: + break; + case AP46: + break; + case APDH: + break; + case AP99: + break; + case BP99: + break; + case APTQ: + break; + case APAT: + break; + case APBT: + break; + case APBS: + break; + case APWL: + break; + case AP65: + break; + case AP47: + break; + case APGJ: + break; + case APFX: + break; + case UNKNOWN_CMD: + break; } return ret; } + /** + * 闹钟数据 + * + * @param mConnection + * @param mRuntime + * @param cmd + */ + private void handleBP75(Connection mConnection, Runtime mRuntime, String cmd) { + //解析数据 + ICLogger.d("cmd is == > " + cmd); + // IWBP75, + // 867282038639874, + // 97145, + // 1, + // 6, + // 403836f63d09192,1045,1234567,1 + // @5403836f63d09192,1230,1234567,1 + // @5403836f63d09192,,1234567,0 + // @559d6c3463d09192,,1234567,0 + // @559d6c3463d09192,,1234567,0 + // @559d6c3463d09192,,1234567,0 + try { + String[] split = cmd.split(CMDSPLIT); + int cmdLen = 0; + cmdLen += split[0].length() + 1; + cmdLen += split[1].length() + 1; + String streamCode = split[2]; + cmdLen += streamCode.length() + 1; + ICLogger.d("streamCode == > " + streamCode); + String isAllOpen = split[3]; + cmdLen += isAllOpen.length() + 1; + ICLogger.d("isAllOpen == > " + isAllOpen); + String alarmCount = split[4]; + ICLogger.d("alarmCount = > " + alarmCount); + cmdLen += alarmCount.length() + 1; + String substring = cmd.substring(cmdLen); + String[] alarmItemArray = substring.split("@"); + for (String itemStr : alarmItemArray) { + ICLogger.d("itemStr==> " + itemStr); + String[] itemDetail = itemStr.split(CMDSPLIT); + //第一个是名称 + String alarmName = Util.decodeUnicode2Utf8(itemDetail[0]); + ICLogger.d("alarmName == > " + alarmName); + //第二个是时间 + String alarmTime = itemDetail[1]; + ICLogger.d("alarmTime == > " + alarmTime); + //第三个是循环星期 + String weekItem = itemDetail[2]; + ICLogger.d("weekItem == > " + weekItem); + //第四个是开关 + String isOpen = itemDetail[3]; + ICLogger.d("isOpen == > " + isOpen); + //添加到闹钟数据库中 + //TODO: + } + } catch (Exception e) { + e.printStackTrace(); + } + } + /** * 处理麦克风的指令 diff --git a/app/version_code.properties b/app/version_code.properties index 6d4187df..fa513ec7 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,5 +1,5 @@ -#Thu Jun 24 10:47:50 CST 2021 +#Thu Jun 24 11:46:15 CST 2021 >>>>>>>=b405d1184f3616d4e894d199cee0eb91613a68db -VERSION_CODE=839 +VERSION_CODE=843 =\=\=\=\=\=\= <<<<<<<=HEAD