定时测量问题处理
authorp15692025051 <846603105@qq.com>
Mon, 6 May 2024 01:38:19 +0000 (09:38 +0800)
committerp15692025051 <846603105@qq.com>
Mon, 6 May 2024 01:38:19 +0000 (09:38 +0800)
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/EventMesh.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr_d15.py

index e1a2521..f3658b8 100644 (file)
@@ -8,8 +8,8 @@ model = "D10"
 # project = "D15"
 project = "D10"
 
-platform = "gewu"#格物平台 不用的话选择空 如果需要联通入库的需求就要打开 不需要就得写空通过变量区分
-# platform = "D10"#格物平台 不用的话选择空
+#platform = "gewu"#格物平台 不用的话选择空 如果需要联通入库的需求就要打开 不需要就得写空通过变量区分
+platform = "D10"#格物平台 不用的话选择空
 # platform = "D15"#格物平台 不用的话选择空
 
 # model = "G10W_DT_YBX_"
index c56a8dc..494ad49 100644 (file)
@@ -780,7 +780,7 @@ if EventMesh.model == "D10":
             self.connect = 0 #服务器连接状态
             self.KA_time = 0
             self.HR_time = 0
-            self.SENSOR_time = 0
+            self.hr_timeSecond = 0
             self.HR_state = 0
             self.HR_Onestate = 0
             self.get_hr_state = 0
@@ -800,12 +800,12 @@ if EventMesh.model == "D10":
 
             self.low_power_AL = 0
 
-            self.temp_time = 0
+            self.temp_timeSecond = 0
             self.temp_state = 0
             self.temp_one_state = 0
             self.temp_warning = 0
 
-            self.bg_times = 0
+            self.bg_timeSecond = 0
 
             self.bp_timeSecond = 0
             self.bpauto_state = 0
@@ -1397,6 +1397,20 @@ if EventMesh.model == "D10":
                 self.pull_time = time_tmp
             # if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#已联网 并且不在充电 佩戴正常 不在通话就给测试心率
             if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1 and battery[0] != "1" and WEAR == 1 and call_state == 0:
+                #防止时间校时出错
+                if time_tmp < self.pull_time :
+                    self.pull_time = time_tmp
+                if time_tmp < self.temp_timeSecond:
+                    self.temp_timeSecond = time_tmp
+                if time_tmp < self.hr_timeSecond:
+                    self.hr_timeSecond = time_tmp
+                if time_tmp < self.spo2_timeSecond :
+                    self.spo2_timeSecond = time_tmp
+                if time_tmp < self.bp_timeSecond:
+                    self.bp_timeSecond = time_tmp
+                if time_tmp < self.bg_timeSecond:
+                     self.bg_timeSecond = time_tmp
+                     
                 if time_tmp - self.pull_time >= 30:
                     # EventMesh.debug_log("shifens:")  
 
@@ -1571,11 +1585,11 @@ if EventMesh.model == "D10":
                             if get_temp_state != None:
                                 get_temp_state  = EventMesh.publish("get_temp_state")
                                 if get_temp_state == 0 or get_temp_state == 2:
-                                    if (time_tmp-self.temp_time) >= get_temp_time:#大于一个周期的时间,重新赋值
+                                    if (time_tmp-self.temp_timeSecond) >= get_temp_time:#大于一个周期的时间,重新赋值
                                         self.temp_state = 0
-                                        self.temp_time = time_tmp
+                                        self.temp_timeSecond = time_tmp
 
-                                    if (time_tmp-self.temp_time) == 0 and self.temp_state == 0:#一开始就测量 测量一分钟停止测量体温
+                                    if (time_tmp-self.temp_timeSecond) == 0 and self.temp_state == 0:#一开始就测量 测量一分钟停止测量体温
                                         self.temp_state = 1
                                         EventMesh.publish("set_temp_state",2)
                                         # EventMesh.publish("set_hr_blood_led",1)
@@ -1583,7 +1597,7 @@ if EventMesh.model == "D10":
                                         EventMesh.txt_log("auto START_temp:1")
                                         EventMesh.publish(constants.EVENT.START_TEMP)
 
-                                    elif (time_tmp-self.temp_time) >= 30 and self.temp_state == 1:
+                                    elif (time_tmp-self.temp_timeSecond) >= 30 and self.temp_state == 1:
                                         self.temp_state = 0
                                         EventMesh.txt_log("auto stop_temp:1")
                                         EventMesh.publish("set_temp_state",0)
@@ -1617,7 +1631,7 @@ if EventMesh.model == "D10":
                                 EventMesh.txt_log("auto wear stop_temp:2 ")
                                 EventMesh.publish(constants.EVENT.STOP_TEMP)
                             self.temp_state = 0
-                            self.temp_time = 0
+                            self.temp_timeSecond = 0
                             self.old_temp_time = 0
 
 
@@ -1638,18 +1652,18 @@ if EventMesh.model == "D10":
                                 get_bg_state  = EventMesh.publish("get_bg_state")#血糖
                                 # print("state hr",get_hr_state,get_spo2_state,get_bp_state,get_bg_state)
                                 if (get_bg_state == 0 and get_spo2_state == 0 and get_bp_state == 0) and  (get_hr_state == 2 or get_hr_state == 0):#心率血压血氧不在测试就测试血糖自动测量
-                                    if (time_tmp-self.SENSOR_time) >= self.mearsure_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
-                                        self.SENSOR_time = time_tmp
+                                    if (time_tmp-self.hr_timeSecond) >= self.mearsure_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
+                                        self.hr_timeSecond = time_tmp
                                         self.HR_Onestate = 0
-                                    # print("time_tmp hr",time_tmp,self.SENSOR_time,time_tmp-self.SENSOR_time,self.mearsure_timer,self.HR_Onestate)
-                                    if (time_tmp - self.SENSOR_time) == 0 and self.HR_Onestate == 0:
+                                    # print("time_tmp hr",time_tmp,self.hr_timeSecond,time_tmp-self.hr_timeSecond,self.mearsure_timer,self.HR_Onestate)
+                                    if (time_tmp - self.hr_timeSecond) == 0 and self.HR_Onestate == 0:
                                         self.HR_Onestate = 1
                                         EventMesh.txt_log("auto START_hr:1")
                                         EventMesh.publish("set_hr_state",2)#2代表后台进入测试
                                         # EventMesh.publish("set_hr_blood_led",1)
                                         EventMesh.publish(constants.EVENT.START_HEART)
                                         
-                                    elif (time_tmp - self.SENSOR_time) >= 60 and self.HR_Onestate == 1:
+                                    elif (time_tmp - self.hr_timeSecond) >= 60 and self.HR_Onestate == 1:
                                         self.HR_Onestate = 0
                                         EventMesh.publish("set_hr_state",0)#2代表后台进入测试
                                         EventMesh.debug_log("stop debug3")
@@ -1666,7 +1680,7 @@ if EventMesh.model == "D10":
                                 else:
                                     self.HR_Onestate = 0
                             else:
-                                self.SENSOR_time = 0
+                                self.hr_timeSecond = 0
                                 self.HR_Onestate = 0
                                 hr_state = EventMesh.publish("get_hr_state")#心率
                                 if hr_state == 2:
@@ -1791,18 +1805,18 @@ if EventMesh.model == "D10":
                             # print("state bg2",get_hr_state,get_spo2_state,get_bp_state,get_bg_state)
                             
                             if (get_hr_state == 0 and get_spo2_state == 0 and get_bp_state == 0) and (get_bg_state == 2 or get_bg_state == 0):#心率血压血氧不在测试就测试血糖自动测量
-                                if (time_tmp-self.bg_times) >= bg_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
-                                    self.bg_times = time_tmp #1780 
+                                if (time_tmp-self.bg_timeSecond) >= bg_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
+                                    self.bg_timeSecond = time_tmp #1780 
                                     self.BG_state = 0
-                                # print("time_tmp bg",time_tmp,self.bg_times,time_tmp-self.bg_times,bg_timer,self.BG_state)
-                                if (time_tmp - self.bg_times) == 0 and self.BG_state == 0:
+                                # print("time_tmp bg",time_tmp,self.bg_timeSecond,time_tmp-self.bg_timeSecond,bg_timer,self.BG_state)
+                                if (time_tmp - self.bg_timeSecond) == 0 and self.BG_state == 0:
                                     EventMesh.debug_log("START_bg:1")
                                     EventMesh.txt_log("auto START_bg:1")
                                     EventMesh.publish("set_bg_state",2)#2代表后台进入测试
                                     # EventMesh.publish("set_hr_blood_led",1)
                                     EventMesh.publish(constants.EVENT.START_HEART)
                                     self.BG_state = 1
-                                elif (time_tmp - self.bg_times) >= 60 and self.BG_state == 1:
+                                elif (time_tmp - self.bg_timeSecond) >= 60 and self.BG_state == 1:
                                     self.BG_state = 0
                                     EventMesh.publish("set_bg_state",0)#2代表后台进入测试
                                     # EventMesh.publish("stop_led_timer")#设置参数
@@ -1827,13 +1841,13 @@ if EventMesh.model == "D10":
                                 EventMesh.debug_log("bg stop bgdebug3")
                                 EventMesh.txt_log("auto wear stop_bg:2 ")
                                 EventMesh.publish(constants.EVENT.STOP_HEART)
-                            self.bg_times = 0
+                            self.bg_timeSecond = 0
                             self.BG_state = 0
                     
                 else:
                     self.old_temp_time = 0
                     self.old_time = 0
-                    # self.SENSOR_time = time_tmp
+                    # self.hr_timeSecond = time_tmp
                     self.HR_Onestate = 0
                     self.HR_OneTime = 0
                     self.HR_state = 0
@@ -1843,9 +1857,9 @@ if EventMesh.model == "D10":
                     self.old_spo2_time = 0
                     self.set_hsenor_crt = 0
                     self.old_bg_time = 0
-                    # self.bg_times = time_tmp
+                    # self.bg_timeSecond = time_tmp
                     self.BG_state = 0
-                    # self.temp_time = time_tmp
+                    # self.temp_timeSecond = time_tmp
 
                     # self.bp_timeSecond = time_tmp
                     self.bpauto_state = 0
@@ -1859,7 +1873,7 @@ if EventMesh.model == "D10":
             else:
                 self.old_temp_time = 0
                 self.old_time = 0
-                # self.SENSOR_time = time_tmp
+                # self.hr_timeSecond = time_tmp
                 self.HR_Onestate = 0
                 self.HR_OneTime = 0
                 self.HR_state = 0
@@ -1869,10 +1883,10 @@ if EventMesh.model == "D10":
                 self.old_spo2_time = 0
                 self.set_hsenor_crt = 0
                 self.old_bg_time = 0
-                # self.bg_times = time_tmp
+                # self.bg_timeSecond = time_tmp
 
                 self.BG_state = 0
-                # self.temp_time = time_tmp
+                # self.temp_timeSecond = time_tmp
 
                 # self.bp_timeSecond = time_tmp
                 self.bpauto_state = 0
@@ -3991,7 +4005,7 @@ if EventMesh.model == "D10":
             if read_data != None:
                 self.bptime_on = read_data
 
-            EventMesh.publish("get_storage_config","bpauto_time")
+            read_data=EventMesh.publish("get_storage_config","bpauto_time")
             if read_data != None:
                 self.bptime_time = read_data
 
index 87dca01..c09f710 100644 (file)
@@ -790,7 +790,7 @@ if EventMesh.model == "D15":
             self.connect = 0 #服务器连接状态
             self.KA_time = 0
             self.HR_time = 0
-            self.SENSOR_time = 0
+            self.hr_timeSecond = 0
             self.HR_state = 0
             self.HR_Onestate = 0
             self.get_hr_state = 0
@@ -808,12 +808,12 @@ if EventMesh.model == "D15":
             self.upload_time = 0
             self.UD_timeout = 7*60
 
-            self.temp_time = 0
+            self.temp_timeSecond = 0
             self.temp_state = 0
             self.temp_one_state = 0
             self.temp_warning = 0
 
-            self.bg_times = 0
+            self.bg_timeSecond = 0
 
             self.bp_timeSecond = 0
             self.bpauto_state = 0
@@ -1409,6 +1409,20 @@ if EventMesh.model == "D15":
                 self.pull_time = time_tmp
             # if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#已联网 并且不在充电 佩戴正常 不在通话就给测试心率
             if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1 and battery[0] != "1" and WEAR == 1 and call_state == 0 and video_state == 0:
+                #防止时间校时出错
+                if time_tmp < self.pull_time :
+                    self.pull_time = time_tmp
+                if time_tmp < self.temp_timeSecond:
+                    self.temp_timeSecond = time_tmp
+                if time_tmp < self.hr_timeSecond:
+                    self.hr_timeSecond = time_tmp
+                if time_tmp < self.spo2_timeSecond :
+                    self.spo2_timeSecond = time_tmp
+                if time_tmp < self.bp_timeSecond:
+                    self.bp_timeSecond = time_tmp
+                if time_tmp < self.bg_timeSecond:
+                     self.bg_timeSecond = time_tmp
+
                 if time_tmp - self.pull_time >= 30:
                     # EventMesh.debug_log("shifens:")  
 
@@ -1583,11 +1597,11 @@ if EventMesh.model == "D15":
                             if get_temp_state != None:
                                 get_temp_state  = EventMesh.publish("get_temp_state")
                                 if get_temp_state == 0 or get_temp_state == 2:
-                                    if (time_tmp-self.temp_time) >= get_temp_time:#大于一个周期的时间,重新赋值
+                                    if (time_tmp-self.temp_timeSecond) >= get_temp_time:#大于一个周期的时间,重新赋值
                                         self.temp_state = 0
-                                        self.temp_time = time_tmp
+                                        self.temp_timeSecond = time_tmp
 
-                                    if (time_tmp-self.temp_time) == 0 and self.temp_state == 0:#一开始就测量 测量一分钟停止测量体温
+                                    if (time_tmp-self.temp_timeSecond) == 0 and self.temp_state == 0:#一开始就测量 测量一分钟停止测量体温
                                         self.temp_state = 1
                                         EventMesh.publish("set_temp_state",2)
                                         # EventMesh.publish("set_hr_blood_led",1)
@@ -1595,7 +1609,7 @@ if EventMesh.model == "D15":
                                         EventMesh.txt_log("auto START_temp:1")
                                         EventMesh.publish(constants.EVENT.START_TEMP)
 
-                                    elif (time_tmp-self.temp_time) >= 30 and self.temp_state == 1:
+                                    elif (time_tmp-self.temp_timeSecond) >= 30 and self.temp_state == 1:
                                         self.temp_state = 0
                                         EventMesh.txt_log("auto stop_temp:1")
                                         EventMesh.publish("set_temp_state",0)
@@ -1629,7 +1643,7 @@ if EventMesh.model == "D15":
                                 EventMesh.txt_log("auto wear stop_temp:2 ")
                                 EventMesh.publish(constants.EVENT.STOP_TEMP)
                             self.temp_state = 0
-                            self.temp_time = 0
+                            self.temp_timeSecond = 0
                             self.old_temp_time = 0
 
 
@@ -1648,18 +1662,18 @@ if EventMesh.model == "D15":
                                 get_bg_state  = EventMesh.publish("get_bg_state")#血糖
                                 # print("state hr",get_hr_state,get_spo2_state,get_bp_state,get_bg_state)
                                 if (get_bg_state == 0 and get_spo2_state == 0 and get_bp_state == 0) and  (get_hr_state == 2 or get_hr_state == 0):#心率血压血氧不在测试就测试血糖自动测量
-                                    if (time_tmp-self.SENSOR_time) >= self.mearsure_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
-                                        self.SENSOR_time = time_tmp
+                                    if (time_tmp-self.hr_timeSecond) >= self.mearsure_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
+                                        self.hr_timeSecond = time_tmp
                                         self.HR_Onestate = 0
-                                    # print("time_tmp hr",time_tmp,self.SENSOR_time,time_tmp-self.SENSOR_time,self.mearsure_timer,self.HR_Onestate)
-                                    if (time_tmp - self.SENSOR_time) == 0 and self.HR_Onestate == 0:
+                                    # print("time_tmp hr",time_tmp,self.hr_timeSecond,time_tmp-self.hr_timeSecond,self.mearsure_timer,self.HR_Onestate)
+                                    if (time_tmp - self.hr_timeSecond) == 0 and self.HR_Onestate == 0:
                                         self.HR_Onestate = 1
                                         EventMesh.txt_log("auto START_hr:1")
                                         EventMesh.publish("set_hr_state",2)#2代表后台进入测试
                                         # EventMesh.publish("set_hr_blood_led",1)
                                         EventMesh.publish(constants.EVENT.START_HEART)
                                         
-                                    elif (time_tmp - self.SENSOR_time) >= 60 and self.HR_Onestate == 1:
+                                    elif (time_tmp - self.hr_timeSecond) >= 60 and self.HR_Onestate == 1:
                                         self.HR_Onestate = 0
                                         EventMesh.publish("set_hr_state",0)#2代表后台进入测试
                                         EventMesh.debug_log("stop debug3")
@@ -1676,7 +1690,7 @@ if EventMesh.model == "D15":
                                 else:
                                     self.HR_Onestate = 0
                             else:
-                                self.SENSOR_time = 0
+                                self.hr_timeSecond = 0
                                 self.HR_Onestate = 0
                                 hr_state = EventMesh.publish("get_hr_state")#心率
                                 if hr_state == 2:
@@ -1800,18 +1814,18 @@ if EventMesh.model == "D15":
                             # print("state bg2",get_hr_state,get_spo2_state,get_bp_state,get_bg_state)
                             
                             if (get_hr_state == 0 and get_spo2_state == 0 and get_bp_state == 0) and (get_bg_state == 2 or get_bg_state == 0):#心率血压血氧不在测试就测试血糖自动测量
-                                if (time_tmp-self.bg_times) >= bg_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
-                                    self.bg_times = time_tmp #1780 
+                                if (time_tmp-self.bg_timeSecond) >= bg_timer:#大于一个周期的时间,保存的时间戳时间 1678 0 1678 30 1678 
+                                    self.bg_timeSecond = time_tmp #1780 
                                     self.BG_state = 0
-                                # print("time_tmp bg",time_tmp,self.bg_times,time_tmp-self.bg_times,bg_timer,self.BG_state)
-                                if (time_tmp - self.bg_times) == 0 and self.BG_state == 0:
+                                # print("time_tmp bg",time_tmp,self.bg_timeSecond,time_tmp-self.bg_timeSecond,bg_timer,self.BG_state)
+                                if (time_tmp - self.bg_timeSecond) == 0 and self.BG_state == 0:
                                     EventMesh.debug_log("START_bg:1")
                                     EventMesh.txt_log("auto START_bg:1")
                                     EventMesh.publish("set_bg_state",2)#2代表后台进入测试
                                     # EventMesh.publish("set_hr_blood_led",1)
                                     EventMesh.publish(constants.EVENT.START_HEART)
                                     self.BG_state = 1
-                                elif (time_tmp - self.bg_times) >= 60 and self.BG_state == 1:
+                                elif (time_tmp - self.bg_timeSecond) >= 60 and self.BG_state == 1:
                                     self.BG_state = 0
                                     EventMesh.publish("set_bg_state",0)#2代表后台进入测试
                                     # EventMesh.publish("stop_led_timer")#设置参数
@@ -1836,7 +1850,7 @@ if EventMesh.model == "D15":
                                 EventMesh.debug_log("bg stop bgdebug3")
                                 EventMesh.txt_log("auto wear stop_bg:2 ")
                                 EventMesh.publish(constants.EVENT.STOP_HEART)
-                            self.bg_times = 0
+                            self.bg_timeSecond = 0
                             self.BG_state = 0
 
 
@@ -1846,7 +1860,7 @@ if EventMesh.model == "D15":
                 else:
                     self.old_temp_time = 0
                     self.old_time = 0
-                    # self.SENSOR_time = time_tmp
+                    # self.hr_timeSecond = time_tmp
                     self.HR_Onestate = 0
                     self.HR_OneTime = 0
                     self.HR_state = 0
@@ -1856,9 +1870,9 @@ if EventMesh.model == "D15":
                     self.old_spo2_time = 0
                     self.set_hsenor_crt = 0
                     self.old_bg_time = 0
-                    # self.bg_times = time_tmp
+                    # self.bg_timeSecond = time_tmp
                     self.BG_state = 0
-                    # self.temp_time = time_tmp
+                    # self.temp_timeSecond = time_tmp
 
                     # self.bp_timeSecond = time_tmp
                     self.bpauto_state = 0
@@ -1873,7 +1887,7 @@ if EventMesh.model == "D15":
             else:
                 self.old_temp_time = 0
                 self.old_time = 0
-                # self.SENSOR_time = time_tmp
+                # self.hr_timeSecond = time_tmp
                 self.HR_Onestate = 0
                 self.HR_OneTime = 0
                 self.HR_state = 0
@@ -1883,10 +1897,10 @@ if EventMesh.model == "D15":
                 self.old_spo2_time = 0
                 self.set_hsenor_crt = 0
                 self.old_bg_time = 0
-                # self.bg_times = time_tmp
+                # self.bg_timeSecond = time_tmp
 
                 self.BG_state = 0
-                # self.temp_time = time_tmp
+                # self.temp_timeSecond = time_tmp
 
                 # self.bp_timeSecond = time_tmp
                 self.bpauto_state = 0
@@ -4010,7 +4024,7 @@ if EventMesh.model == "D15":
             if read_data != None:
                 self.bptime_on = read_data
 
-            EventMesh.publish("get_storage_config","bpauto_time")
+            read_data=EventMesh.publish("get_storage_config","bpauto_time")
             if read_data != None:
                 self.bptime_time = read_data