关闭活体
authorp15692025051 <846603105@qq.com>
Fri, 18 Aug 2023 08:43:26 +0000 (16:43 +0800)
committerp15692025051 <846603105@qq.com>
Fri, 18 Aug 2023 08:43:26 +0000 (16:43 +0800)
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/source/modHsensor_HX3918.c
2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui.py

index 79a6576..fa51fd3 100644 (file)
@@ -83,7 +83,7 @@ extern unsigned char Gsensor_init_flag ;
 
 #endif
 int ir_wear = 0;//红外佩戴状态
-int cap_wear = 0;//电容佩戴状态
+int cap_wear = 1;//电容佩戴状态
 
 int wear_time = 0;
 // int test_count1 = 0;
@@ -153,7 +153,7 @@ void HX3918_thread_do(void)
                        
                        //hx3918_prox_factory_hanging_cali();
                        ir_wear = hx3918_get_wear_ppg_Int_handle();
-                       cap_wear = hx3918_report_prox_status();
+                       //cap_wear = hx3918_report_prox_status();
                        
                        HX3918_LOG("ir_wear:%d cap_wear%d\n",ir_wear,cap_wear);
                        if(ir_wear == 1 && cap_wear==1)
@@ -164,7 +164,7 @@ void HX3918_thread_do(void)
                }
                
                #if CONFIG_SC7A20
-               if(ir_wear == 1 || cap_wear==1)
+               if(ir_wear == 1 && cap_wear==1)
                {
                        SL_SC7A20_PEDO_KCAL_WRIST_SLEEP_SWAY_L_ALGO();
                        
index ed35919..8e94140 100644 (file)
@@ -2547,9 +2547,9 @@ class HeartrateScreen(Screen):
                         hr_line7.set_points(hr_line_points,2)
                         hr_line7.set_pos(192,160-line_value)
                         hr_line7.set_size(10,line_value)
-                
-
-    def start_measure(self,*args):
+    def start_measure(self,*args):            
+        EventMesh.publish("publish_message_event_ui",{"func":self.start_measure_do,"data":0})
+    def start_measure_do(self,data):
         global heartrate_screen,heartrate_label,heartrate_done_img ,heartrate_reset_btn_img,heartrate_start_label,heartrate_bpm_label ,heartrate_done_label
         self.point = self.point + 1
         EventMesh.publish("system_sleep_rest")#防止黑屏
@@ -4218,6 +4218,8 @@ class TemperatureScreen(Screen):
                             temp_line7.set_style_line_color(lv.color_make(35,141,255),0)
             
     def start_measure(self,*args):
+        EventMesh.publish("publish_message_event_ui",{"func":self.start_measure_do,"data":0})
+    def start_measure_do(self,data):
         global temperature_label,temperature_keep_label,temperature_done_img ,temp_reset_btn_img,temperature_start_label,temperature_bpm_label ,temperature_done_label
         self.point = self.point + 1
         EventMesh.publish("system_sleep_rest")#防止黑屏
@@ -4308,147 +4310,6 @@ class TemperatureScreen(Screen):
         EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
-  
-# class TemperatureScreen(Screen):
-#     NAME = "temperature"
-
-#     def __init__(self):
-#         super().__init__()
-#         self.meta = None
-#         self.temp_timer = osTimer()
-#         self.count = 0
-#     def initialization(self):
-#         global temperature_screen,temperature_bg_img ,temperature_body_label ,temperature_degree_img ,temperature_value_label,\
-#             temperature_wrist_label,temperature_wrist_degree_img ,temperature_wrist_value_label,temperature_measure_end_label,temperature_measure_countdown_label
-#         if temperature_screen == None:
-#             temperature_screen = lv.obj()
-#             print("temperature_screen")
-#             temperature_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             temperature_bg_img = lv.img(temperature_screen)
-#             temperature_bg_img.set_pos(30, 50)
-#             temperature_bg_img.set_size(31, 32)
-#             temperature_bg_img.set_src("E:/static/temp_hand.png")
-#             temperature_bg_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             temperature_body_label = lv.label(temperature_screen)
-#             temperature_body_label.set_pos(80, 40)
-#             temperature_body_label.set_size(160, 20)
-#             temperature_body_label.set_text("当前腕温")
-#             temperature_body_label.set_long_mode(lv.label.LONG.WRAP)
-#             temperature_body_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-#             temperature_body_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             temperature_degree_img = lv.img(temperature_screen)
-#             temperature_degree_img.set_pos(146, 70)
-#             temperature_degree_img.set_size(22, 22)
-#             temperature_degree_img.set_src("U:/static/degree.png")
-#             temperature_degree_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             temperature_value_label = lv.label(temperature_screen)
-#             temperature_value_label.set_pos(90,73)
-#             temperature_value_label.set_size(50, 30)
-#             temperature_value_label.set_text("--")
-#             temperature_value_label.set_long_mode(lv.label.LONG.WRAP)
-#             temperature_value_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             temperature_value_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             # temperature_wrist_label = lv.label(temperature_screen)
-#             # temperature_wrist_label.set_pos(80,120)
-#             # temperature_wrist_label.set_size(100, 20)
-#             # temperature_wrist_label.set_text("当前腕温")
-#             # temperature_wrist_label.set_long_mode(lv.label.LONG.WRAP)
-#             # temperature_wrist_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             # temperature_wrist_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             # temperature_wrist_degree_img = lv.img(temperature_screen)
-#             # temperature_wrist_degree_img.set_pos(150, 150)
-#             # temperature_wrist_degree_img.set_size(22, 22)
-#             # temperature_wrist_degree_img.set_src("U:/static/degree.png")
-#             # temperature_wrist_degree_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             # temperature_wrist_value_label = lv.label(temperature_screen)
-#             # temperature_wrist_value_label.set_pos(96,155)
-#             # temperature_wrist_value_label.set_size(50, 30)
-#             # temperature_wrist_value_label.set_text("--")
-#             # temperature_wrist_value_label.set_long_mode(lv.label.LONG.WRAP)
-#             # temperature_wrist_value_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             # temperature_wrist_value_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             temperature_measure_countdown_label = lv.label(temperature_screen)
-#             temperature_measure_countdown_label.set_pos(0,160)
-#             temperature_measure_countdown_label.set_size(240, 30)
-#             temperature_measure_countdown_label.set_text("03:00")
-#             temperature_measure_countdown_label.set_long_mode(lv.label.LONG.WRAP)
-#             temperature_measure_countdown_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             temperature_measure_countdown_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             temperature_measure_end_label = lv.label(temperature_screen)
-#             temperature_measure_end_label.set_pos(0,220)
-#             temperature_measure_end_label.set_size(240, 30)
-#             temperature_measure_end_label.set_text(" ")
-#             temperature_measure_end_label.set_long_mode(lv.label.LONG.WRAP)
-#             temperature_measure_end_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             temperature_measure_end_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-#             self.meta = temperature_screen
-#         if temperature_value_label != None:
-#             temperature_value_label.set_text("--")
-#         if temperature_measure_end_label != None:
-#             temperature_measure_end_label.set_text(" ")
-#         if temperature_measure_countdown_label != None:
-#             temperature_measure_countdown_label.set_text("03:00")
-#         EventMesh.publish("set_temp_state",1)
-#         EventMesh.publish(constants.EVENT.START_TEMP)
-#         self.count = 0
-#         self.countdown = 3*60
-#         self.temp_timer.start(1*1000, 1, self.temp_timerout)
-#     def temp_timerout(self,*args):
-#         global temperature_value_label,temperature_measure_countdown_label,temperature_measure_end_label
-#         self.count += 1
-#         EventMesh.publish("system_sleep_rest")#防止黑屏
-#         temp = EventMesh.publish(constants.EVENT.GET_TEMP) 
-#         tmp = str(temp).split('.')[0] + '.' + str(temp).split('.')[1][:1]#获取小数点后一位 舍去小数点最后一位
-#         if temperature_measure_end_label != None:
-#             temperature_value_label.set_text("{}".format(tmp))
-
-#         tmp_f = str(temp).split('.')[0] 
-#         tmp_f_tmp = int(tmp_f)
-
-#         tmp_d = str(temp).split('.')[1][:1]
-#         tmp_d_tmp = int(tmp_d)
-        
-#         if self.countdown > 0:
-#             self.countdown-=1
-#         min = self.countdown / 60
-#         sec = self.countdown % 60
-#         if temperature_measure_countdown_label != None:
-#             temperature_measure_countdown_label.set_text("{}:{}".format("%02d"%(min),"%02d"%(sec)))
-
-#         # print("temp:{} tmp_f:{} tmp_f_tmp:{} tmp_d:{} tmp_d_tmp:{} self.count:{}".format(temp,tmp_f,tmp_f_tmp,tmp_d,tmp_d_tmp,self.count)) 
-#         if self.count >= 3*60:
-#             self.count = 0
-#             EventMesh.publish("set_temp_state",0)
-#             if temperature_measure_end_label != None:
-#                 temperature_measure_end_label.set_text("测量完成")
-#             self.temp_timer.stop()
-#             EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp])
-#             EventMesh.publish(constants.EVENT.STOP_TEMP)
-#     def Close(self):
-#         self.count = 0
-#         self.temp_timer.stop()
-#         EventMesh.publish("set_temp_state",0)
-#         EventMesh.publish(constants.EVENT.STOP_TEMP)
-        
-#     def done_return(self):
-#         EventMesh.publish("load_screen", {"screen": "health"})
-
-#     def btn1_release(self):
-#         EventMesh.publish("load_screen", {"screen": "health"})
-        
-#     def btn8_press(self):
-#         EventMesh.publish("watch_top_show")
-#         EventMesh.publish("load_screen", {"screen": "main_menu"})
-
 
 
 line_points = [{"x":0,"y":0},{"x":240,"y":0}]
@@ -4678,6 +4539,8 @@ class Spo2Screen(Screen):
                         spo2_line7.set_size(10,line_value)
                
     def start_measure(self,*args):
+        EventMesh.publish("publish_message_event_ui",{"func":self.start_measure_do,"data":0})
+    def start_measure_do(self,data):    
         global spo2_screen,spo2_label,spo2_start_label,spo2_value_label,spo2_done_img ,spo2_reset_btn_img 
         self.point = self.point + 1
         EventMesh.publish("system_sleep_rest")#防止黑屏
@@ -4761,154 +4624,6 @@ class Spo2Screen(Screen):
 
 
 
-# class Spo2Screen(Screen):
-#     NAME = "spo2"
-
-#     def __init__(self):
-#         super().__init__()
-#         self.meta = None
-#         self.timer = osTimer()
-#         self.point = 0
-#         self.spo2_value = 0
-#         self.last_spo2_value = 0
-#         self.rtc = RTC()
-
-#     def initialization(self):
-#         global spo2_screen ,spo2_label_0 ,spo2_done_img ,spo2_label ,spo2_label_1 ,spo2_line ,spo2_last_time,spo2_last_value 
-#         if spo2_screen == None:
-#             spo2_screen = lv.obj()
-#             print("spo2_screen")
-#             spo2_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             spo2_label_0 = lv.label(spo2_screen)
-#             spo2_label_0.set_pos(0, 10)
-#             spo2_label_0.set_size(240, 40)
-#             spo2_label_0.set_text("血氧")
-#             spo2_label_0.set_long_mode(lv.label.LONG.WRAP)
-#             spo2_label_0.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             spo2_label_0.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             spo2_done_img = lv.img(spo2_screen)
-#             spo2_done_img.set_pos(89, 50)
-#             spo2_done_img.set_size(62, 84)
-#             spo2_done_img.set_src("E:/static/IMAGE_SPO2_ONLY_TEST_DONE.png")
-
-#             spo2_label = lv.label(spo2_screen)
-#             spo2_label.set_size(240,30)
-#             spo2_label.set_pos(0,160)
-#             spo2_label.set_text(" ")
-#             spo2_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             spo2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-#             spo2_label_1 = lv.label(spo2_screen)
-#             spo2_label_1.set_size(240,40)
-#             spo2_label_1.set_pos(0,200)
-#             spo2_label_1.set_text("测量中.")
-#             spo2_label_1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             spo2_label_1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-            
-#             spo2_line = lv.line(spo2_screen)
-#             spo2_line.set_points(line_points,2)
-#             spo2_line.set_pos(0,240)
-#             spo2_line.set_size(240,10)
-#             spo2_line.add_style(style_line,0)
-
-#             spo2_last_time = lv.label(spo2_screen)
-#             spo2_last_time.set_size(240, 15)
-#             spo2_last_time.set_pos(0, 250)
-#             spo2_last_time.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-#             spo2_last_time.set_text(" ")
-#             spo2_last_time.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-#             spo2_last_value = lv.label(spo2_screen)
-#             spo2_last_value.set_size(240, 15)
-#             spo2_last_value.set_pos(0, 280)
-#             spo2_last_value.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-#             spo2_last_value.set_text(" ")
-#             spo2_last_value.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-#             self.meta = spo2_screen
-
-#         self.point = 0
-#         self.spo2_value = 0
-#         self.timer.start(1*1000, 1, self.start_measure)
-#         EventMesh.publish("set_spo2_state",1)#2代表后台进入血氧测试
-#         EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)
-#         self.last_spo2_value = EventMesh.publish("get_old_spo2_data")
-#         spo2_label.set_text("--%")
-#         if self.last_spo2_value == 0:
-#             spo2_last_value.set_text(" ")
-#         else:
-#             spo2_last_value.set_text("{}%".format(self.last_spo2_value))
-
-#     def start_measure(self,*args):
-#         global spo2_screen ,spo2_label_0 ,spo2_done_img ,spo2_label ,spo2_label_1 ,spo2_line ,spo2_last_time,spo2_last_value 
-#         self.point = self.point + 1
-#         EventMesh.publish("system_sleep_rest")#防止黑屏
-#         self.spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-#         if self.spo2_value == 0:
-#             spo2_label.set_text("--%")
-#         else:
-#             spo2_label.set_text("{} %".format(self.spo2_value))
-#         if self.point%4 == 0 :
-#             spo2_label_1.set_text("测量中..")
-#         if self.point%4 == 1 :
-#             spo2_label_1.set_text("测量中...")
-#         if self.point%4 == 2 :
-#             spo2_label_1.set_text("测量中....")
-#         if self.point%4 == 3 :
-#             spo2_label_1.set_text("测量中.")
-
-#         if self.point > 60: #测20s
-#             self.spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-#             # print("ui self.spo2_value :{}".format(self.spo2_value))
-#             if self.spo2_value > 85 and self.spo2_value != None:
-#                 EventMesh.publish("set_old_spo2_data",self.spo2_value)
-#                 EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,self.spo2_value)
-#             spo2_label.set_text("{} %".format(self.spo2_value))
-#             if self.spo2_value == 0:
-#                 spo2_label.set_text(" ")
-#                 spo2_label_1.set_text("退出,请重新测量")
-#                 self.last_spo2_value = EventMesh.publish("get_old_spo2_data")
-#                 spo2_last_value.set_text(" ")
-#             else:
-#                 self.last_spo2_value = self.spo2_value
-#                 spo2_last_value.set_text("{}%".format(self.last_spo2_value))
-#                 spo2_label_1.set_text("测量完成")
-#                 time = EventMesh.publish("screen_get_time")
-#                 #print("time ",time)
-#                 rtc_time = self.rtc.datetime()
-#                 time_time ="  {}:{}".format("%02d"%(time[0][0]),"%02d"%(time[0][1]))#测量时间
-#                 spo2_last_time.set_text(str(rtc_time[0])+'/'+str(rtc_time[1])+'/'+str(rtc_time[2])+str(time_time))
-            
-            
-
-#             self.timer.stop()
-#             self.point = 0
-#             EventMesh.publish("set_spo2_state",0)#0代表关闭测试
-#             EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
-#             # spo2_last_time.set_text()
-
-#     def Close(self):
-#         self.timer.stop()
-#         get_hr_state = EventMesh.publish("get_hr_state")
-#         get_spo2_state = EventMesh.publish("get_spo2_state")
-#         if get_hr_state == 1 or get_spo2_state == 1:
-#             EventMesh.publish("set_spo2_state",0)#0代表关闭测试
-#             EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
-
-#     def done_return(self):
-#         EventMesh.publish("load_screen", {"screen": "health"})
-
-#     def btn1_release(self):
-#         EventMesh.publish("load_screen", {"screen": "health"})
-        
-#     def btn8_press(self):
-#         EventMesh.publish("watch_top_show")
-#         EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
-