添加 protocol_fzd
authorsnickersun <scy@incartech.cn>
Wed, 29 Jul 2020 16:57:36 +0000 (00:57 +0800)
committersnickersun <scy@incartech.cn>
Wed, 29 Jul 2020 16:57:36 +0000 (00:57 +0800)
wdstart,FIND,bldstart ,SOS, UPLOAD,POWEROFF,oxygen,blood,temp,heart
远程体温测试,查找,远程血压测试 ,SOS号码设置,定位时间设置,关机,上传血氧,上传血压,上传体温,上传心率,协议支持

app/src/main/java/com/enqualcomm/support/Config.java
app/src/main/java/com/enqualcomm/support/CoreService.java
app/src/main/java/com/enqualcomm/support/bean/Runtime.java
app/src/main/java/com/enqualcomm/support/service/HeartRateManager.java
app/src/main/java/com/ic/protocols/protocolAPIHelper.java
app/src/main/java/com/ic/protocols/protocol_beehome.java
app/src/main/java/com/ic/protocols/protocol_fzd.java
app/src/main/java/com/ic/protocols/protocol_ic.java

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