修改字体
authord15521469561 <d155214695615@qq.com>
Fri, 5 May 2023 12:29:54 +0000 (20:29 +0800)
committerd15521469561 <d155214695615@qq.com>
Fri, 5 May 2023 12:29:54 +0000 (20:29 +0800)
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/appAlipay.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/appWechat.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/mgr.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui_main_menu.py
2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui_setting.py

index 2375db3..5bf65c1 100644 (file)
@@ -15,7 +15,7 @@ from ui import Screen
 style_font_youyuan_20 = lv.style_t()
 style_font_youyuan_20.init()
 style_font_youyuan_20.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-style_font_youyuan_20.set_text_font_v2("font_22.bin",22,0)
+style_font_youyuan_20.set_text_font_v2("font_24.bin",24,0)
 
 style_btn_alipay = lv.style_t()
 style_btn_alipay.init()
@@ -383,6 +383,7 @@ class AlipayOpenScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 alipay_1_1_screen = lv.obj()
index 6dd3def..2ec4df0 100644 (file)
@@ -54,21 +54,21 @@ wechat_press_label.set_text("请按住说话")
 wechat_press_label.align(lv.ALIGN.CENTER, 10, 0)
 wechat_press_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
-# wechat_label = lv.label(wechat_screen)
-# wechat_label.center()
-# wechat_label.set_size(240, 40)
-# wechat_label.set_long_mode(lv.label.LONG.WRAP)
-# wechat_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# wechat_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+wechat_label = lv.label(wechat_screen)
+wechat_label.center()
+wechat_label.set_size(240, 40)
+wechat_label.set_long_mode(lv.label.LONG.WRAP)
+wechat_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+wechat_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 
-# wechat_press_label_countdown = lv.label(wechat_screen)
-# wechat_press_label_countdown.set_pos(100, 100)
-# wechat_press_label_countdown.set_size(40, 40)
-# wechat_press_label_countdown.set_text(" ")
-# wechat_press_label_countdown.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-# wechat_press_label_countdown.set_long_mode(lv.label.LONG.WRAP)
-# wechat_press_label_countdown.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 0)
+wechat_press_label_countdown = lv.label(wechat_screen)
+wechat_press_label_countdown.set_pos(100, 100)
+wechat_press_label_countdown.set_size(40, 40)
+wechat_press_label_countdown.set_text(" ")
+wechat_press_label_countdown.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+wechat_press_label_countdown.set_long_mode(lv.label.LONG.WRAP)
+wechat_press_label_countdown.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 0)
 
 
 
@@ -115,10 +115,10 @@ class WechatScreen(Screen):
             self.volum_size = 8
         self.aud.setVolume(self.volum_size)
         self.meta = wechat_screen
-        # wechat_press_btn.add_event_cb(lambda e: self.talking(e),
-        #                              lv.EVENT.LONG_PRESSED, None)
-        # wechat_press_btn.add_event_cb(lambda e: self.sending(e),
-        #                              lv.EVENT.RELEASED, None)
+        wechat_press_btn.add_event_cb(lambda e: self.talking(e),
+                                     lv.EVENT.LONG_PRESSED, None)
+        wechat_press_btn.add_event_cb(lambda e: self.sending(e),
+                                     lv.EVENT.RELEASED, None)
         self.timer = osTimer()
         self.second_timer = osTimer()
         self.play_timer = osTimer()
@@ -128,7 +128,7 @@ class WechatScreen(Screen):
         self.startY = 0
         self.startWidth = 0
         self.check_json = 0
-        self.wechat_list = wechat_screen
+        self.wechat_list =lv.obj()
         EventMesh.subscribe("wechat_updata_list_show", self.wechat_updata_list_show)
         EventMesh.subscribe("get_wechat_data", self.get_wechat_data)
         EventMesh.subscribe("set_wechat_data", self.set_wechat_data)
@@ -163,8 +163,8 @@ class WechatScreen(Screen):
 
     def wechat_updata_list_show(self, event, msg): 
         if (self.wechat_list.has_flag(lv.obj.FLAG.HIDDEN)) == False:
-            # wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
-            # wechat_label.set_text("接收中")
+            wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
+            wechat_label.set_text("接收中")
             self.updata_list_show(2)
             self.timer.start(1 * 1000, 0, self.reciving)
     
@@ -176,7 +176,7 @@ class WechatScreen(Screen):
             if self.wechat_num != 0:
                 if index == 0:
                     self.wechat_list.clear_flag(lv.obj.FLAG.HIDDEN)
-                    # wechat_label.add_flag(lv.obj.FLAG.HIDDEN)
+                    wechat_label.add_flag(lv.obj.FLAG.HIDDEN)
                 elif index == 2 or index == 1:
                     #读取json文件中的键作为label文本;
                     #print("self.wechat_list.self.wechat_num:{}".format(self.wechat_num))
@@ -216,11 +216,13 @@ class WechatScreen(Screen):
                         else:
                             if count > 0:
                                 count-=1
-                            continue
                             print('键不存在于字典中')
+                            continue
+
+                            
                     
                         value = self.wechat_recode_list[key]
-                        print("value:{}".format(value))
+                        # print("value:{}".format(value))
                         self.startY = 52*count 
                         if value.find("S:") != -1 or value.find("R:") != -1:
                             msg_tmp = value[2:] 
@@ -232,8 +234,8 @@ class WechatScreen(Screen):
                             size = len(msg_tmp)
                             self.startWidth = size*20
                             # print("self.startWidth :{} size:{}".format(self.startWidth,size))
-                            if self.startWidth > 200:
-                                self.startWidth = 200
+                            if self.startWidth > 230:
+                                self.startWidth = 230
                         
                         wechat_btn = lv.btn(self.wechat_list)
                         # if value.find("R:") != -1:
@@ -259,7 +261,7 @@ class WechatScreen(Screen):
                             _btn_label1.set_pos(self.startWidth-72, 8)
                             _btn_label1.set_text(str(msg_tmp)+'\"')
                         elif value.find("T:") != -1:
-                            _btn_label1.set_size(200, 60)
+                            _btn_label1.set_size(230, 40)
                             _btn_label1.set_pos(0, 0)
                             _btn_label1.set_text(str(msg_tmp))
                             _btn_label1.set_long_mode(lv.label.LONG.DOT)
@@ -290,10 +292,10 @@ class WechatScreen(Screen):
                     bottom_btn1.scroll_to_view(lv.ANIM.OFF)    
 
     def initialization(self):
-        # wechat_label.set_text(" ")
-        # wechat_label.add_flag(lv.obj.FLAG.HIDDEN)
-        # wechat_press_label_countdown.add_flag(lv.obj.FLAG.HIDDEN)
-        # self.wechat_list.clear_flag(lv.obj.FLAG.HIDDEN)
+        wechat_label.set_text(" ")
+        wechat_label.add_flag(lv.obj.FLAG.HIDDEN)
+        wechat_press_label_countdown.add_flag(lv.obj.FLAG.HIDDEN)
+        self.wechat_list.clear_flag(lv.obj.FLAG.HIDDEN)
         #读取json文件中的字典放到self.phonebook中
         #创建btn
         self.updata_list_show(1)
@@ -306,10 +308,10 @@ class WechatScreen(Screen):
         self.aud.stop()
         self.wechat_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏列表选项方框
         self.countdown = 1
-        # wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
-        # wechat_label.set_text("松开发送")
-        # wechat_press_label_countdown.clear_flag(lv.obj.FLAG.HIDDEN)
-        # wechat_press_label_countdown.set_text("{}S".format(str(self.countdown)))
+        wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
+        wechat_label.set_text("松开发送")
+        wechat_press_label_countdown.clear_flag(lv.obj.FLAG.HIDDEN)
+        wechat_press_label_countdown.set_text("{}S".format(str(self.countdown)))
         
 
         self.updata_list_show(2)#不需要显示语音列表
@@ -329,10 +331,10 @@ class WechatScreen(Screen):
      #松开发送   
     def sending(self,e):
         if self.press_state == 1:
-            # wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
-            # wechat_label.set_text("发送中")
-            # wechat_press_label_countdown.add_flag(lv.obj.FLAG.HIDDEN)
-            # wechat_press_label_countdown.set_text(" ")
+            wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
+            wechat_label.set_text("发送中")
+            wechat_press_label_countdown.add_flag(lv.obj.FLAG.HIDDEN)
+            wechat_press_label_countdown.set_text(" ")
 
             if self.countdown >= 15:
                 self.countdown = 15 
@@ -434,8 +436,8 @@ class WechatScreen(Screen):
     #松手2秒后发送数据
     def hide_label(self,*args):
         if self.ble_send != 1:
-            # wechat_label.add_flag(lv.obj.FLAG.HIDDEN)
-            # wechat_label.set_text(" ")
+            wechat_label.add_flag(lv.obj.FLAG.HIDDEN)
+            wechat_label.set_text(" ")
             self.updata_list_show(0)
 
      #获取是否在录音
@@ -460,7 +462,7 @@ class WechatScreen(Screen):
 
         if self.countdown >= 15:
             self.countdown = 15
-        # wechat_press_label_countdown.set_text("{}S".format(str(self.countdown)))
+        wechat_press_label_countdown.set_text("{}S".format(str(self.countdown)))
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
@@ -469,6 +471,7 @@ class WechatScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 #微聊弹窗
 
index 2c5803e..06d1a4f 100644 (file)
@@ -517,7 +517,7 @@ class DeviceInfoManager(Abstract):
 
         self.old_time = 0
         self.UD_time = 0
-
+        self.upload_time = 0
         self.UD_timeout = 7*60
         print("DeviceInfoManager:1")
         self.gsensor = SC7A20()
@@ -606,9 +606,13 @@ class DeviceInfoManager(Abstract):
         if  math.fabs(time_tmp - self.KA_time) > 7*60: #7分钟一次心跳
             self.KA_time = time_tmp
             EventMesh.publish(constants.PROTOCOL.KA_SEND)
-        if  math.fabs(time_tmp - self.UD_time) > self.UD_timeout: #7分钟一次定位
-            self.UD_time = time_tmp
-            EventMesh.publish(constants.EVENT.START_LOCATION) #开始定位
+        self.upload_time = EventMesh.publish("get_upload_data")
+        print("self.upload_time:{}".format(self.upload_time))
+        if self.upload_time != None:
+            if  math.fabs(time_tmp - self.UD_time) > self.upload_time: #7分钟一次定位
+                self.UD_time = time_tmp
+                if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:
+                    EventMesh.publish(constants.EVENT.START_LOCATION) #开始定位
         EventMesh.publish(constants.EVENT.PUSH_STEP, self.get_step_count())
 
         hr_time = EventMesh.publish("get_time_hr_spo2")#获取时间是否大于0
@@ -655,262 +659,277 @@ class DeviceInfoManager(Abstract):
                 EventMesh.publish("load_screen", {"screen": "message_full"})
         
         #print("hr......01....{}\r\n".format(hr_time))
-        if hr_time != None:
-            # print("hr......01....{}\r\n".format(hr_time))
-            if hr_time > 0:
-                # print("get_hr_state:{} get_spo2_state:{} self.old_time:{} hr_time:{}".format(self.get_hr_state,self.get_spo2_state,self.old_time,hr_time))
-                if self.get_hr_state != 1 and self.get_spo2_state != 1:
-                    if self.get_hr_state == 0 and self.get_spo2_state == 0:
-                        if self.HR_state == 0 or self.HR_state == 3:
+        if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:
+            if hr_time != None:
+                # print("hr......01....{}\r\n".format(hr_time))
+                if hr_time > 0:
+                    # print("get_hr_state:{} get_spo2_state:{} self.old_time:{} hr_time:{}".format(self.get_hr_state,self.get_spo2_state,self.old_time,hr_time))
+                    if self.get_hr_state != 1 and self.get_spo2_state != 1:
+                        if self.get_hr_state == 0 and self.get_spo2_state == 0:
+                            if self.HR_state == 0 or self.HR_state == 3:
+                                self.HR_Onestate = 0
+                                self.HR_OneTime = 0
+                        
+                        if self.old_time != hr_time:#重复修改测量间隔时间
+                            self.SENSOR_time = time_tmp#防止改变时间的时候正在开启测量突然10s就停止测量
+                            if self.get_hr_state == 2 and self.HR_state == 1:#自动检测的心率还在测量立马关了测试
+                                heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
+                                if heart_value > 50 and heart_value != None:
+                                    EventMesh.publish("set_old_hr_data",heart_value)
+                                    EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)
+                                EventMesh.publish(constants.EVENT.STOP_HEART)
+                                self.HR_state = 0
+                            elif self.get_spo2_state == 2 and self.HR_state == 2:
+                                self.HR_state = 0
+                                spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
+                                if spo2_value > 85 and spo2_value != None:
+                                    EventMesh.publish("set_old_spo2_data",spo2_value)
+                                    EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
+                                EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
+                        self.old_time = hr_time
+
+                        if self.HR_state == 3 or self.HR_state == 0:#
+                            if (time_tmp - self.SENSOR_time) >= hr_time:
+                                if self.get_spo2_state == 3 or self.get_hr_state == 3:#单次测量没有完毕优先测量间隔时间测量的
+                                    if self.get_hr_state == 3:
+                                        EventMesh.publish(constants.EVENT.STOP_HEART)
+                                        heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
+                                        if heart_value > 50 and heart_value != None:
+                                            EventMesh.publish("set_old_hr_data",heart_value)
+                                            EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)
+                                        
+                                    elif self.get_spo2_state == 3:
+                                        EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
+                                        spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
+                                        if spo2_value > 85 and spo2_value != None:
+                                            EventMesh.publish("set_old_spo2_data",spo2_value)
+                                            EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
+
+                                    self.HR_state = 0
+                                    self.SENSOR_time = time_tmp
+                                self.SENSOR_time = time_tmp
+                                self.HR_state = 0
+                            
+                        #print("time_tmp :{} self.SENSOR_time :{} time_tmp - self.SENSOR_time:{} self.HR_state:{}".format(time_tmp,self.SENSOR_time,time_tmp - self.SENSOR_time,self.HR_state))
+                        if (time_tmp - self.SENSOR_time) == 0 and self.HR_state == 0:
+                            print("START_HEART:1")
+                            EventMesh.publish("set_hr_state",2)#2代表后台进入测试
+                            EventMesh.publish(constants.EVENT.START_HEART)
+                            self.HR_state = 1
                             self.HR_Onestate = 0
                             self.HR_OneTime = 0
-                    
-                    if self.old_time != hr_time:#重复修改测量间隔时间
-                        self.SENSOR_time = time_tmp#防止改变时间的时候正在开启测量突然10s就停止测量
-                        if self.get_hr_state == 2 and self.HR_state == 1:#自动检测的心率还在测量立马关了测试
+                        elif (time_tmp - self.SENSOR_time) >= 60 and self.HR_state == 1:
+                            EventMesh.publish("set_hr_state",0)#2代表后台进入测试
+                            EventMesh.publish(constants.EVENT.STOP_HEART)
                             heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
+                            print("heart_value:{}".format(heart_value))
                             if heart_value > 50 and heart_value != None:
                                 EventMesh.publish("set_old_hr_data",heart_value)
-                                EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)
-                            EventMesh.publish(constants.EVENT.STOP_HEART)
-                            self.HR_state = 0
-                        elif self.get_spo2_state == 2 and self.HR_state == 2:
-                            self.HR_state = 0
+                                EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
+                            #获取心率数据上传数据app
+                            print("STOP_HEART:")
+                            EventMesh.publish("set_spo2_state",2)#2代表后台进入血氧测试
+                            EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
+                            print("START_BLOOD_OXYGEN:")
+                            self.HR_state = 2
+                        elif (time_tmp - self.SENSOR_time) >= 120 and self.HR_state == 2:
+                            print("STOP_BLOOD_OXYGEN:")
+                            EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
+                            EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#停止血氧测试
                             spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
+                            print("spo2_value:{}".format(spo2_value))
                             if spo2_value > 85 and spo2_value != None:
                                 EventMesh.publish("set_old_spo2_data",spo2_value)
                                 EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
-                            EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
-                    self.old_time = hr_time
-
-                    if self.HR_state == 3 or self.HR_state == 0:#
-                        if (time_tmp - self.SENSOR_time) >= hr_time:
-                            if self.get_spo2_state == 3 or self.get_hr_state == 3:#单次测量没有完毕优先测量间隔时间测量的
+                            self.HR_state = 3
+                        
+                    else:
+                        self.SENSOR_time = time_tmp
+                        self.HR_state = 0
+                        self.old_time = 0 
+                    if self.HR_state == 3 or self.HR_state == 0:#只有不在测量的时候才测单次的
+                        if self.get_spo2_state == 3 or self.get_hr_state == 3:#单次测量
+                            self.HR_state = 0
+                            self.HR_OneTime+=1
+                            if self.HR_OneTime == 1 and self.HR_Onestate == 0:
+                                print("hr..........\r\n")
                                 if self.get_hr_state == 3:
+                                    self.Hr_Need_Open = 1
+                                    EventMesh.publish("set_hr_state",3)#2代表后台进入测试
+                                    EventMesh.publish(constants.EVENT.START_HEART)
+                                else:
+                                    self.Hr_Need_Open = 0
+
+                                if self.get_spo2_state == 3 and self.Hr_Need_Open == 0:
+                                    self.Spo2_Need_Open = 1
+                                    EventMesh.publish("set_spo2_state",3)#2代表后台进入测试
+                                    EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
+                                else:
+                                    self.Spo2_Need_Open = 0
+                                self.HR_Onestate = 1
+                                # print("self.HR_Onestate....3..:{} {} {} {} {}".format(self.HR_Onestate,self.get_hr_state,self.get_spo2_state,self.Hr_Need_Open,self.Spo2_Need_Open))
+                            elif self.HR_OneTime > 6 and self.HR_Onestate == 1:
+                                # print("self.HR_Onestate...4....:{} {} {} {} {}".format(self.HR_Onestate,self.get_hr_state,self.get_spo2_state,self.Hr_Need_Open,self.Spo2_Need_Open))
+                                if self.Hr_Need_Open == 1:#需要关闭心率测量
                                     EventMesh.publish(constants.EVENT.STOP_HEART)
                                     heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
                                     if heart_value > 50 and heart_value != None:
+                                        EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
                                         EventMesh.publish("set_old_hr_data",heart_value)
-                                        EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)
+                            
+                                    if self.Spo2_Need_Open == 0 and self.get_spo2_state == 3:
+                                        EventMesh.publish("set_spo2_state",3)#2代表后台进入血氧测试
+                                        EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
+                                        
+                                        self.HR_Onestate = 2
+                                        self.set_hsenor_crt = 2#血氧关闭
+                                    else:
+                                        self.HR_Onestate = 0
+                                        self.HR_OneTime = 0
+                                        self.set_hsenor_crt = 0#
                                     
-                                elif self.get_spo2_state == 3:
-                                    EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
+                                        EventMesh.publish("set_hr_state",0)#2代表后台进入血氧测试
+                                        EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
+                                else:
+                                    if self.Spo2_Need_Open == 1:#停止测试血氧
+                                        EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
+                                        EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#K开血氧
+                                        spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
+                                    
+                                        if spo2_value > 85 and spo2_value != None:
+                                            EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
+                                            EventMesh.publish("set_old_spo2_data",spo2_value)
+                                        if self.Hr_Need_Open == 0 and self.get_hr_state == 3:
+                                            EventMesh.publish("set_hr_state",3)#2代表后台进入测试
+                                            EventMesh.publish(constants.EVENT.START_HEART)
+                                            self.HR_Onestate = 2
+                                            self.set_hsenor_crt = 1#心率
+                                        else:
+                                            self.HR_Onestate = 0
+                                            self.HR_OneTime = 0
+                                            self.set_hsenor_crt = 2#血氧关闭
+                                        
+                                        
+                            elif self.HR_OneTime > 6+6 and self.HR_Onestate == 2:
+                                print("HR_OneTime:....05")
+                                if self.set_hsenor_crt == 2:
+                                    EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
+                                    EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#停止血氧测试
                                     spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
                                     if spo2_value > 85 and spo2_value != None:
-                                        EventMesh.publish("set_old_spo2_data",spo2_value)
                                         EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
-
-                                self.HR_state = 0
-                                self.SENSOR_time = time_tmp
-                            self.SENSOR_time = time_tmp
-                            self.HR_state = 0
+                                        EventMesh.publish("set_old_spo2_data",spo2_value)
+                                elif self.set_hsenor_crt == 1:
+                                    EventMesh.publish("set_hr_state",0)#0代表g关闭测试
+                                    EventMesh.publish(constants.EVENT.STOP_HEART)
+                                    heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
+                                    if heart_value > 50 and heart_value != None:
+                                        EventMesh.publish("set_old_hr_data",heart_value)
+                                        EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
+                                self.HR_Onestate = 0
+                        else:
+                            self.HR_Onestate = 0
+                            self.HR_OneTime = 0
                         
-                    #print("time_tmp :{} self.SENSOR_time :{} time_tmp - self.SENSOR_time:{} self.HR_state:{}".format(time_tmp,self.SENSOR_time,time_tmp - self.SENSOR_time,self.HR_state))
-                    if (time_tmp - self.SENSOR_time) == 0 and self.HR_state == 0:
-                        print("START_HEART:1")
-                        EventMesh.publish("set_hr_state",2)#2代表后台进入测试
-                        EventMesh.publish(constants.EVENT.START_HEART)
-                        self.HR_state = 1
-                        self.HR_Onestate = 0
-                        self.HR_OneTime = 0
-                    elif (time_tmp - self.SENSOR_time) >= 60 and self.HR_state == 1:
-                        EventMesh.publish("set_hr_state",0)#2代表后台进入测试
-                        EventMesh.publish(constants.EVENT.STOP_HEART)
-                        heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
-                        print("heart_value:{}".format(heart_value))
-                        if heart_value > 50 and heart_value != None:
-                            EventMesh.publish("set_old_hr_data",heart_value)
-                            EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
-                        #获取心率数据上传数据app
-                        print("STOP_HEART:")
-                        EventMesh.publish("set_spo2_state",2)#2代表后台进入血氧测试
-                        EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
-                        print("START_BLOOD_OXYGEN:")
-                        self.HR_state = 2
-                    elif (time_tmp - self.SENSOR_time) >= 120 and self.HR_state == 2:
-                        print("STOP_BLOOD_OXYGEN:")
-                        EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
-                        EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#停止血氧测试
-                        spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-                        print("spo2_value:{}".format(spo2_value))
-                        if spo2_value > 85 and spo2_value != None:
-                            EventMesh.publish("set_old_spo2_data",spo2_value)
-                            EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
-                        self.HR_state = 3
-                    
                 else:
-                    self.SENSOR_time = time_tmp
-                    self.HR_state = 0
-                    self.old_time = 0 
-                if self.HR_state == 3 or self.HR_state == 0:#只有不在测量的时候才测单次的
-                    if self.get_spo2_state == 3 or self.get_hr_state == 3:#单次测量
-                        self.HR_state = 0
-                        self.HR_OneTime+=1
-                        if self.HR_OneTime == 1 and self.HR_Onestate == 0:
-                            print("hr..........\r\n")
-                            if self.get_hr_state == 3:
-                                self.Hr_Need_Open = 1
-                                EventMesh.publish("set_hr_state",3)#2代表后台进入测试
-                                EventMesh.publish(constants.EVENT.START_HEART)
-                            else:
-                                self.Hr_Need_Open = 0
-
-                            if self.get_spo2_state == 3 and self.Hr_Need_Open == 0:
-                                self.Spo2_Need_Open = 1
-                                EventMesh.publish("set_spo2_state",3)#2代表后台进入测试
-                                EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
-                            else:
-                                self.Spo2_Need_Open = 0
-                            self.HR_Onestate = 1
-                            # print("self.HR_Onestate....3..:{} {} {} {} {}".format(self.HR_Onestate,self.get_hr_state,self.get_spo2_state,self.Hr_Need_Open,self.Spo2_Need_Open))
-                        elif self.HR_OneTime > 6 and self.HR_Onestate == 1:
-                            # print("self.HR_Onestate...4....:{} {} {} {} {}".format(self.HR_Onestate,self.get_hr_state,self.get_spo2_state,self.Hr_Need_Open,self.Spo2_Need_Open))
-                            if self.Hr_Need_Open == 1:#需要关闭心率测量
-                                EventMesh.publish(constants.EVENT.STOP_HEART)
-                                heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
-                                if heart_value > 50 and heart_value != None:
-                                    EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
-                                    EventMesh.publish("set_old_hr_data",heart_value)
-                           
-                                if self.Spo2_Need_Open == 0 and self.get_spo2_state == 3:
-                                    EventMesh.publish("set_spo2_state",3)#2代表后台进入血氧测试
+                    # print("hr......01....{} {} self.HR_Onestate {} {}".format(self.get_hr_state,self.get_spo2_state,self.HR_OneTime,self.HR_Onestate))
+                    self.SENSOR_time = time_tmp#进入最后一次的时间戳
+                    self.old_time = 0
+
+                    if self.get_hr_state != 1 and self.get_spo2_state != 1:#没有设置间隔时间单次测量
+                        if self.get_spo2_state == 3 or self.get_hr_state == 3:#单次测量
+                            self.HR_state = 0
+                            self.HR_OneTime+=1
+                            if self.HR_OneTime == 1 and self.HR_Onestate == 0:
+                                if self.get_hr_state == 3:
+                                    self.Hr_Need_Open = 1
+                                    EventMesh.publish("set_hr_state",3)#2代表后台进入测试
+                                    EventMesh.publish(constants.EVENT.START_HEART)
+                                else:
+                                    self.Hr_Need_Open = 0
+
+                                if self.get_spo2_state == 3 and self.Hr_Need_Open == 0:
+                                    self.Spo2_Need_Open = 1
+                                    EventMesh.publish("set_spo2_state",3)#2代表后台进入测试
                                     EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
-                                    
-                                    self.HR_Onestate = 2
-                                    self.set_hsenor_crt = 2#血氧关闭
                                 else:
-                                    self.HR_Onestate = 0
-                                    self.HR_OneTime = 0
-                                    self.set_hsenor_crt = 0#
-                                 
-                                    EventMesh.publish("set_hr_state",0)#2代表后台进入血氧测试
-                                    EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
-                            else:
-                                if self.Spo2_Need_Open == 1:#停止测试血氧
-                                    EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
-                                    EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#K开血氧
-                                    spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-                                 
-                                    if spo2_value > 85 and spo2_value != None:
-                                        EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
-                                        EventMesh.publish("set_old_spo2_data",spo2_value)
-                                    if self.Hr_Need_Open == 0 and self.get_hr_state == 3:
-                                        EventMesh.publish("set_hr_state",3)#2代表后台进入测试
-                                        EventMesh.publish(constants.EVENT.START_HEART)
+                                    self.Spo2_Need_Open = 0
+                                self.HR_Onestate = 1
+                        
+                            elif self.HR_OneTime > 6 and self.HR_Onestate == 1:
+                                print("stop_heart Onec ")
+                                if self.Hr_Need_Open == 1:#需要关闭心率测量
+                                    EventMesh.publish(constants.EVENT.STOP_HEART)
+                                    heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
+                                    print("stop_heart heart_value:{}".format(heart_value))
+                                    if heart_value > 50 and heart_value != None:
+                                        EventMesh.publish("set_old_hr_data",heart_value)
+                                        EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
+                                    if self.Spo2_Need_Open == 0 and self.get_spo2_state == 3:
+                                        EventMesh.publish("set_spo2_state",3)#2代表后台进入血氧测试
+                                        EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
                                         self.HR_Onestate = 2
-                                        self.set_hsenor_crt = 1#心率
+                                        self.set_hsenor_crt = 2#血氧关闭
                                     else:
                                         self.HR_Onestate = 0
                                         self.HR_OneTime = 0
-                                        self.set_hsenor_crt = 2#血氧关闭
-                                    
-                                    
-                        elif self.HR_OneTime > 6+6 and self.HR_Onestate == 2:
-                            print("HR_OneTime:....05")
-                            if self.set_hsenor_crt == 2:
-                                EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
-                                EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#停止血氧测试
-                                spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-                                if spo2_value > 85 and spo2_value != None:
-                                    EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
-                                    EventMesh.publish("set_old_spo2_data",spo2_value)
-                            elif self.set_hsenor_crt == 1:
-                                EventMesh.publish("set_hr_state",0)#0代表g关闭测试
-                                EventMesh.publish(constants.EVENT.STOP_HEART)
-                                heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
-                                if heart_value > 50 and heart_value != None:
-                                    EventMesh.publish("set_old_hr_data",heart_value)
-                                    EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
-                            self.HR_Onestate = 0
-                    else:
-                        self.HR_Onestate = 0
-                        self.HR_OneTime = 0
-                     
-            else:
-                # print("hr......01....{} {} self.HR_Onestate {} {}".format(self.get_hr_state,self.get_spo2_state,self.HR_OneTime,self.HR_Onestate))
-                self.SENSOR_time = time_tmp#进入最后一次的时间戳
-                self.old_time = 0
-
-                if self.get_hr_state != 1 and self.get_spo2_state != 1:#没有设置间隔时间单次测量
-                    if self.get_spo2_state == 3 or self.get_hr_state == 3:#单次测量
-                        self.HR_state = 0
-                        self.HR_OneTime+=1
-                        if self.HR_OneTime == 1 and self.HR_Onestate == 0:
-                            if self.get_hr_state == 3:
-                                self.Hr_Need_Open = 1
-                                EventMesh.publish("set_hr_state",3)#2代表后台进入测试
-                                EventMesh.publish(constants.EVENT.START_HEART)
-                            else:
-                                self.Hr_Need_Open = 0
-
-                            if self.get_spo2_state == 3 and self.Hr_Need_Open == 0:
-                                self.Spo2_Need_Open = 1
-                                EventMesh.publish("set_spo2_state",3)#2代表后台进入测试
-                                EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
-                            else:
-                                self.Spo2_Need_Open = 0
-                            self.HR_Onestate = 1
-                      
-                        elif self.HR_OneTime > 6 and self.HR_Onestate == 1:
-                            print("stop_heart Onec ")
-                            if self.Hr_Need_Open == 1:#需要关闭心率测量
-                                EventMesh.publish(constants.EVENT.STOP_HEART)
-                                heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
-                                print("stop_heart heart_value:{}".format(heart_value))
-                                if heart_value > 50 and heart_value != None:
-                                    EventMesh.publish("set_old_hr_data",heart_value)
-                                    EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
-                                if self.Spo2_Need_Open == 0 and self.get_spo2_state == 3:
-                                    EventMesh.publish("set_spo2_state",3)#2代表后台进入血氧测试
-                                    EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)#K开血氧
-                                    self.HR_Onestate = 2
-                                    self.set_hsenor_crt = 2#血氧关闭
+                                        self.set_hsenor_crt = 0#
+                                        EventMesh.publish("set_hr_state",0)#2代表后台进入血氧测试
+                                        EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
                                 else:
-                                    self.HR_Onestate = 0
-                                    self.HR_OneTime = 0
-                                    self.set_hsenor_crt = 0#
-                                    EventMesh.publish("set_hr_state",0)#2代表后台进入血氧测试
+                                    if self.Spo2_Need_Open == 1:#停止测试血氧
+                                        EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
+                                        EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#K开血氧
+                                        spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
+                                        print("spo2_value:{}.......01..".format(spo2_value))
+                                        if spo2_value > 85 and spo2_value != None:
+                                            EventMesh.publish("set_old_spo2_data",spo2_value)
+                                            EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
+                                        if self.Hr_Need_Open == 0 and self.get_hr_state == 3:
+                                            EventMesh.publish("set_hr_state",3)#2代表后台进入测试
+                                            EventMesh.publish(constants.EVENT.START_HEART)
+                                            self.HR_Onestate = 2
+                                            self.set_hsenor_crt = 1#心率
+                                        else:
+                                            self.HR_Onestate = 0
+                                            self.HR_OneTime = 0
+                                            self.set_hsenor_crt = 2#血氧关闭
+                                        print("STOP_BLOOD_OXYGEN:....06.....")
+                                        
+                            elif self.HR_OneTime > 6+6 and self.HR_Onestate == 2:
+                                if self.set_hsenor_crt == 2:
                                     EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
-                            else:
-                                if self.Spo2_Need_Open == 1:#停止测试血氧
-                                    EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
-                                    EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#K开血氧
+                                    EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#停止血氧测试
                                     spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-                                    print("spo2_value:{}.......01..".format(spo2_value))
                                     if spo2_value > 85 and spo2_value != None:
                                         EventMesh.publish("set_old_spo2_data",spo2_value)
                                         EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
-                                    if self.Hr_Need_Open == 0 and self.get_hr_state == 3:
-                                        EventMesh.publish("set_hr_state",3)#2代表后台进入测试
-                                        EventMesh.publish(constants.EVENT.START_HEART)
-                                        self.HR_Onestate = 2
-                                        self.set_hsenor_crt = 1#心率
-                                    else:
-                                        self.HR_Onestate = 0
-                                        self.HR_OneTime = 0
-                                        self.set_hsenor_crt = 2#血氧关闭
-                                    print("STOP_BLOOD_OXYGEN:....06.....")
-                                    
-                        elif self.HR_OneTime > 6+6 and self.HR_Onestate == 2:
-                            if self.set_hsenor_crt == 2:
-                                EventMesh.publish("set_spo2_state",0)#2代表后台进入血氧测试
-                                EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)#停止血氧测试
-                                spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-                                if spo2_value > 85 and spo2_value != None:
-                                    EventMesh.publish("set_old_spo2_data",spo2_value)
-                                    EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,spo2_value)
-                            elif self.set_hsenor_crt == 1:
-                                EventMesh.publish("set_hr_state",0)#0代表g关闭测试
-                                EventMesh.publish(constants.EVENT.STOP_HEART)
-                                heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
-                                if heart_value > 50 and heart_value != None:
-                                    EventMesh.publish("set_old_hr_data",heart_value)
-                                    EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
+                                elif self.set_hsenor_crt == 1:
+                                    EventMesh.publish("set_hr_state",0)#0代表g关闭测试
+                                    EventMesh.publish(constants.EVENT.STOP_HEART)
+                                    heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
+                                    if heart_value > 50 and heart_value != None:
+                                        EventMesh.publish("set_old_hr_data",heart_value)
+                                        EventMesh.publish(constants.PROTOCOL.HEART_SEND,heart_value)#上传心率数据
+                                self.HR_Onestate = 0
+                        else:
                             self.HR_Onestate = 0
-                    else:
-                        self.HR_Onestate = 0
-                        self.HR_OneTime = 0
-            
+                            self.HR_OneTime = 0
+        else:
+            if self.get_hr_state == 3 or self.get_spo2_state == 3:#3单次测量
+                if self.get_hr_state == 3:
+                    EventMesh.publish("set_hr_state",0)#2代表后台进入测试,定时测心率 1ui界面测试洗心率 
+                    EventMesh.publish(constants.EVENT.STOP_HEART) 
+                elif self.get_spo2_state == 3:
+                    EventMesh.publish("set_spo2_state",0)#2代表后台进入测试
+                    EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
+            self.SENSOR_time = time_tmp
+            self.HR_Onestate = 0
+            self.HR_OneTime = 0
+            self.HR_state = 0
+            self.old_time = 0    
+            self.set_hsenor_crt = 0
+
         voiceCall.setCallback(voice_callback)
             
         #quecgnss.gnssEnable(0)  
@@ -1714,6 +1733,7 @@ class getHrTimeManager(Abstract):
         self.set_time = 0
         self.set_hr = 0 #0关闭 1手动 2 自动测量按照时间间隔测试心率
         self.set_spo2 = 0
+        self.upload_time = 1800
         check = ql_fs.path_exists("/ext/static/storage_file/config.json")
         if check == True:
             with open("/ext/static/storage_file/config.json","r") as fd:
@@ -1731,6 +1751,7 @@ class getHrTimeManager(Abstract):
         EventMesh.subscribe("set_spo2_state", self.set_spo2_state)
         EventMesh.subscribe("get_spo2_state", self.get_spo2_state)
 
+
     def set_time_hr_spo2(self, event, msg): 
         self.set_time = msg
 
@@ -1749,6 +1770,7 @@ class getHrTimeManager(Abstract):
 
     def get_spo2_state(self, event, msg): 
         return self.set_spo2
+    
         
 class getBrightnessManager(Abstract):#获取亮度级别
     def __init__(self):
@@ -1822,6 +1844,29 @@ class getStorageDataManager(Abstract):#获取内存数据
 
     def get_storage_data(self, event, msg): 
         return self.read_data 
+
+#定位频率
+class getUpLoadDataManager(Abstract):#
+    def __init__(self):
+        self.upload_time = 1800
+        check = ql_fs.path_exists("/ext/static/storage_file/config.json")
+        if check == True:
+            with open("/ext/static/storage_file/config.json","r") as fd:
+                self.read_data = ujson.load(fd)
+                if self.read_data != {}:
+                    b = str("upload_time") in self.read_data.keys()
+                    if b == True:
+                        self.upload_time = self.read_data["upload_time"]   
+
+    def post_processor_after_instantiation(self):
+        EventMesh.subscribe("set_upload_data", self.set_upload_data)
+        EventMesh.subscribe("get_upload_data", self.get_upload_data)
+
+    def set_upload_data(self, event, msg): 
+        self.upload_time = msg
+
+    def get_upload_data(self, event, msg): 
+        return self.upload_time 
     
 class getVolumSizeManager(Abstract):#设置或获取音量大小数据
     def __init__(self):
index 0cc0125..e5d9b18 100644 (file)
@@ -34,7 +34,7 @@ style_screen.set_pad_bottom(0)
 style_font_youyuan_20 = lv.style_t()
 style_font_youyuan_20.init()
 style_font_youyuan_20.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-style_font_youyuan_20.set_text_font_v2("font_22.bin",22,0)
+style_font_youyuan_20.set_text_font_v2("font_24.bin",24,0)
 
 style_font_youyuan_40 = lv.style_t()
 style_font_youyuan_40.init()
@@ -44,7 +44,7 @@ style_font_youyuan_40.set_text_font_v2("font_40.bin",40,0)
 style_font_youyuan_20_black = lv.style_t()
 style_font_youyuan_20_black.init()
 style_font_youyuan_20_black.set_text_color(lv.color_make(0x00, 0x00, 0x00))
-style_font_youyuan_20_black.set_text_font_v2("font_22.bin",22,0)
+style_font_youyuan_20_black.set_text_font_v2("font_24.bin",24,0)
 
 
 class LabelStyle(object):
@@ -605,6 +605,7 @@ class PhoneScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -689,67 +690,68 @@ class CallLogScreen(Screen):
     def btn_create(self):
         global call_log_screen,contacts_cont_list ,call_log_title ,none_call_log_title 
         h = 0
-        if self.check_json == True and len(self.read_call_log) != 0:
-            none_call_log_title.set_text(" ")
-            self.call_log_detail_list.delete()#先删除一次控件
-            self.call_log_detail_list = lv.obj(call_log_screen)
-            self.call_log_detail_list.set_pos(0, 50)
-            self.call_log_detail_list.set_size(240, 270)
-            self.call_log_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-            self.call_log_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-            sort_tmp = self.read_call_log.values()
-            sort_new = sorted(sort_tmp, key = lambda i: i['timesec'],reverse = True)#按照时间戳进行排序 去掉最旧的一次数据如果满了五十条
-            # print("self.call_log :{} \r\n sort_new:{}\r\n".format(self.read_call_log,sort_new))
-            
-            for sort_new_tmp in sort_new: #字典 key value
-                num_count = sort_new_tmp["count"]#获取通话次数
-                num_name = sort_new_tmp["name"]#获取名称
-                num_phonnum = sort_new_tmp["number"]#获取电话号码
-                num_time = sort_new_tmp["time"]#获取电话号码
-
-                # print("num_count :{} num_name:{} num_time:{}".format(num_count,num_name,num_time))
-                _btn = lv.btn(self.call_log_detail_list)
-                _btn.set_size(240,80)
-                _btn.set_pos(0,82*h)
-                _btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
-                _btn.add_event_cb(lambda e: self.calling(e),
-                                        lv.EVENT.CLICKED, None)
+        if call_log_screen != None:
+            if self.check_json == True and len(self.read_call_log) != 0:
+                none_call_log_title.set_text(" ")
+                self.call_log_detail_list.delete()#先删除一次控件
+                self.call_log_detail_list = lv.obj(call_log_screen)
+                self.call_log_detail_list.set_pos(0, 50)
+                self.call_log_detail_list.set_size(240, 270)
+                self.call_log_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+                self.call_log_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+                sort_tmp = self.read_call_log.values()
+                sort_new = sorted(sort_tmp, key = lambda i: i['timesec'],reverse = True)#按照时间戳进行排序 去掉最旧的一次数据如果满了五十条
+                # print("self.call_log :{} \r\n sort_new:{}\r\n".format(self.read_call_log,sort_new))
+                
+                for sort_new_tmp in sort_new: #字典 key value
+                    num_count = sort_new_tmp["count"]#获取通话次数
+                    num_name = sort_new_tmp["name"]#获取名称
+                    num_phonnum = sort_new_tmp["number"]#获取电话号码
+                    num_time = sort_new_tmp["time"]#获取电话号码
+
+                    # print("num_count :{} num_name:{} num_time:{}".format(num_count,num_name,num_time))
+                    _btn = lv.btn(self.call_log_detail_list)
+                    _btn.set_size(240,80)
+                    _btn.set_pos(0,82*h)
+                    _btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+                    _btn.add_event_cb(lambda e: self.calling(e),
+                                            lv.EVENT.CLICKED, None)
 
 
-                _btn_label2 = lv.label(_btn)
-                _btn_label2.set_pos(0, 5)
-                _btn_label2.set_size(0, 25)
-                _btn_label2.set_text(num_phonnum)
-                #_btn_label2.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-                #
-                _btn_label3 = lv.label(_btn)
-                _btn_label3.set_pos(0, 0)
-                _btn_label3.set_size(0, 0)
-                _btn_label3.set_text("(" + str(num_count) + ")")
-                # _btn_label3.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-                _btn_label4 = lv.label(_btn)
-                _btn_label4.set_pos(0, 38)
-                _btn_label4.set_size(230, 30)
-                _btn_label4.set_text(num_phonnum)
-                _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-                _btn_label4 = lv.label(_btn)
-                _btn_label4.set_pos(0, 5)
-                _btn_label4.set_size(0, 0)
-                _btn_label4.set_text(num_name)
-                # _btn_label4.set_long_mode(lv.obj.LONG.DOT)
-                # _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-                _btn_label5 = lv.label(_btn)
-                _btn_label5.set_pos(0, 5)
-                _btn_label5.set_size(230, 28)
-                _btn_label5.set_text(num_name)
-                _btn_label5.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
-                h = h + 1
-        else:
-            none_call_log_title.set_text("暂无记录")
-            self.call_log_detail_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
+                    _btn_label2 = lv.label(_btn)
+                    _btn_label2.set_pos(0, 5)
+                    _btn_label2.set_size(0, 25)
+                    _btn_label2.set_text(num_phonnum)
+                    #_btn_label2.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+                    #
+                    _btn_label3 = lv.label(_btn)
+                    _btn_label3.set_pos(0, 0)
+                    _btn_label3.set_size(0, 0)
+                    _btn_label3.set_text("(" + str(num_count) + ")")
+                    # _btn_label3.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+                    _btn_label4 = lv.label(_btn)
+                    _btn_label4.set_pos(0, 38)
+                    _btn_label4.set_size(230, 30)
+                    _btn_label4.set_text(num_phonnum)
+                    _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+                    _btn_label4 = lv.label(_btn)
+                    _btn_label4.set_pos(0, 5)
+                    _btn_label4.set_size(0, 0)
+                    _btn_label4.set_text(num_name)
+                    # _btn_label4.set_long_mode(lv.obj.LONG.DOT)
+                    # _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+                    _btn_label5 = lv.label(_btn)
+                    _btn_label5.set_pos(0, 5)
+                    _btn_label5.set_size(230, 28)
+                    _btn_label5.set_text(num_name)
+                    _btn_label5.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+                    h = h + 1
+            else:
+                none_call_log_title.set_text("暂无记录")
+                self.call_log_detail_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
         
     def calling(self,e):
             global call_log_screen,contacts_cont_list ,call_log_title ,none_call_log_title 
@@ -1289,7 +1291,7 @@ class MsgDetailScreen(Screen):
             msg_detail_cont.set_pos(0, 50)
             msg_detail_cont.set_size(240, 200)
             msg_detail_cont.set_long_mode(lv.label.LONG.WRAP)
-            msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+            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)
             self.meta = msg_detail_screen
         #获取字符串
@@ -1437,6 +1439,7 @@ class HeartrateScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     
@@ -1544,6 +1547,7 @@ class ToolboxScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
@@ -1911,10 +1915,11 @@ class StepScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "toolbox"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "toolbox"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 # -------------------------------------------weather screen----------------------------------------------------------
 
@@ -2067,10 +2072,11 @@ class WeatherScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "toolbox"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "toolbox"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 import audio
 from machine import Pin
@@ -2231,6 +2237,7 @@ class ContactsScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 # -------------------------------------------temperature screen----------------------------------------------------------
@@ -2302,7 +2309,7 @@ class TemperatureScreen(Screen):
             temperature_wrist_value_label = lv.label(temperature_screen)
             temperature_wrist_value_label.set_pos(100,150)
             temperature_wrist_value_label.set_size(50, 20)
-            temperature_wrist_value_label.set_text("24.9")
+            temperature_wrist_value_label.set_text("24.9℃")
             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)
@@ -2315,6 +2322,7 @@ class TemperatureScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         
     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}]
@@ -2366,7 +2374,7 @@ class Spo2Screen(Screen):
             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_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)
 
@@ -2414,13 +2422,13 @@ class Spo2Screen(Screen):
         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 :
+        if self.point%4 == 1 :
             spo2_label_1.set_text("测量中...")
-        if self.point%4 == 3 :
+        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)
@@ -2467,6 +2475,7 @@ class Spo2Screen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 # -------------------------------------------countdown screen----------------------------------------------------------
 countdown_screen = None 
@@ -2885,12 +2894,14 @@ class CountdownScreen(Screen):
     def btn1_release(self):
         if self.g_state == 0:
             self.timer.stop()
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "toolbox"})
         
     def btn8_press(self):
         if self.g_state == 0:
             self.timer.stop()
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
+
 #结束倒计时显示图标
 countdown_end_screen = None
 countdown_end_img = None
@@ -3151,12 +3162,13 @@ class StopwatchScreen(Screen):
     def btn1_release(self):
         if self.s_state == 0:
             self.timer.stop()
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "toolbox"})
         
     def btn8_press(self):
         if self.s_state == 0:
             self.timer.stop()
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
        
 FIND_screen = None
 watchface_mpsignal_img = None
@@ -3342,6 +3354,7 @@ class UI(object):
         EventMesh.subscribe("btn8_long_press", self.btn_press)
 
         EventMesh.subscribe("btn1_release", self.btn_release)
+        EventMesh.subscribe("btn8_release", self.btn_release)
 
         EventMesh.subscribe("done_left_to_right", self.ui_press)
         EventMesh.subscribe("done_right_to_left", self.ui_press)
@@ -3401,15 +3414,23 @@ class UI(object):
             return
         # if event == "btn1_press":
         #     self.screen.btn1_press()
+        # self.__lcd_on()
         if event == "btn8_press":
             self.screen.btn8_press()
         if event == "btn8_long_press":
             EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
+        if event == "btn1_press":           
+            self.screen.btn1_release()
+        
 
     def btn_release(self, event, msg):
         print("btn_release: {}".format(event))
-        if event == "btn1_release":
-            self.screen.btn1_release()
+        # if self.main_flag != 1 and self.sleep_flag == 0:
+        #     self.__lcd_on()
+        #     return 
+        # if event == "btn1_release":
+            
+        #     self.screen.btn1_release()
 
     def __lcd_on(self):
         self.system_sleep_timeout_rest()
@@ -3474,7 +3495,7 @@ class UI(object):
 
     def system_sleep_timer_cb(self, *args):
         self.system_sleep_timer_count += 1
-        if self.system_sleep_timer_count > 50 :
+        if self.system_sleep_timer_count > 15 :
             self.system_sleep_timer_count = 0
             self.__lcd_off()
 
index a09b73c..d003e9b 100644 (file)
@@ -14,12 +14,12 @@ from ui_main_menu import MainMenu2_Watchface
 # style_font_youyuan_20 = lv.style_t()
 # style_font_youyuan_20.init()
 # style_font_youyuan_20.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-# style_font_youyuan_20.set_text_font_v2("font_22.bin",22,0)
+# style_font_youyuan_20.set_text_font_v2("font_24.bin",24,0)
 
 watchface_style_default = lv.style_t()
 watchface_style_default.init()
 watchface_style_default.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-watchface_style_default.set_text_font_v2("font_22.bin",22,0)
+watchface_style_default.set_text_font_v2("font_24.bin",24,0)
 
 
 style_font_youyuan_28 = lv.style_t()
@@ -302,59 +302,59 @@ watchface2_res_stat_charge_in_img.add_style(style_watchface_img_default, lv.PART
 
 style_font_youyuan_70_red = lv.style_t()
 style_font_youyuan_70_red.init()
-style_font_youyuan_70_red.set_text_color(lv.color_make(0xe5, 0x37, 0x29))
+style_font_youyuan_70_red.set_text_color(lv.color_make(0xff, 0xff, 0xff))
 style_font_youyuan_70_red.set_text_font(lv.font_70_bold)
 #时间
 x = 30
 y = 80
+watchface2_time1_hour_text = lv.label(Watchface2)
+watchface2_time1_hour_text.set_pos(20, 80)
+watchface2_time1_hour_text.set_size(88, 70)
+watchface2_time1_hour_text.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_time1_hour_text.set_text("10")
+watchface2_time1_hour_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+watchface2_time1_mao_text = lv.label(Watchface2)
+watchface2_time1_mao_text.set_pos(108, 76)
+watchface2_time1_mao_text.set_size(44, 70)
+watchface2_time1_mao_text.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_time1_mao_text.set_text(":")
+watchface2_time1_mao_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+
 watchface2_time1_hour1_text = lv.label(Watchface2)
-watchface2_time1_hour1_text.set_pos(10, 80)
-watchface2_time1_hour1_text.set_size(50, 70)
+watchface2_time1_hour1_text.set_pos(152, 80)
+watchface2_time1_hour1_text.set_size(88, 70)
 watchface2_time1_hour1_text.set_align(lv.TEXT_ALIGN.LEFT)
-watchface2_time1_hour1_text.set_text("1")
+watchface2_time1_hour1_text.set_text("40")
 watchface2_time1_hour1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
 
-watchface2_time1_hour2_text = lv.label(Watchface2)
-watchface2_time1_hour2_text.set_pos(55, 80)
-watchface2_time1_hour2_text.set_size(50, 70)
-watchface2_time1_hour2_text.set_align(lv.TEXT_ALIGN.LEFT)
-watchface2_time1_hour2_text.set_text("2")
-watchface2_time1_hour2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-watchface2_time2_min1_text = lv.label(Watchface2)
-watchface2_time2_min1_text.set_pos(10, 156)
-watchface2_time2_min1_text.set_size(50, 70)
-watchface2_time2_min1_text.set_align(lv.TEXT_ALIGN.LEFT)
-watchface2_time2_min1_text.set_text("0")
-watchface2_time2_min1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
-
-watchface2_time2_min2_text = lv.label(Watchface2)
-watchface2_time2_min2_text.set_pos(55, 156)
-watchface2_time2_min2_text.set_size(50, 70)
-watchface2_time2_min2_text.set_align(lv.TEXT_ALIGN.LEFT)
-watchface2_time2_min2_text.set_text("0")
-watchface2_time2_min2_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
-
 
 
 
 #日期
 watchface2_date_span = lv.label(Watchface2)
-watchface2_date_span.set_pos(30+56+20+6, 90)
-watchface2_date_span.set_size(240-(30+56+20+6), 35)
+watchface2_date_span.set_pos(18, 170)
+watchface2_date_span.set_size(120, 35)
 watchface2_date_span.set_align(lv.TEXT_ALIGN.LEFT)
 watchface2_date_span.set_text("12月9日")
 watchface2_date_span.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAULT)
 
+#日期
+watchface2_week = lv.label(Watchface2)
+watchface2_week.set_pos(146, 170)
+watchface2_week.set_size(110, 35)
+watchface2_week.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_week.set_text("星期四")
+watchface2_week.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAULT)
 #星期
 
 
-watchface2_week = lv.img(Watchface2)
-watchface2_week.set_pos(int(30+56+20+25),int(y+56+30))
-watchface2_week.set_size(90,30)
-watchface2_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
-watchface2_week.set_src("E:/static/watch_plate/style_2/week/0_week.png")
-watchface2_week.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
+# watchface2_week = lv.img(Watchface2)
+# watchface2_week.set_pos(int(30+56+20+25),int(y+56+30))
+# watchface2_week.set_size(90,30)
+# watchface2_week.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+# watchface2_week.set_src("E:/static/watch_plate/style_2/week/0_week.png")
+# watchface2_week.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
 
 
 
@@ -424,13 +424,15 @@ class WatchFace2():
         hour2_chose = (msg[0][0])%10
         min1_chose = (msg[0][1])//10%10
         min2_chose = (msg[0][1])%10
-        # watchface2_time1_text.set_text("{}:{}".format("%02d"%(msg[0][0]),"%02d"%(msg[0][1])))
-        watchface2_time1_hour1_text.set_text("{}".format("%d"%(hour1_chose)))
-        watchface2_time1_hour2_text.set_text("{}".format("%d"%(hour2_chose)))
-        watchface2_time2_min1_text.set_text("{}".format("%d"%(min1_chose)))
-        watchface2_time2_min2_text.set_text("{}".format("%d"%(min2_chose)))
+        watchface2_time1_hour_text.set_text("{}".format("%02d"%(msg[0][0])))
+        watchface2_time1_hour1_text.set_text("{}".format("%02d"%(msg[0][1])))
+        # watchface2_time1_hour_text.set_text("{}".format("%d"%(hour1_chose)))
+        # watchface2_time1_hour2_text.set_text("{}".format("%d"%(hour2_chose)))
+        # watchface2_time2_min1_text.set_text("{}".format("%d"%(min1_chose)))
+        # watchface2_time2_min2_text.set_text("{}".format("%d"%(min2_chose)))
         watchface2_date_span.set_text(msg[2])#日期
-        watchface2_week.set_src("E:/static/watch_plate/style_2/week/%d_week.png"%(msg[5]))   #星期
+        watchface2_week.set_text(msg[3])#星期
+        # watchface2_week.set_src("E:/static/watch_plate/style_2/week/%d_week.png"%(msg[5]))   #星期
 
     def __signal(self, event, msg):
         #print("__signal_cb:",str(msg))
index a71515c..1193069 100644 (file)
@@ -30,12 +30,12 @@ style_MainMenu_img_default.set_img_opa(255)
 style_font_youyuan_20 = lv.style_t()
 style_font_youyuan_20.init()
 style_font_youyuan_20.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-style_font_youyuan_20.set_text_font_v2("font_22.bin",22,0)
+style_font_youyuan_20.set_text_font_v2("font_24.bin",24,0)
 
 style_font_youyuan_25 = lv.style_t()
 style_font_youyuan_25.init()
 style_font_youyuan_25.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-style_font_youyuan_25.set_text_font_v2("font_22.bin",22,0)
+style_font_youyuan_25.set_text_font_v2("font_24.bin",24,0)
 
 style_btn = lv.style_t()
 style_btn.init()
@@ -344,7 +344,7 @@ class MainMenuScreen(Screen):
             if MainMenu2_til.get_tile_act() != None:
                 id = MainMenu2_til.get_tile_act().get_child(0).get_text()
                 if id != "0":
-                    MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
+                    MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF)
                 
         
     def btn8_press(self):
@@ -358,12 +358,12 @@ class MainMenuScreen(Screen):
                     EventMesh.publish(constants.EVENT.SYSTEM_UP)
             else:
                 if flag == 1:
-                    MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
+                    MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF)
                 else:
                     EventMesh.publish(constants.EVENT.SYSTEM_UP)
         else:
             if flag == 1:
-                MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
+                MainMenu2_til.set_tile_id(0,1,lv.ANIM.OFF)
             else:
                 EventMesh.publish(constants.EVENT.SYSTEM_UP)
 
index 23952b4..fa4c719 100644 (file)
@@ -301,6 +301,7 @@ class SettingScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
         
     def btn8_press(self):
+        EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 ##################################################################
 # -------------------------------------------language screen----------------------------------------------------------
@@ -702,62 +703,70 @@ version_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label2 = lv.label(version_screen)
 version_label2.set_pos(0, 25)
-version_label2.set_size(240, 25)
+version_label2.set_size(240, 30)
 version_label2.set_long_mode(lv.label.LONG.WRAP)
 version_label2.set_text("MMI")
 version_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 version_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label3 = lv.label(version_screen)
-version_label3.set_pos(0, 50)
-version_label3.set_size(240, 25)
+version_label3.set_pos(0, 55)
+version_label3.set_size(240, 30)
 version_label3.set_long_mode(lv.label.LONG.WRAP)
-version_label3.set_text("Version:UIX8910_C55_V")
+version_label3.set_text("Version:")
+version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+version_label3 = lv.label(version_screen)
+version_label3.set_pos(0, 80)
+version_label3.set_size(240, 30)
+version_label3.set_long_mode(lv.label.LONG.WRAP)
+version_label3.set_text("UIX8910_C55_V")
 version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label4 = lv.label(version_screen)
-version_label4.set_pos(0, 75)
-version_label4.set_size(240, 25)
+version_label4.set_pos(0, 105)
+version_label4.set_size(240, 30)
 version_label4.set_long_mode(lv.label.LONG.WRAP)
 version_label4.set_text("1.0_Release")
 version_label4.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 version_label4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label5 = lv.label(version_screen)
-version_label5.set_pos(0, 100)
-version_label5.set_size(240, 25)
+version_label5.set_pos(0, 130)
+version_label5.set_size(240, 30)
 version_label5.set_long_mode(lv.label.LONG.WRAP)
 version_label5.set_text("Build Time:")
 version_label5.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 version_label5.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label6 = lv.label(version_screen)
-version_label6.set_pos(0, 125)
-version_label6.set_size(240, 25)
+version_label6.set_pos(0, 155)
+version_label6.set_size(240, 30)
 version_label6.set_long_mode(lv.label.LONG.WRAP)
 version_label6.set_text("2-17-2023")
 version_label6.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 version_label6.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label7 = lv.label(version_screen)
-version_label7.set_pos(0, 150)
-version_label7.set_size(240, 25)
+version_label7.set_pos(0, 180)
+version_label7.set_size(240, 30)
 version_label7.set_long_mode(lv.label.LONG.WRAP)
 version_label7.set_text("9:32:5")
 version_label7.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 version_label7.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label8 = lv.label(version_screen)
-version_label8.set_pos(0, 175)
-version_label8.set_size(240, 25)
+version_label8.set_pos(0, 205)
+version_label8.set_size(240, 30)
 version_label8.set_long_mode(lv.label.LONG.WRAP)
 version_label8.set_text("IMEI:")
 version_label8.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 version_label8.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 version_label9 = lv.label(version_screen)
-version_label9.set_pos(20, 200)
+version_label9.set_pos(20, 230)
 version_label9.set_size(220, 100)
 version_label9.set_long_mode(lv.label.LONG.WRAP)
 version_label9.set_text(" ")
@@ -819,10 +828,11 @@ class RestoreScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
 class UpdateScreen(Screen):
@@ -840,10 +850,11 @@ class UpdateScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
 class VersionScreen(Screen):
@@ -874,10 +885,11 @@ class VersionScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 # -------------------------------------------poweroff screen----------------------------------------------------------
 poweroff_screen = lv.obj()
@@ -944,10 +956,11 @@ class PoweroffScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
 
@@ -1062,10 +1075,11 @@ class DialswitchScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
 class ThemeswitchScreen(Screen):
@@ -1140,10 +1154,11 @@ class ImeiScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
 class AppScreen(Screen):
@@ -1160,10 +1175,11 @@ class AppScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 # -------------------------------------------brightness screen----------------------------------------------------------
 brightness_screen = lv.obj()
 brightness_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
@@ -1245,10 +1261,11 @@ class BrightnessScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})
 
 
 class VolumeScreen(Screen):
@@ -1502,7 +1519,8 @@ class totalvolumeScreen(Screen):
         EventMesh.publish("load_screen", {"screen": "setting"})
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("load_screen", {"screen": "setting"})
         
     def btn8_press(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("watch_top_show")
+        EventMesh.publish("load_screen", {"screen": "main_menu"})