msg_detail_cont = lv.label(msg_detail_screen)
msg_detail_cont.set_pos(0, 50)
- msg_detail_cont.set_size(240, 200)
+ msg_detail_cont.set_size(240, 270)
msg_detail_cont.set_long_mode(lv.label.LONG.WRAP)
msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
msg_detail_cont.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
else:
temperature_keep_label.set_text("体温正常")
temperature_keep_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
- if self.point > 120 * 2: #测2min
+ if self.point > 120 : #测2min
if temp >= 37.3:
temperature_done_img.set_src("E:/static/temp_high.png")
spo2_line = None
spo2_last_time = None
spo2_last_value = None
+heartrate_screen = None
+heartrate_label = None
+heartrate_done_img = None
+heartrate_start_label = None
+heartrate_bpm_label = None
+heartrate_done_label = None
+heartrate_line_bg_img = None
+spo2_line1 = None
+spo2_line2 = None
+spo2_line3 = None
+spo2_line4 = None
+spo2_line5 = None
+spo2_line6 = None
+spo2_line7 = None
+spo2_reset_btn_img = None
+spo2_label = None
+spo2_line_bg_img = None
+spo2_done_img = None
+spo2_done_label = None
+spo2_value_label = None
+spo2_start_label = None
+
+style_line_red = lv.style_t()
+style_line_red.init()
+style_line_red.set_line_width(10)
+style_line_red.set_line_color(lv.color_make(0xff, 0x00, 0x00))
+
+spo2_line_points = [{"x":0,"y":0},{"x":0,"y":0}]
+
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
+ global spo2_screen,spo2_label,spo2_value_label,spo2_reset_btn_img,spo2_done_img,spo2_line_bg_img,spo2_line1,spo2_line2,\
+ spo2_line3,spo2_line4,spo2_line5,spo2_line6,spo2_line7,spo2_line_bg_img ,spo2_start_label ,spo2_done_label
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.set_pos(0, 20)
+ spo2_label.set_size(240, 40)
+ spo2_label.set_text("血氧")
+ spo2_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
+ spo2_label.set_long_mode(lv.label.LONG.WRAP)
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_bg_img = lv.img(spo2_screen)
+ spo2_line_bg_img.set_pos(5, 60)
+ spo2_line_bg_img.set_size(230, 120)
+ spo2_line_bg_img.set_src("E:/static/spo2_line_bg.png")
- 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)
+ spo2_done_img = lv.img(spo2_screen)
+ spo2_done_img.set_pos(20, 240)
+ spo2_done_img.set_src("E:/static/spo2_gif04.png")
+
+ spo2_reset_btn_img = lv.img(spo2_screen)
+ spo2_reset_btn_img.set_pos(0, 192)
+ spo2_reset_btn_img.set_src("E:/static/reset_hr_btn.png")
+ spo2_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
+ spo2_reset_btn_img.add_flag(lv.obj.FLAG.CLICKABLE)
+
+ spo2_start_label = lv.label(spo2_screen)
+ spo2_start_label.set_size(240,40)
+ spo2_start_label.set_pos(0,200)
+ spo2_start_label.set_text(" ")
+ spo2_start_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
+ spo2_start_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ spo2_start_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+
+
+ spo2_line1 = lv.line(spo2_screen)
+ spo2_line1.set_points(spo2_line_points,2)
+ spo2_line1.set_pos(25,60)
+ spo2_line1.set_size(10,0)
+ spo2_line1.add_style(style_line_red,0)
+
+ spo2_line2 = lv.line(spo2_screen)
+ spo2_line2.set_points(spo2_line_points,2)
+ spo2_line2.set_pos(53,60)
+ spo2_line2.set_size(10,0)
+ spo2_line2.add_style(style_line_red,0)
+
+ spo2_line3 = lv.line(spo2_screen)
+ spo2_line3.set_points(spo2_line_points,2)
+ spo2_line3.set_pos(80,60)
+ spo2_line3.set_size(10,0)
+ spo2_line3.add_style(style_line_red,0)
+
+ spo2_line4 = lv.line(spo2_screen)
+ spo2_line4.set_points(spo2_line_points,2)
+ spo2_line4.set_pos(109,60)
+ spo2_line4.set_size(10,0)
+ spo2_line4.add_style(style_line_red,0)
+
+ spo2_line5 = lv.line(spo2_screen)
+ spo2_line5.set_points(spo2_line_points,2)
+ spo2_line5.set_pos(136,60)
+ spo2_line5.set_size(10,0)
+ spo2_line5.add_style(style_line_red,0)
+
+ spo2_line6 = lv.line(spo2_screen)
+ spo2_line6.set_points(spo2_line_points,2)
+ spo2_line6.set_pos(164,60)
+ spo2_line6.set_size(10,0)
+ spo2_line6.add_style(style_line_red,0)
+
+ spo2_line7 = lv.line(spo2_screen)
+ spo2_line7.set_points(spo2_line_points,2)
+ spo2_line7.set_pos(192,60)
+ spo2_line7.set_size(10,0)
+ spo2_line7.add_style(style_line_red,0)
+
+ spo2_value_label = lv.label(spo2_screen)
+ spo2_value_label.set_size(110, 40)
+ spo2_value_label.set_pos(130, 270)
+ spo2_value_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ spo2_value_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+
+
self.meta = spo2_screen
+ spo2_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
+ lv.EVENT.CLICKED, None)
+ def post_processor_after_initialization(self):
self.point = 0
self.spo2_value = 0
- self.timer.start(1*1000, 1, self.start_measure)
+ self.show_history_data()
+ self.restart_up(0)
+
+ def restart_up(self,e):
+ global spo2_value_label,heartrate_bpm_label,spo2_start_label,spo2_reset_btn_img
+ self.timer.start(1*500, 1, self.start_measure)
+ if spo2_reset_btn_img != None:
+ spo2_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
+ self.point = 0
+
+ spo2_value_label.set_text("- -%")
+ spo2_start_label.set_text("正在测量中.")
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 show_history_data(self):
+ global spo2_line1,spo2_line2,spo2_line3,spo2_line4,spo2_line5,spo2_line6,spo2_line7
+ read_data = {}
+ read_data = EventMesh.publish("get_history_spo2_value")
+ print("hr get_history_spo2_value",read_data)
+ if read_data != None:
+ count = len(read_data)
+ if count != 0:
+ if count >= 7:
+ for i in range(count):
+ value = read_data["0{}".format(i+1)]
+ if value < 80:
+ value = 80
+ if value >= 100:
+ value = 100
+ if value <= 85:
+ value = value - 80
+ line_value = int(value*6)
+ elif value <= 90:
+ value = value-85
+ line_value = int((17/5)*value)+30
+ elif value <= 95:
+ value = value-90
+ line_value = int((21/5)*value)+47
+ elif value <= 100:
+ value = value-95
+ line_value = int((16/5)*value)+68
+
+
+ if line_value >= 100:
+ line_value = 100
+ #print("hr hist",line_value)
+ hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
+ if i == 0:
+ spo2_line1.set_points(hr_line_points,2)
+ spo2_line1.set_pos(25,160-line_value)
+ spo2_line1.set_size(10,line_value)
+ if i == 1:
+ spo2_line2.set_points(hr_line_points,2)
+ spo2_line2.set_pos(53,160-line_value)
+ spo2_line2.set_size(10,line_value)
+
+ if i == 2:
+ spo2_line3.set_points(hr_line_points,2)
+ spo2_line3.set_pos(80,160-line_value)
+ spo2_line3.set_size(10,line_value)
+
+ if i == 3:
+ spo2_line4.set_points(hr_line_points,2)
+ spo2_line4.set_pos(109,160-line_value)
+ spo2_line4.set_size(10,line_value)
+
+ if i == 4:
+ spo2_line5.set_points(hr_line_points,2)
+ spo2_line5.set_pos(136,160-line_value)
+ spo2_line5.set_size(10,line_value)
+
+ if i == 5:
+ spo2_line6.set_points(hr_line_points,2)
+ spo2_line6.set_pos(164,160-line_value)
+ spo2_line6.set_size(10,line_value)
+
+ if i == 6:
+ spo2_line7.set_points(hr_line_points,2)
+ spo2_line7.set_pos(192,160-line_value)
+ spo2_line7.set_size(10,line_value)
+ else:
+ value = read_data["0{}".format(count)]
+ if value < 80:
+ value = 80
+ if value >= 100:
+ value = 100
+
+ if value <= 85:
+ value = value - 80
+ line_value = int(value*6)
+ elif value <= 90:
+ value = value-85
+ line_value = int((17/5)*value)+30
+ elif value <= 95:
+ value = value-90
+ line_value = int((21/5)*value)+47
+ elif value <= 100:
+ value = value-95
+ line_value = int((16/5)*value)+68
+
+
+ if line_value >= 100:
+ line_value = 100
+ #
+ hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
+ if count == 1:
+ spo2_line1.set_points(hr_line_points,2)
+ spo2_line1.set_pos(25,160-line_value)
+ spo2_line1.set_size(10,line_value)
+ if count == 2:
+ spo2_line2.set_points(hr_line_points,2)
+ spo2_line2.set_pos(53,160-line_value)
+ spo2_line2.set_size(10,line_value)
+
+ if count == 3:
+ spo2_line3.set_points(hr_line_points,2)
+ spo2_line3.set_pos(80,160-line_value)
+ spo2_line3.set_size(10,line_value)
+
+ if count == 4:
+ spo2_line4.set_points(hr_line_points,2)
+ spo2_line4.set_pos(109,160-line_value)
+ spo2_line4.set_size(10,line_value)
+
+ if count == 5:
+ spo2_line5.set_points(hr_line_points,2)
+ spo2_line5.set_pos(136,160-line_value)
+ spo2_line5.set_size(10,line_value)
+
+ if count == 6:
+ spo2_line6.set_points(hr_line_points,2)
+ spo2_line6.set_pos(164,160-line_value)
+ spo2_line6.set_size(10,line_value)
+
+ if count == 7:
+ spo2_line7.set_points(hr_line_points,2)
+ spo2_line7.set_pos(192,160-line_value)
+ spo2_line7.set_size(10,line_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
+ 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")#防止黑屏
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 >= 2:
+ if self.spo2_value != 0:
+ spo2_value_label.set_text("{}%".format(self.spo2_value))
+ else:
+ spo2_value_label.set_text("- - %")
+
if self.point%4 == 0 :
- spo2_label_1.set_text("测量中..")
+ spo2_start_label.set_text("正在测量中..")
+ spo2_done_img.set_src("E:/static/spo2_gif03.png")
+
if self.point%4 == 1 :
- spo2_label_1.set_text("测量中...")
+ spo2_start_label.set_text("正在测量中...")
+ spo2_done_img.set_src("E:/static/spo2_gif02.png")
+
if self.point%4 == 2 :
- spo2_label_1.set_text("测量中....")
+ spo2_start_label.set_text("正在测量中.")
+ spo2_done_img.set_src("E:/static/spo2_gif01.png")
+
if self.point%4 == 3 :
- spo2_label_1.set_text("测量中.")
+ spo2_start_label.set_text("正在测量中.")
+ spo2_done_img.set_src("E:/static/spo2_gif04.png")
- if self.point > 60: #测20s
+
+
+ if self.point > 120: #测20s
+ spo2_done_img.set_src("E:/static/spo2_gif04.png")
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:
+ if self.spo2_value >= 85:
EventMesh.publish("set_old_spo2_data",self.spo2_value)
+ EventMesh.publish("set_history_spo2_value",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))
+ spo2_reset_btn_img.clear_flag(lv.obj.FLAG.HIDDEN)
+ if self.spo2_value != 0:
+ spo2_start_label.set_text("测量结束,点击重测")
+ spo2_value_label.set_text("{}%".format(self.spo2_value))
+ # heartrate_done_label.set_text("测量完成")
+ else:
+ spo2_value_label.set_text("- - %")
+ spo2_start_label.set_text("测量异常,点击重测")
+
+ self.show_history_data()
self.timer.stop()
self.point = 0
EventMesh.publish("set_spo2_state",0)#0代表关闭测试
+ print("stop debug9")
EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
- # spo2_last_time.set_text()
def Close(self):
self.timer.stop()
def btn8_press(self):
EventMesh.publish("watch_top_show")
EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+
+
+
+# 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"})
+
+
+
+
+
+
+
# -------------------------------------------countdown screen----------------------------------------------------------
countdown_screen = None
countdown_title = None