######################拨号盘##################################
-# -------------------------------------------phone screen----------------------------------------------------------
-phone_screen = lv.obj()
-phone = lv.obj(phone_screen)
-phone.center()
-phone.set_size(240, 320)
-phone.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-line_points = [{"x":0,"y":0},{"x":0,"y":20}]
-phone_line = lv.line(phone)
-phone_line.set_points(line_points,2)
-phone_line.set_pos(235,74)
-phone_line.set_size(2,20)
-phone_line.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-phone_line.add_style(style_line,0)
-
-phone_label = lv.label(phone)
-phone_label.set_pos(0, 76)
-phone_label.set_size(0, 30)
-phone_label.set_text(" ")
-phone_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_label.set_long_mode(lv.label.LONG.CLIP)
-phone_label.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 0)
-
-phone_one = lv.img(phone)
-phone_one.set_src("E:/static/IMAGE_NUMBER_KEY1_ICON.jpg")
-phone_one.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_one.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_one.set_pos(3, 100)
-
-phone_two = lv.img(phone)
-phone_two.set_size(76, 40)
-phone_two.set_src("E:/static/IMAGE_NUMBER_KEY2_ICON.jpg")
-phone_two.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_two.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_two.set_pos(82, 100)
-
-phone_three = lv.img(phone)
-phone_three.set_size(76, 40)
-phone_three.set_src("E:/static/IMAGE_NUMBER_KEY3_ICON.jpg")
-phone_three.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_three.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_three.set_pos(161, 100)
-
-phone_four = lv.img(phone)
-phone_four.set_size(76, 40)
-phone_four.set_src("E:/static/IMAGE_NUMBER_KEY4_ICON.jpg")
-phone_four.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_four.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_four.set_pos(3, 142)
-
-phone_five = lv.img(phone)
-phone_five.set_size(76, 40)
-phone_five.set_src("E:/static/IMAGE_NUMBER_KEY5_ICON.jpg")
-phone_five.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_five.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_five.set_pos(82, 142)
-
-phone_six = lv.img(phone)
-phone_six.set_size(76, 40)
-phone_six.set_src("E:/static/IMAGE_NUMBER_KEY6_ICON.jpg")
-phone_six.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_six.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_six.set_pos(161, 142)
-
-phone_seven = lv.img(phone)
-phone_seven.set_size(76, 40)
-phone_seven.set_src("E:/static/IMAGE_NUMBER_KEY7_ICON.jpg")
-phone_seven.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_seven.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_seven.set_pos(3, 184)
-
-phone_eight = lv.img(phone)
-phone_eight.set_size(76, 40)
-phone_eight.set_src("E:/static/IMAGE_NUMBER_KEY8_ICON.jpg")
-phone_eight.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_eight.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_eight.set_pos(82, 184)
-
-phone_nine = lv.img(phone)
-phone_nine.set_size(76, 40)
-phone_nine.set_src("E:/static/IMAGE_NUMBER_KEY9_ICON.jpg")
-phone_nine.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_nine.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_nine.set_pos(161, 184)
-
-phone_start = lv.img(phone)
-phone_start.set_size(76, 40)
-phone_start.set_src("E:/static/IMAGE_NUMBER_KEYSTAR_ICON.jpg")
-phone_start.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_start.set_pos(3, 226)
-
-phone_zero = lv.img(phone)
-phone_zero.set_size(76, 40)
-phone_zero.set_src("E:/static/IMAGE_NUMBER_KEY0_ICON.jpg")
-phone_zero.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_zero.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_zero.set_pos(82, 226)
-
-phone_hash = lv.img(phone)
-phone_hash.set_size(76, 40)
-phone_hash.set_src("E:/static/IMAGE_NUMBER_KEYHASH_ICON.jpg")
-phone_hash.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_hash.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_hash.set_pos(161, 226)
-
-phone_call = lv.img(phone)
-phone_call.set_size(76, 40)
-phone_call.set_src("E:/static/IMAGE_BUTTON_DIAL.jpg")
-phone_call.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_call.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_call.set_pos(3, 268)
-
-phone_call_btn = lv.img(phone)
-phone_call_btn.set_size(76, 52)
-phone_call_btn.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_call_btn.set_pos(3, 268)
-
-phone_contact = lv.img(phone)
-phone_contact.set_size(64, 40)
-phone_contact.set_src("E:/static/IMAGE_BUTTON_DIAL_CONTACT.jpg")
-phone_contact.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_contact.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_contact.set_pos(87, 268)
-
-phone_contact_btn = lv.img(phone)
-phone_contact_btn.set_size(76, 52)
-phone_contact_btn.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_contact_btn.set_pos(87, 268)
-
-phone_delete = lv.img(phone)
-phone_delete.set_size(76, 40)
-phone_delete.set_src("E:/static/IMAGE_BUTTON_DELKEY.jpg")
-phone_delete.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_delete.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-phone_delete.set_pos(161, 268)
-
-phone_delete_btn = lv.img(phone)
-phone_delete_btn.set_size(76, 52)
-phone_delete_btn.add_flag(lv.obj.FLAG.CLICKABLE)
-phone_delete_btn.set_pos(161, 268)
-
-PHONE_CALL_MAX_DATA = 22
-
-class PhoneScreen(Screen):
- NAME = "Phone"
+# -------------------------------------------血氧----------------------------------------------------------
+
+
+# spo2_screen = lv.obj()
+# spo2 = lv.obj(spo2_screen)
+# spo2.center()
+# spo2.set_size(240, 320)
+# spo2.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# spo2_label = lv.label(spo2)
+# spo2_label.set_pos(0, 10)
+# spo2_label.set_size(240, 40)
+# spo2_label.set_text("血氧")
+# spo2_label.set_long_mode(lv.label.LONG.WRAP)
+# 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_done_img = lv.img(spo2)
+# spo2_done_img.set_pos(0, 50)
+# spo2_done_img.set_size(240, 96)
+# spo2_done_img.set_src("E:/static/IMAGE_SPO2_ONLY_TEST_DONE.jpg")
+
+# # spo2_finish_gif = lv.gif(spo2)
+# # spo2_finish_gif.set_pos(0, 40)
+# # spo2_finish_gif.set_size(240, 120)
+# # #spo2_finish_img.add_flag(lv.obj.FLAG.CLICKABLE)
+# # spo2_finish_gif.set_src("E:/static/IMAGE_SPO2_ONLY_ANI.gif")
+# # #spo2_finish_gif.set_opa(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+# spo2_label = lv.label(spo2)
+# 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)
+# 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)
+
+
+
+# line_points = [{"x":0,"y":0},{"x":240,"y":0}]
+# spo2_line = lv.line(spo2)
+# 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)
+# 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)
+# 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)
+
+
+# class Spo2Screen(Screen):
+# NAME = "spo2"
+
+# def __init__(self):
+# super().__init__()
+# self.meta = spo2_screen
+# self.timer = osTimer()
+# self.point = 0
+# self.old_spo2_value = 0
+# self.spo2_value = 0
+
+# def post_processor_after_initialization(self):
+# self.point = 0
+# self.spo2_value = 0
+# self.timer.start(1*1000, 1, self.start_measure)
+
+# def start_measure(self,*args):
+# self.point = self.point + 1
+# if self.point == 1:
+# self.spo2_value = 96
+# spo2_label.set_text("96 %")
+# spo2_label_1.set_text("测量中")
+
+# if self.point == 2:
+# self.spo2_value = 97
+# spo2_label.set_text("97 %")
+# spo2_label_1.set_text("测量中")
+
+# if self.point == 3:
+# self.spo2_value = 98
+# spo2_label.set_text("98 %")
+# spo2_label_1.set_text("测量中")
+
+# if self.point == 4:
+# self.spo2_value = 99
+# spo2_label.set_text("99 %")
+# spo2_label_1.set_text("测量完成")
+# self.timer.stop()
+# self.point = 0
+# self.old_spo2_value = self.spo2_value
+# time = EventMesh.publish("screen_get_time")#获取系统时间
+
+# # result = [time, time_quantum, date , week,year]
+
+# time_tmp = "{}:{}".format("%02d"%(time[0][0]),"%02d"%(time[0][1]))#时间
+# date_year = time[4]#年份
+# date_month = time[2]#日期 04月05日
+# print("date_year:{} date_month:{} time_tmp:{}".format(date_year,date_month,time_tmp))
+# spo2_last_time.set_text(str(date_year)+str(date_month)+" {}".format(str(time_tmp)))
+# spo2_last_value.set_text(str(self.old_spo2_value)+'%')
+
+# def done_return(self):
+# self.timer.stop()
+# EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+# def btn1_release(self):
+# EventMesh.publish("load_screen", {"screen": "watchface"})
+# self.timer.stop()
+
+# def btn8_press(self):
+# EventMesh.publish("load_screen", {"screen": "watchface"})
+# self.timer.stop()
+
+#-------------------------------------weather-----------------#
+weather_screen = lv.obj()
+weather = lv.obj(weather_screen)
+weather.center()
+weather.set_size(240, 320)
+weather.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+weather_img = lv.img(weather)
+weather_img.set_pos(10, 10)
+weather_img.set_size(135, 120)
+
+weather_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+weather_tem_label = lv.label(weather)
+weather_tem_label.set_pos(140, 40)
+weather_tem_label.set_size(50, 50)
+weather_tem_label.set_text("19°C")
+weather_tem_label.set_long_mode(lv.label.LONG.WRAP)
+weather_tem_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+weather_tem_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+weather_detail_label = lv.label(weather)
+weather_detail_label.set_pos(140, 80)
+weather_detail_label.set_size(50, 50)
+weather_detail_label.set_text("01/30")
+weather_detail_label.set_long_mode(lv.label.LONG.WRAP)
+weather_detail_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+weather_detail_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+weather_location_label = lv.label(weather)
+weather_location_label.set_pos(100, 200)
+weather_location_label.set_size(80, 50)
+weather_location_label.set_text("深圳市")
+weather_location_label.set_long_mode(lv.label.LONG.WRAP)
+weather_location_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+weather_location_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+class WeatherScreen(Screen):
+ NAME = "weather"
def __init__(self):
-
super().__init__()
- self.meta = phone_screen
- self.phone_num = ''
- self.phone_list = []
- self.button = 0
- self.timer = osTimer()
- self.count = 0
- phone_one.add_event_cb(lambda e: self.one(e),
- lv.EVENT.CLICKED, None)
- phone_two.add_event_cb(lambda e: self.two(e),
- lv.EVENT.CLICKED, None)
- phone_three.add_event_cb(lambda e: self.three(e),
- lv.EVENT.CLICKED, None)
- phone_four.add_event_cb(lambda e: self.four(e),
- lv.EVENT.CLICKED, None)
- phone_five.add_event_cb(lambda e: self.five(e),
- lv.EVENT.CLICKED, None)
- phone_six.add_event_cb(lambda e: self.six(e),
- lv.EVENT.CLICKED, None)
- phone_seven.add_event_cb(lambda e: self.seven(e),
- lv.EVENT.CLICKED, None)
- phone_eight.add_event_cb(lambda e: self.eight(e),
- lv.EVENT.CLICKED, None)
- phone_nine.add_event_cb(lambda e: self.nine(e),
- lv.EVENT.CLICKED, None)
- phone_zero.add_event_cb(lambda e: self.zero(e),
- lv.EVENT.CLICKED, None)
-
- phone_call_btn.add_event_cb(lambda e: self.call(e),
- lv.EVENT.CLICKED, None)
- phone_contact_btn.add_event_cb(lambda e: self.contact(e),
- lv.EVENT.CLICKED, None)
- phone_delete_btn.add_event_cb(lambda e: self.delete(e),
- lv.EVENT.CLICKED, None)
-
- phone_start.add_event_cb(lambda e: self.start(e),
- lv.EVENT.CLICKED, None)#短按显示*
-
- phone_start.add_event_cb(lambda e: self.pressed_start(e),
- lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- phone_start.add_event_cb(lambda e: self.endpressed_start(e),
- lv.EVENT.RELEASED, None)#释放按键
-
+ self.meta = weather_screen
- phone_hash.add_event_cb(lambda e: self.hash(e),
- lv.EVENT.CLICKED, None)
- def post_processor_after_instantiation(self):
- self.phone_num=''
- self.phone_list = []
-
- def initialization(self):
- self.phone_num=''
- self.phone_list = []
- self.count = 0
- phone_label.set_text(" ")
- # print("self.phone_list :{} self.phone_num:{}".format(self.phone_list,self.phone_num))
- self.timer.start(1000,1,self.refresh_line)
-
- def refresh_line(self,e):
+ def post_processor_after_initialization(self):
+ EventMesh.publish(constants.PROTOCOL.WT_SEND)
+ #weather_img.set_src(name)
- if self.count > 2 :
- self.count = 1
- if (self.count%2) == 0:
- phone_line.clear_flag(lv.obj.FLAG.HIDDEN)
- else:
- phone_line.add_flag(lv.obj.FLAG.HIDDEN)
- self.count+=1
- def one(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("1")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def two(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("2")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def three(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("3")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def four(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("4")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def five(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("5")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def six(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("6")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def seven(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("7")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def eight(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("8")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def nine(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:
- return
- self.phone_list.append("9")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def zero(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
- return
- self.phone_list.append("0")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def start(self,e):
- self.button = 0
-
- def pressed_start(self,e):
- self.button = 1
-
- def endpressed_start(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
- return
-
- if self.button == 1:#长按
- self.phone_list.append("+")
- else:#短按
- self.phone_list.append("*")
-
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def hash(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
- return
- self.phone_list.append("#")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
-
- def delete(self,e):
- if len(self.phone_list) != 0:
- self.phone_list.pop()
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def contact(self,e):
- EventMesh.publish("load_screen", {"screen": "contacts"})
-
- def call(self,e):
- self.name = None
- self.phonebook = {}
- self.number_tmp = {}
- if len(self.phone_list) != 0:
- data = EventMesh.publish("get_phonebook_list")
- check = data[0]
- self.phonebook = data[1]
- # print("check :{}".format(check))
- if check == 1:#检查通讯录
- phonebook_keys = sorted(self.phonebook.keys())
- b = str(self.phone_num) in self.phonebook.values()#查找key中是否包含content电话号码 True 包含在里面 False不包含在里面
- j = 0
- if b == True:
- for i in range(len(self.phonebook)): #字典 key value
- #'001:张三':15521469561
- name = self.phonebook[phonebook_keys[j]]
- name_value = phonebook_keys[j]
- number_tmp = str(self.phone_num)
- # print("name :{} number_tmp:{}".format(name,number_tmp))
- if name.find(number_tmp) != -1:#查找电话号码是否在通讯录里面
- number_f= name_value
- name_s = number_f.split(':')
- name_s = name_s[1]
- self.name = name_s
- break
- j+=1
- else:
- self.name = self.phone_num
- else:
- self.name = self.phone_num
-
- EventMesh.publish("save_phonenum",self.phone_num)
- EventMesh.publish("save_phonename",self.name)#
- voiceCall.callStart(self.phone_num)
-
- def show_num(self):
- len_t = len(self.phone_list)*20
- if len_t > 230:
- len_t = 230
- phone_label.set_size(len_t,30)
- phone_label.set_pos(230-len_t,76)
- phone_label.set_text(self.phone_num)
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("load_screen", {"screen": "toolbox"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "watchface"})
-
+
def btn8_press(self):
EventMesh.publish("load_screen", {"screen": "watchface"})
+class WT_ProtoCol(ProtoCol):
+ """温度数据"""
+ TYPE = "WT"
+ def send(self, event, msg):
+ # [SZKW*867387060319491*0008*PHL]
+ send_data = "SZKW*%s*0003*WT"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("WT_ProtoCol:send:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND, data)
+ def recv(self, event, msg):
+ """
+ @param event: 温度数据下发
+ @param msg: 接收到的下行数据
+ """
+ msg = msg[1:-1]
+ print("WT_ProtoCol RECV msg:%s"%(msg))
+ # UnicodeHexStr_To_Utf8Str(phonebook_tmp)
+
+
+ # EventMesh.publish(constants.PROTOCOL.WT_SEND)
+ # EventMesh.publish("set_phonebook_list",[1,phonebook])
+ # EventMesh.publish("contact_updata_list_show")
# temperature_notice_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
# temperature_notice_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-# -------------------------------------------spo2 screen----------------------------------------------------------
-spo2_screen = lv.obj()
-spo2 = lv.obj(spo2_screen)
-spo2.center()
-spo2.set_size(240, 320)
-spo2.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-spo2_label = lv.label(spo2)
-spo2_label.set_pos(0, 10)
-spo2_label.set_size(240, 40)
-spo2_label.set_text("血氧")
-spo2_label.set_long_mode(lv.label.LONG.WRAP)
-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_done_img = lv.img(spo2)
-spo2_done_img.set_pos(0, 50)
-spo2_done_img.set_size(240, 96)
-spo2_done_img.set_src("E:/static/IMAGE_SPO2_ONLY_TEST_DONE.jpg")
-
-# spo2_finish_gif = lv.gif(spo2)
-# spo2_finish_gif.set_pos(0, 40)
-# spo2_finish_gif.set_size(240, 120)
-# #spo2_finish_img.add_flag(lv.obj.FLAG.CLICKABLE)
-# spo2_finish_gif.set_src("E:/static/IMAGE_SPO2_ONLY_ANI.gif")
-# #spo2_finish_gif.set_opa(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-spo2_label = lv.label(spo2)
-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)
-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)
-
-
-
-line_points = [{"x":0,"y":0},{"x":240,"y":0}]
-spo2_line = lv.line(spo2)
-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)
-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)
-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("96%")
-spo2_last_value.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
EventMesh.publish("load_screen", {"screen": "watchface"})
+spo2_screen = lv.obj()
+spo2 = lv.obj(spo2_screen)
+spo2.center()
+spo2.set_size(240, 320)
+spo2.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+spo2_label = lv.label(spo2)
+spo2_label.set_pos(0, 10)
+spo2_label.set_size(240, 40)
+spo2_label.set_text("血氧")
+spo2_label.set_long_mode(lv.label.LONG.WRAP)
+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_done_img = lv.img(spo2)
+spo2_done_img.set_pos(0, 50)
+spo2_done_img.set_size(240, 96)
+spo2_done_img.set_src("E:/static/IMAGE_SPO2_ONLY_TEST_DONE.jpg")
+
+# spo2_finish_gif = lv.gif(spo2)
+# spo2_finish_gif.set_pos(0, 40)
+# spo2_finish_gif.set_size(240, 120)
+# #spo2_finish_img.add_flag(lv.obj.FLAG.CLICKABLE)
+# spo2_finish_gif.set_src("E:/static/IMAGE_SPO2_ONLY_ANI.gif")
+# #spo2_finish_gif.set_opa(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+spo2_label = lv.label(spo2)
+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)
+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)
+
+
+
+line_points = [{"x":0,"y":0},{"x":240,"y":0}]
+spo2_line = lv.line(spo2)
+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)
+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)
+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)
+
+
class Spo2Screen(Screen):
NAME = "spo2"
spo2_label_1.set_text("测量中")
if self.point == 2:
+ self.spo2_value = 97
spo2_label.set_text("97 %")
spo2_label_1.set_text("测量中")
if self.point == 3:
+ self.spo2_value = 98
spo2_label.set_text("98 %")
spo2_label_1.set_text("测量中")
if self.point == 4:
+ self.spo2_value = 99
spo2_label.set_text("99 %")
spo2_label_1.set_text("测量完成")
self.timer.stop()
self.point = 0
self.old_spo2_value = self.spo2_value
- # spo2_last_time.set_text()
+ time = EventMesh.publish("screen_get_time")#获取系统时间
+
+ # result = [time, time_quantum, date , week,year]
+
+ time_tmp = "{}:{}".format("%02d"%(time[0][0]),"%02d"%(time[0][1]))#时间
+ date_year = time[4]#年份
+ date_month = time[2]#日期 04月05日
+ print("date_year:{} date_month:{} time_tmp:{}".format(date_year,date_month,time_tmp))
+ spo2_last_time.set_text(str(date_year)+str(date_month)+" {}".format(str(time_tmp)))
+ spo2_last_value.set_text(str(self.old_spo2_value)+'%')
def done_return(self):
self.timer.stop()
EventMesh.publish("load_screen", {"screen": "watchface"})
self.timer.stop()
+
+
class CountdownScreen(Screen):
NAME = "countdown"