From 6ec7933914e599c146df3c42e607890d97c44272 Mon Sep 17 00:00:00 2001 From: snickersun Date: Thu, 30 Jul 2020 00:57:36 +0800 Subject: [PATCH] =?utf8?q?=E6=B7=BB=E5=8A=A0=20protocol=5Ffzd=20wdstart,FI?= =?utf8?q?ND,bldstart=20,SOS,=20UPLOAD,POWEROFF,oxygen,blood,temp,heart=20?= =?utf8?q?=E8=BF=9C=E7=A8=8B=E4=BD=93=E6=B8=A9=E6=B5=8B=E8=AF=95=EF=BC=8C?= =?utf8?q?=E6=9F=A5=E6=89=BE=EF=BC=8C=E8=BF=9C=E7=A8=8B=E8=A1=80=E5=8E=8B?= =?utf8?q?=E6=B5=8B=E8=AF=95=20=EF=BC=8CSOS=E5=8F=B7=E7=A0=81=E8=AE=BE?= =?utf8?q?=E7=BD=AE=EF=BC=8C=E5=AE=9A=E4=BD=8D=E6=97=B6=E9=97=B4=E8=AE=BE?= =?utf8?q?=E7=BD=AE=EF=BC=8C=E5=85=B3=E6=9C=BA=EF=BC=8C=E4=B8=8A=E4=BC=A0?= =?utf8?q?=E8=A1=80=E6=B0=A7=EF=BC=8C=E4=B8=8A=E4=BC=A0=E8=A1=80=E5=8E=8B?= =?utf8?q?=EF=BC=8C=E4=B8=8A=E4=BC=A0=E4=BD=93=E6=B8=A9=EF=BC=8C=E4=B8=8A?= =?utf8?q?=E4=BC=A0=E5=BF=83=E7=8E=87=EF=BC=8C=E5=8D=8F=E8=AE=AE=E6=94=AF?= =?utf8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/com/enqualcomm/support/Config.java | 6 +- .../com/enqualcomm/support/CoreService.java | 4 +- .../com/enqualcomm/support/bean/Runtime.java | 2 +- .../support/service/HeartRateManager.java | 38 ++- .../com/ic/protocols/protocolAPIHelper.java | 60 ++++- .../com/ic/protocols/protocol_beehome.java | 2 +- .../java/com/ic/protocols/protocol_fzd.java | 254 ++++++++++++++---- .../java/com/ic/protocols/protocol_ic.java | 2 +- 8 files changed, 294 insertions(+), 74 deletions(-) diff --git a/app/src/main/java/com/enqualcomm/support/Config.java b/app/src/main/java/com/enqualcomm/support/Config.java index 7909095f..9f63f4ef 100644 --- a/app/src/main/java/com/enqualcomm/support/Config.java +++ b/app/src/main/java/com/enqualcomm/support/Config.java @@ -387,11 +387,11 @@ public class Config { } public static void loadTemperatureSettings(Runtime runtime){ - runtime.temp_test_Cycle = SharPreferenceUtil.getPrefInt(runtime.getContextProxy().context, KeyTempTestCycle, 60); + runtime.temp_test_Cycle = SharPreferenceUtil.getPrefInt(runtime.getContextProxy().context, KeyTempTestCycle, 60*60); } - public static void setTemperatureTestCycle(Runtime runtime,int cycle_minutes) { - SharPreferenceUtil.setPrefInt(runtime.getContextProxy().context,KeyTempTestCycle,cycle_minutes); + public static void setTemperatureTestCycle(Runtime runtime,int cycle_seconds) { + SharPreferenceUtil.setPrefInt(runtime.getContextProxy().context,KeyTempTestCycle,cycle_seconds); loadTemperatureSettings(runtime); } public static boolean isUsingCustomServer=false; diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 1d4bb437..d23b72fc 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -527,7 +527,7 @@ public class CoreService extends Service { Config.setLocationMode(this, CUSTOM_MOD); Config.setLocationCycle(this, 3600); Config.setPPGTestCycle(this, 60); - Config.setTemperatureTestCycle(runtime, 60); + Config.setTemperatureTestCycle(runtime, 60*60); Config.setConfigInitFlag(this,1); } }else{ @@ -940,7 +940,7 @@ public class CoreService extends Service { if(Config.noTempSensor) return; if (cycle>1) { - AlarmHelper.setRealTimeAlarm(runtime.getContextProxy().context, cycle, TEMP_ALARM); + AlarmHelper.setRealTimeAlarmInSeconds(runtime.getContextProxy().context, cycle, TEMP_ALARM); sb.append(" setTempAlarm " + TEMP_ALARM + ", cycle " + cycle); }else { sb.append(" setTempAlarm " + TEMP_ALARM + ", cycle " + cycle+"<=1 skip!"); diff --git a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java index c3c207a5..eef9cafd 100644 --- a/app/src/main/java/com/enqualcomm/support/bean/Runtime.java +++ b/app/src/main/java/com/enqualcomm/support/bean/Runtime.java @@ -19,7 +19,7 @@ import java.util.Locale; public class Runtime { - public int temp_test_Cycle=30; + public int temp_test_Cycle=60*60; public int anti_test_cycle=30; public int SignalStrength; diff --git a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java index 735b91e4..29ffbedc 100644 --- a/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java +++ b/app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java @@ -66,8 +66,18 @@ public class HeartRateManager extends AbstractInvokeHandlerService { //因为协议中没有时间变量,所以只能实时传输,如果恰巧没有网络也只能丢弃,有时间变量的话,可以考虑通过deliver的buffer来进行缓存发送 if (connection.isServerConnected()) { + if(PPGDATA.isEmpty()){ + String ppgd=protocolAPIHelper.getPPG_MSG(runtime.getHRS().getPPG()); + String bloodd=protocolAPIHelper.getBlood_MSG( runtime.getHRS().getBPH(), runtime.getHRS().getBPL()); + String oxd=protocolAPIHelper.getOxygen_MSG(runtime.getHRS().getSpo2()); + connection.send(protocolAPIHelper.genStringMessage("ppg", ppgd)); + connection.send(protocolAPIHelper.genStringMessage("blood", bloodd)); + connection.send(protocolAPIHelper.genStringMessage("oxygen", oxd)); - connection.send(protocolAPIHelper.genStringMessage("APHT", PPGDATA)); + }else { + connection.send(protocolAPIHelper.genStringMessage("APHT", PPGDATA)); + ICLogger.i("Send PPG " + PPGDATA); + } ICLogger.i("Send PPG " + PPGDATA); @@ -322,13 +332,25 @@ public static void triggerPPGtest(){ } - String PPGDATA = protocolAPIHelper.getPPG_ECG_MSG(Integer.valueOf(ppg),Integer.valueOf(bph),Integer.valueOf(bpl),Integer.valueOf(spo2)); - if (((NettyConnection)connection).isServerConnected()) { - connection.send(protocolAPIHelper.genStringMessage("APHT", PPGDATA)); - ICLogger.i("Send PPG " + PPGDATA); - } else { - ICLogger.i("Skip PPG " + PPGDATA); - } + + if (((NettyConnection) connection).isServerConnected()) { + String PPGDATA = protocolAPIHelper.getPPG_ECG_MSG(Integer.parseInt(ppg), Integer.parseInt(bph), Integer.parseInt(bpl), Integer.parseInt(spo2)); + if(PPGDATA.isEmpty()){ + String ppgd=protocolAPIHelper.getPPG_MSG(Integer.parseInt(ppg)); + String bloodd=protocolAPIHelper.getBlood_MSG( Integer.parseInt(bph), Integer.parseInt(bpl)); + String oxd=protocolAPIHelper.getOxygen_MSG(Integer.parseInt(spo2)); + connection.send(protocolAPIHelper.genStringMessage("ppg", ppgd)); + connection.send(protocolAPIHelper.genStringMessage("blood", bloodd)); + connection.send(protocolAPIHelper.genStringMessage("oxygen", oxd)); + + }else { + connection.send(protocolAPIHelper.genStringMessage("APHT", PPGDATA)); + ICLogger.i("Send PPG " + PPGDATA); + } + } else { + ICLogger.i("Skip PPG "); + } + callback(message.replyTo, Constants.RESULT_OK); default: diff --git a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java index 8ee9c230..4898ebff 100644 --- a/app/src/main/java/com/ic/protocols/protocolAPIHelper.java +++ b/app/src/main/java/com/ic/protocols/protocolAPIHelper.java @@ -111,7 +111,7 @@ public class protocolAPIHelper { ret=protocol_ic.APTP(temp_adusted,body_temp); break; case Config.PROTOCOL_FZD: - ret=""; + ret=protocol_fzd.temp(body_temp); break; } return ret; @@ -275,6 +275,64 @@ public class protocolAPIHelper { return ret; } + public static String getBlood_MSG(int pbh, int pbl){ + String ret=""; + switch(Config.protocol_no) + { + case Config.PROTOCOL_JIAI: + ret=""; + break; + case Config.PROTOCOL_BEEHOME: + ret=""; + break; + case Config.PROTOCOL_IC: + ret=""; + break; + case Config.PROTOCOL_FZD: + ret=protocol_fzd.blood(pbl,pbh); + break; + } + return ret; + } + + public static String getOxygen_MSG(int ox){ + String ret=""; + switch(Config.protocol_no) + { + case Config.PROTOCOL_JIAI: + ret=""; + break; + case Config.PROTOCOL_BEEHOME: + ret=""; + break; + case Config.PROTOCOL_IC: + ret=""; + break; + case Config.PROTOCOL_FZD: + ret=protocol_fzd.oxygen(ox); + break; + } + return ret; + } + public static String getPPG_MSG(int ppg){ + String ret=""; + switch(Config.protocol_no) + { + case Config.PROTOCOL_JIAI: + ret=""; + break; + case Config.PROTOCOL_BEEHOME: + ret=""; + break; + case Config.PROTOCOL_IC: + ret=""; + break; + case Config.PROTOCOL_FZD: + ret=protocol_fzd.heart(ppg); + break; + } + return ret; + } public static String getPPG_ECG_MSG(int ppg,int bph,int bpl,int spo2){ String ret=""; diff --git a/app/src/main/java/com/ic/protocols/protocol_beehome.java b/app/src/main/java/com/ic/protocols/protocol_beehome.java index 1a49f29b..3ff7a931 100644 --- a/app/src/main/java/com/ic/protocols/protocol_beehome.java +++ b/app/src/main/java/com/ic/protocols/protocol_beehome.java @@ -1619,7 +1619,7 @@ public class protocol_beehome { int freq=Integer.parseInt(freqstr); connection.send(genStringMessage("APTE",APTE(index,freq))); ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。"); - Config.setTemperatureTestCycle(runtime,freq); + Config.setTemperatureTestCycle(runtime,freq*60); CoreService.getInstance().setTempAlarm(); double wrist_temp,body_temp; wrist_temp=TemperatureUtil.get_temp_value_adjusted(); diff --git a/app/src/main/java/com/ic/protocols/protocol_fzd.java b/app/src/main/java/com/ic/protocols/protocol_fzd.java index bc544fe2..993f87ef 100644 --- a/app/src/main/java/com/ic/protocols/protocol_fzd.java +++ b/app/src/main/java/com/ic/protocols/protocol_fzd.java @@ -22,6 +22,7 @@ import com.enqualcomm.support.utils.Connection; import com.enqualcomm.support.utils.ICLogger; import com.enqualcomm.support.utils.MD5; import com.enqualcomm.support.utils.NettyConnection; +import com.enqualcomm.support.utils.TemperatureUtil; import com.enqualcomm.support.utils.TimeUtil; import com.enqualcomm.support.utils.Util; import com.enqualcomm.support.utils.regexUtil; @@ -64,7 +65,7 @@ public class protocol_fzd { VOICE,//上传语音 WG,//请求位置信息 DLT,//解绑 - temp,//temp + temp,//体温上传 /* 服务器发起*/ UPLOAD,//数据上传间隔设置 CENTER,//中心号码设置 @@ -87,6 +88,13 @@ public class protocol_fzd { REMIND,//闹钟设置指令 TK,//对讲功能(微聊发送语音) PHL,//设置电话本+白名单(最多 50 条) + wdstart,//远程测温 + bldstart,//远程测血压 + hrtstart,//远程测量心率 + BOOTOFF,//定时关机 + oxygen,//血氧上传 + blood,//血压上传 + heart,//心率上传 UNKNOWN_CMD, } @@ -128,6 +136,13 @@ public class protocol_fzd { cmdMap.put(CMD_TYPE.REMIND, "REMIND"); cmdMap.put(CMD_TYPE.TK, "TK"); cmdMap.put(CMD_TYPE.PHL, "PHL"); + cmdMap.put(CMD_TYPE.wdstart, "wdstart"); + cmdMap.put(CMD_TYPE.bldstart, "bldstart"); + cmdMap.put(CMD_TYPE.hrtstart, "hrtstart"); + cmdMap.put(CMD_TYPE.BOOTOFF, "BOOTOFF"); + cmdMap.put(CMD_TYPE.oxygen, "oxygen"); + cmdMap.put(CMD_TYPE.blood, "blood"); + cmdMap.put(CMD_TYPE.heart, "heart"); } private NettyConnection mConnection=null; @@ -254,6 +269,7 @@ public class protocol_fzd { // handleCmd(key, cmdlist[i], bytes); // } // } else { + if (data.startsWith(CMDSPLIT)) data=data.substring(1); handleCmd(key, cmd_msgbuf,data); cmdbuf.delete(0,cmdbuf.length());//处理后清空 // } @@ -325,20 +341,18 @@ public class protocol_fzd { } - public static void handlePing(Runtime runtime,String cmd){ + public static void handlePing(Runtime runtime,String data){ // [IC*YYYYYYYYYYYYYYY*LEN*PING,是否绑定(0 表示未绑定,1 表示绑定)] // 实例:[IC*334588000000156*0006*PING,0]或[IC*334588000000156*0006*PING,1] - String[] cmdlist=cmd.split(CMDSPLIT); - if (cmdlist.length==2){ - int bind=Integer.parseInt(cmdlist[1]); - if (bind==0){ - ICLogger.i("设备未绑定!"); - runtime.BindingStatus=false; - }else{ - ICLogger.i("设备已绑定!"); - runtime.BindingStatus=true; - } + int bind=Integer.parseInt(data); + if (bind==0){ + ICLogger.i("设备未绑定!"); + runtime.BindingStatus=false; + }else{ + ICLogger.i("设备已绑定!"); + runtime.BindingStatus=true; } + } public static String KA(Runtime runtime){ @@ -450,13 +464,128 @@ public class protocol_fzd { public static String UPLOAD(){ - return new StringBuffer("").toString(); + return genFZDCMD(cmdMap.get(CMD_TYPE.UPLOAD)); } public void handleUPLOAD(Connection connection,Runtime runtime,String cmd,String data){ + connection.send(genStringMessage("UPLOAD",UPLOAD())); + int timesecond=Integer.parseInt(data); + int mod=runtime.getLocationInstance().getWorkingMod(); + log("LOCATION_MODE "+LOCATION_MODE+" mod "+ mod); + Config.setLocationMode(runtime.getContextProxy().context,mod); + Config.setLocationCycle(runtime.getContextProxy().context,timesecond); + runtime.getLocationInstance().setLocation_cycle(timesecond); + runtime.getLocationInstance().setWorkingMod(mod); +// CoreService.getInstance().setLocationAlarm(runtime.getLocationInstance().getWorkingMod()); + //此处设置好配置后,会在LocationClient通过消息开始执行及时定位操作。 + + } + public static String heart(int hrt){ + return genFZDCMD(cmdMap.get(CMD_TYPE.heart),String.valueOf(hrt)); + } + public static String oxygen(int ox){ + return genFZDCMD(cmdMap.get(CMD_TYPE.oxygen),String.valueOf(ox)); + } + + public static String blood(int pbl,int pbh){ + String data=pbh+CMDSPLIT+pbl; + return genFZDCMD(cmdMap.get(CMD_TYPE.blood),data); + } + + public static String temp(double temp){ + return genFZDCMD(cmdMap.get(CMD_TYPE.temp),String.format("%.1f",temp)); + } + public static String POWEROFF(){ + return genFZDCMD(cmdMap.get(CMD_TYPE.POWEROFF)); + } + public void handlePOWEROFF(Connection connection) { + + connection.send(genStringMessage("POWEROFF",POWEROFF())); + } + public static String CR(){ + return genFZDCMD(cmdMap.get(CMD_TYPE.CR)); + } + public void handleCR(Connection connection) { + + connection.send(genStringMessage("CR",CR())); + } + public static String bldstart(){ + return genFZDCMD(cmdMap.get(CMD_TYPE.bldstart)); } + public void handleBldstart(Connection connection) { + + connection.send(genStringMessage("bldstart",bldstart())); + } + public static String wdstart(){ + return genFZDCMD(cmdMap.get(CMD_TYPE.wdstart)); + } + public void handleWdstart(Connection connection,Runtime runtime ,String data) { + + connection.send(genStringMessage("wdstart",wdstart())); + int freq=Integer.parseInt(data); + + + Config.setTemperatureTestCycle(runtime,freq); + CoreService.getInstance().setTempAlarm(); + double wrist_temp,body_temp; + wrist_temp= TemperatureUtil.get_temp_value_adjusted(); + body_temp=TemperatureUtil.getBodyTemp(wrist_temp,26.0f); + String temperatureMsg=temp(body_temp); + connection.send(genStringMessage("temp",temperatureMsg)); + } + public static String hrtstart(){ + return genFZDCMD(cmdMap.get(CMD_TYPE.hrtstart)); + } + public void handleHrtstart(Connection connection) { + + connection.send(genStringMessage("hrtstart",hrtstart())); + } + public static String FIND(){ + return genFZDCMD(cmdMap.get(CMD_TYPE.FIND)); + } + public void handleFIND(Connection connection) { + + connection.send(genStringMessage("FIND",FIND())); + } + public static String SOS(){ + return genFZDCMD(cmdMap.get(CMD_TYPE.SOS)); + } + + + public void handleSOS(Connection connection,Runtime runtime,String cmd,String data) { + connection.send(genStringMessage("SOS",SOS())); + if (data!=null && data.length()>0) { + String list[] = data.split(CMDSPLIT); + if (list.length==1){ + ArrayList contactArray=new ArrayList(); + if (regexUtil.isMobileNumber( list[0]) || regexUtil.isPhoneNumber(list[0])) + { + contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos1",list[0])); + ICLogger.i("find SOS1 number "+list[0]); + } + }else if (list.length==2){ + + ArrayList contactArray=new ArrayList(); + if (regexUtil.isMobileNumber( list[0]) || regexUtil.isPhoneNumber(list[0])) + { + contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos1",list[0])); + ICLogger.i("find SOS1 number "+list[0]); + } + if (regexUtil.isMobileNumber( list[1]) || regexUtil.isPhoneNumber(list[1])) + { + contactArray.add(new Contact(Contact.CATEGORY_SOS,"sos2",list[1])); + ICLogger.i("find SOS2 number "+list[1]); + } + + runtime.getDbHelper().saveContacts(contactArray,false,false,false,false,false,true); + + } + } + + + } public static String PHL(){ return genFZDCMD(cmdMap.get(CMD_TYPE.PHL)); } @@ -470,9 +599,8 @@ public class protocol_fzd { * 5F204E09--->张三,是使用 unicode 编码 * 终端回复:[IC*334588000000156*0003*PHL] */ - StringBuilder tmp=new StringBuilder(data); - if (tmp.toString().startsWith(CMDSPLIT)) tmp.deleteCharAt(0); - String list[]=tmp.toString().split(CMDSPLIT); + + String list[]=data.split(CMDSPLIT); int listlen=list.length; boolean ispared= (( listlen >0) && (listlen%2 == 0)); if (ispared){ @@ -510,7 +638,7 @@ public class protocol_fzd { //普通非二进制命令用此函数处理 boolean ret=true; - ICLogger.i("handleCmd "+type.name() + " strLen="+cmd.length()); + ICLogger.i("handleCmd "+type.name() + " strLen="+data.length()); if (Config.LOG_TOFILE)ICLogger.logToFile("APILog", " recv " + cmd +" "+ data); switch (type){ case LK: //登录包 @@ -523,12 +651,12 @@ public class protocol_fzd { break; case PING: - handlePing(mRuntime,cmd); + handlePing(mRuntime,data); ICLogger.i("服务器返回Ping绑定信息"); break; case CR: //立即定位指令(长链接有效) - //handleBP16(mConnection,mRuntime,cmd); + handleCR(mConnection); mConnection.DeliverCMDMessageToSystem("StartLocate",cmd);//通知下面线程状态变化 break; @@ -552,10 +680,10 @@ public class protocol_fzd { // ICLogger.i("收到服务器设置闹钟命令BP85"); // mConnection.DeliverCMDMessageToSystem("AP85",cmd);//通知下面线程状态变化 // break; -// case BP33: -// //设置工作模式 -// handleBP33(mConnection,mRuntime,cmd); -// mConnection.DeliverCMDMessageToSystem("setWorkMod",cmd);//通知下面线程状态变化 + case UPLOAD: + //设置工作模式 + handleUPLOAD(mConnection,mRuntime,cmd,data); + mConnection.DeliverCMDMessageToSystem("setWorkMod",cmd);//通知下面线程状态变化 // // break; // case BP34: @@ -569,11 +697,11 @@ public class protocol_fzd { //// API.handleBP05(cmd); //// break; // -// case BP12: -// //收到设置SOS号码 -// handleBP12(mConnection,cmd,mRuntime); -// ICLogger.i("收到服务器设置SOS号码命令BP12"); -// break; + case SOS: + //收到设置SOS号码 + handleSOS(mConnection,mRuntime,cmd,data); + ICLogger.i("收到服务器设置SOS号码命令BP12"); + break; case PHL: //收到设置白名单号码 ICLogger.i("收到服务器设置白名单号码命令BP14"); @@ -597,12 +725,12 @@ public class protocol_fzd { // mConnection.DeliverCMDMessageToSystem("Reboot",cmd);//通知下面线程状态变化 // break; // -// case BP31: -// //收到关机 -// handleBP31(mConnection,cmd); -// ICLogger.i("收到服务器关机命令BP31"); -// mConnection.DeliverCMDMessageToSystem("poweroff",cmd);//通知下面线程状态变化 -// break; + case POWEROFF: + //收到关机 + handlePOWEROFF(mConnection); + ICLogger.i("收到服务器关机命令BP31"); + mConnection.DeliverCMDMessageToSystem("poweroff",cmd);//通知下面线程状态变化 + break; // case BP40: // //服务器推送文本 // handleBP40(mConnection,mRuntime,cmd); @@ -610,24 +738,36 @@ public class protocol_fzd { // mConnection.DeliverCMDMessageToSystem("showTxt",cmd);//通知下面线程状态变化 // break; // -// case BPXL: -// handleBPXL(cmd,mConnection); -// ICLogger.i("收到服务器心率检测命令"); -// HeartRateManager.triggerPPGtest(); -// break; -// case BPXY: -// handleBPXY(cmd,mConnection); -// ICLogger.i("收到服务器血压检测命令"); -// HeartRateManager.triggerPPGtest(); -// break; -// case BPJZ: -// handleBPJZ(cmd,mConnection,mRuntime); -// ICLogger.i("收到服务器血压校准命令"); -// break; -// case BPHT: -// ICLogger.i("服务器收到上传的心率血压"); -// mConnection.DeliverCMDMessageToSystem("APHT",cmd);//通知下面线程状态变化 -// break; + case hrtstart: + handleHrtstart(mConnection); + ICLogger.i("收到服务器心率检测命令"); + HeartRateManager.triggerPPGtest(); + break; + case bldstart: + handleBldstart(mConnection); + ICLogger.i("收到服务器血压检测命令"); + HeartRateManager.triggerPPGtest(); + break; + case wdstart: + handleWdstart(mConnection,mRuntime,data); + ICLogger.i("收到服务器体温测试及设置命令"); + break; + case blood: + ICLogger.i("服务器收到上传的血压"); + mConnection.DeliverCMDMessageToSystem("blood",cmd);//通知下面线程状态变化 + break; + case oxygen: + ICLogger.i("服务器收到上传的血氧"); + mConnection.DeliverCMDMessageToSystem("oxygen",cmd);//通知下面线程状态变化 + break; + case temp: + ICLogger.i("服务器收到上传的体温"); + mConnection.DeliverCMDMessageToSystem("temp",cmd);//通知下面线程状态变化 + break; + case heart: + ICLogger.i("服务器收到上传的心率heart"); + mConnection.DeliverCMDMessageToSystem("heart",cmd);//通知下面线程状态变化 + break; // case BP84: // handleBP84(cmd,mConnection); // ICLogger.i("收到服务器白名单命令"); @@ -640,11 +780,11 @@ public class protocol_fzd { // // break; // -// case BP88: -// //收到查找设备消息 -// handleBP88(cmd,mConnection); -// mConnection.DeliverCMDMessageToSystem("findDev",cmd);//通知下面线程状态变化 -// break; + case FIND: + //收到查找设备消息 + handleFIND(mConnection); + mConnection.DeliverCMDMessageToSystem("findDev",cmd);//通知下面线程状态变化 + break; // case BP89: // //心率/血压阀值 // handleBP89(cmd,mConnection); 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 f7cd176e..31e7eeb3 100644 --- a/app/src/main/java/com/ic/protocols/protocol_ic.java +++ b/app/src/main/java/com/ic/protocols/protocol_ic.java @@ -1629,7 +1629,7 @@ public class protocol_ic { int freq=Integer.parseInt(freqstr); connection.send(genStringMessage("APTE",APTE(index,freq))); ICLogger.i("收到服务器指令:测量体温 "+freq+"分钟一次。"); - Config.setTemperatureTestCycle(runtime,freq); + Config.setTemperatureTestCycle(runtime,freq*60); CoreService.getInstance().setTempAlarm(); double wrist_temp,body_temp; wrist_temp=TemperatureUtil.get_temp_value_adjusted(); -- 2.17.1