W9:
authordxy15521469561 <1731678236@qq.com>
Tue, 23 Jul 2024 09:30:48 +0000 (17:30 +0800)
committerdxy15521469561 <1731678236@qq.com>
Tue, 23 Jul 2024 09:30:48 +0000 (17:30 +0800)
AIGC 表盘优化
W8 K01优化界面

25 files changed:
2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/appWechat.py
2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/protocol.py
2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui.py
2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui_video.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/Makefile
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ai.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/alarm.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/appWechat.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/lcd.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/main_init.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/mgr.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_health.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_setting.py
2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_video.py
2.sdk-ZY/project/W9/usr/static/menu_time.png [deleted file]
2.sdk-ZY/project/W9/usr/static/menustyle_select.png [deleted file]
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/aigcdial.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appAlipay.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appFactoryMode.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/protocol.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py
2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_video.py

index 4a02c43..7802db5 100644 (file)
@@ -484,6 +484,7 @@ class WechatScreen(Screen):
     def sending(self,e):
         Wechat_log("sending1") 
         if self.press_state == 1:
+            self.press_state = 0
             # wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
             # wechat_label.set_text("发送中")
             wechat_press_label_countdown.add_flag(lv.obj.FLAG.HIDDEN)
@@ -507,7 +508,7 @@ class WechatScreen(Screen):
             #读音频amr二进制数据
             
             #修改或添加词典键值
-            self.press_state = 0
+            
             self.ble_send = 0
             ##隐藏显示文本 显示列表显示框
             EventMesh.publish("publish_message_event_ui",{"func":self.updata_list_show,"data":2})
index 1bf7ac8..7e028c9 100644 (file)
@@ -177,8 +177,9 @@ class SockManager(Abstract):
             
             #utime.sleep_ms(500)
             #  发送数据
-            self.publish_timer.start(1000, 0, self.publish_timer_cb)
-            
+            self.publish_timer.start(2000, 1, self.publish_timer_cb)
+            EventMesh.publish(constants.PROTOCOL.LK_SEND)
+
         except Exception as e:
             #usys.print_exception(e)
             self.run_flag = False
@@ -187,11 +188,12 @@ class SockManager(Abstract):
         print("connect2{}:{}".format(self.server_addr, self.server_port))
         self.reconnect_flag = 0
     def publish_timer_cb(self, *args):
-        EventMesh.publish(constants.PROTOCOL.LK_SEND)
+        
         self.authen_set()
 
     def authen_set(self):
         sever_state = EventMesh.publish("get_server_state")#获取修改服务器状态
+        # print("sever_state{}".format(sever_state))
         if sever_state != None:
             if sever_state == 0:
                 imei = EventMesh.publish(constants.EVENT.GET_IMEI)
@@ -219,61 +221,83 @@ class SockManager(Abstract):
                 # 转成十六进制表示
                 sign_data = ubinascii.hexlify(res)
                 sign_data = sign_data.decode('ascii')
-                print("sign_data:{} sonce_data:{}".format(md5_data,sign_data))
+                # print("sign_data:{} sonce_data:{}".format(md5_data,sign_data))
                 # sign_data = MD5_head
                 # http://8.134.110.49:31379/dev/device/check?imei=&bid=sonce=sign=
-                ip_addr = "iot.api.thisiot.com"
-                # url = "http://{}/dev/device/check?imei={}&bid={}&sonce={}&sign={}".format(ip_addr,imei,pid_data,sonce_data,sign_data)
+                # ip_addr = "test.iot.api.thisiot.com"
+                # ip_addr = "app.api.thisiot.com"
+                # http://app.api.thisiot.com/
                 url = "http://app.api.thisiot.com/dev/device/check?imei={}&bid={}&sonce={}&sign={}".format(imei,pid_data,sonce_data,sign_data)
 
-                response = request.get(url)
-                data_tmp ={}
+                # print("url:{}".format(url))
+                data_tmp = {}
+                connect_flag = 0
+                try:
+                    response = request.get(url)
+                    connect_flag = 1
+                except Exception as e:
+                    usys.print_exception(e)
+                
                 # d_server_addr = "device.miwitracker.com"
                 # d_server_port = 8505
                 # d_md5_key = ""
                 # d_PID = "3G"
                 # response.content = {'protocolType': '', 'host': 'device.miwitracker.com', 'secretKey': '', 'port': 8505, 'bid': '3G', 'extJsonStr': ''}
                 # response.status_code=200
-                print("test-{}".format(response.status_code))
-                if response.status_code == 200:
-                    content = response.content
-                    c = next(content)
-                    # "api.xcloudtech.com"
-                    # d_server_port = 9000
-                    jsload_data =  ujson.loads(c)
-                    # print("jsload_data-{}".format(jsload_data))
-                    # jsload_data = {'data':'111','protocolType':'', 'host':'device.miwitracker.com', 'secretKey': 'bZld0ALsZTt15tKEZhOlLPgbsO75BLTP', 'port':8505, 'bid': '3G', 'extJsonStr': ''}
-                    # ujson.loads(c)
-                    
-                    if "success" in jsload_data:
-                        success = jsload_data["success"]
-                        if success == True:#合法设备
-                            if "data" in jsload_data:
-                                data_tmp = jsload_data["data"]#返回的数据 
-                                print("data_tmp:{}".format(data_tmp))
-                                code = jsload_data["code"]
-                                if code == 20000:#合法的设备
-                                    protocloType = data_tmp["protocolType"]#协议类型
-                                    host = data_tmp["host"]#服务骑地址
-                                    secretKey = data_tmp["secretKey"]#
-                                    pid = data_tmp["bid"]#产品型号
-                                    port = data_tmp["port"]#端口
-                                    if host != '' and port != '' and port != -1:
-                                        if host != '':
-                                            self.server_addr = host
-                                            EventMesh.publish("set_ip",str(self.server_addr))
-                                        
-                                        if port != '' and port != -1:
-                                            self.server_port = port
-                                            EventMesh.publish("set_com",self.server_port)
-                                        
-                                        EventMesh.publish("set_new_key", str(secretKey))#获取pid和key
-                                        EventMesh.publish("set_new_pid",str(pid))#获取pid和key
-                                        self.reconnect_flag = 0
-                                        self.reconnect()#重连设备
-                EventMesh.publish("set_server_state",1)#获取修改服务器状态
-        
-        
+                print("connect_flag:{}\r\n".format(connect_flag))
+                if connect_flag == 1:
+                    print("response.status_code:{} connect_flag:{}\r\n".format(response.status_code,connect_flag))
+                    if response.status_code == 200:
+                        content = response.content
+                        c = next(content)
+                        # "api.xcloudtech.com"
+                        # d_server_port = 9000
+                        jsload_data =  ujson.loads(c)
+                        print("jsload_data-{}".format(jsload_data))
+                        # jsload_data = {'data':'111','protocolType':'', 'host':'device.miwitracker.com', 'secretKey': 'bZld0ALsZTt15tKEZhOlLPgbsO75BLTP', 'port':8505, 'bid': '3G', 'extJsonStr': ''}
+                        # ujson.loads(c)
+                        
+                        if "success" in jsload_data:
+                            success = jsload_data["success"]
+                            if success == True:#合法设备
+                                if "data" in jsload_data:
+                                    data_tmp = jsload_data["data"]#返回的数据 
+                                    print("data_tmp:{}".format(data_tmp))
+                                    code = jsload_data["code"]
+                                    if code == 20000:#合法的设备
+                                        protocloType = data_tmp["protocolType"]#协议类型
+                                        host = data_tmp["host"]#服务骑地址
+                                        secretKey = data_tmp["secretKey"]#
+                                        pid = data_tmp["bid"]#产品型号
+                                        port = data_tmp["port"]#端口号
+
+                                    
+                                        if secretKey != '' and secretKey != -1:
+                                            EventMesh.publish("set_new_key", str(secretKey))#获取pid和key
+                                        if pid != '' and pid != -1:
+                                            EventMesh.publish("set_new_pid",str(pid))#获取pid和key
+
+                                        if host != '' and (port != '' and port != -1):
+                                            if host != '':
+                                                self.server_addr = host
+                                                EventMesh.publish("set_ip",str(self.server_addr))
+                                            
+                                            if port != '' and port != -1:
+                                                self.server_port = port
+                                                EventMesh.publish("set_com",self.server_port)
+                                            
+                                            # self.reconnect_timer_cb()#重连设备
+                                            print("self.reconnect_flag",self.reconnect_flag)
+                                            self.reconnect_flag = 0
+                                            self.reconnect()#重连设备
+                        self.publish_timer.stop()
+                        EventMesh.publish("set_server_state",1)#获取修改服务器状态
+                else:
+                    self.publish_timer.stop()
+            else:
+                self.publish_timer.stop()
+
+
 
 
     def check(self, *args):
@@ -298,9 +322,10 @@ class SockManager(Abstract):
          while True:
             data = self.socket_send_queue.get()
             print("TCP:send data1 len:{}".format(len(data)))
-
+            socketsta = -1
+            if self.sock !=  None:
             #print("ui_queue_thread:data = {}".format(data))
-            socketsta = self.sock.getsocketsta() 
+                socketsta = self.sock.getsocketsta() 
             if(socketsta == -1): #给释放了或者出错了
                 continue
             if(socketsta == 4):#正常连击
index f6ca0ae..dae5849 100644 (file)
@@ -8542,7 +8542,12 @@ class UI(object):
                             # print('self.screen_prev.NAME:{} self.screen_old:{}'.format(self.screen_prev.NAME,self.screen.NAME))
                             if self.screen_prev.NAME != self.screen.NAME:
                                 EventMesh.publish("add_new_screen",screen_new)#保存新的界面用作返回上一级 
-                
+                        else:
+                            if self.screen.NAME == "main_menu": #上一个为弹窗界面并且也回到主界面就清空
+                                if self.page_count > 0:
+                                    self.page_id.clear()#清空所有
+                                self.page_count = 0
+                                self.page_id = ["main_menu"]
                 if msg.get("meta"):
                     self.screen.meta_info = msg.get("meta")
                 print("load_screen:post_processor_before_initialization")
index e66d9d3..49848f1 100644 (file)
@@ -1052,6 +1052,7 @@ class voiceInCallScreen(Screen):#语音通话打入中
 
     def answer(self,e):
         self.call_timer.stop()
+        self.call_timer1.stop()
         self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
         EventMesh.publish("clear_jrtc_init_state")
@@ -1064,6 +1065,9 @@ class voiceInCallScreen(Screen):#语音通话打入中
         self.aud.stop() 
     
     def hangup(self,e):
+        self.call_timer.stop()
+        self.call_timer1.stop()
+        self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
         call_id = str(EventMesh.publish("get_vedio_call_id"))#
         meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
@@ -1205,6 +1209,7 @@ class vedioCallingCallScreen(Screen):#视频通话打入中
 
     def answer(self,e):
         self.call_timer.stop()
+        self.call_timer1.stop()
         self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
         EventMesh.publish("clear_jrtc_init_state")
@@ -1221,6 +1226,9 @@ class vedioCallingCallScreen(Screen):#视频通话打入中
         self.aud.stop() 
     
     def hangup(self,e):
+        self.call_timer.stop()
+        self.call_timer1.stop()
+        self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
         call_id = str(EventMesh.publish("get_vedio_call_id"))#
         meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
index 3621f58..db1a7c7 100644 (file)
@@ -1027,7 +1027,8 @@ frozen_mpy_list =         $(BUILD)/_boot.mpy \
                                        $(BUILD)/motor.mpy \
                                        $(BUILD)/versions.mpy \
                                        $(BUILD)/ui_video.mpy \
-                                       $(BUILD)/ai.mpy
+                                       $(BUILD)/ai.mpy\
+                                       $(BUILD)/aigcdial.mpy
 
 
                                        
index 038bcfc..69c4cfe 100644 (file)
@@ -1837,7 +1837,7 @@ class AIScreen(Screen):#AI_GUI
                     chat_data = jsload_data["content"]
                     if chat_data:
                         #self.AI_client_tts_send(jsload_data["content"])#TTS语音播放AI结果
-                        print("AI_client_chat_recv chat_data = {}".format(chat_data))
+                        # print("AI_client_chat_recv chat_data = {}".format(chat_data))
                         self.AI_label_str+=str(chat_data)
                         self.AI_client_chat_play_str+=str(chat_data)
                         self.think_end_result()
index 96e70bb..f9fc31d 100644 (file)
@@ -1105,7 +1105,7 @@ class ClkListScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
index e5e898b..8f2c0dd 100644 (file)
@@ -430,6 +430,7 @@ class WechatScreen(Screen):
     def sending(self,e):
         Wechat_log("sending1") 
         if self.press_state == 1:
+            self.press_state = 0
             # wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
             # wechat_label.set_text("发送中")
             wechat_press_label_countdown.add_flag(lv.obj.FLAG.HIDDEN)
@@ -453,7 +454,7 @@ class WechatScreen(Screen):
             #读音频amr二进制数据
             
             #修改或添加词典键值
-            self.press_state = 0
+            
             self.ble_send = 0
             ##隐藏显示文本 显示列表显示框
             EventMesh.publish("publish_message_event_ui",{"func":self.updata_list_show,"data":2})
index e88fca3..2dae981 100644 (file)
@@ -259,7 +259,6 @@ style_font_youyuan_20_op.init()
 style_font_youyuan_20_op.set_text_color(lv.color_make(0xff, 0xff, 0xff))
 style_font_youyuan_20_op.set_text_font(lv.lv_font_20_ALL)
 
-
 lcd.lcd_display_on()
 utime.sleep_ms(2)
 lv.autoSleep(0)
@@ -278,10 +277,9 @@ print("power_on_screen init...")
 
 
 
+
 lv.scr_load(power_on_screen)
 utime.sleep_ms(200)
 print("power_on_screen end...")
-PWM_backlight = PWM(PWM.PWM0, PWM.ABOVE_10US, 200, 1000)
+PWM_backlight = PWM(PWM.PWM0, PWM.ABOVE_10US, 0, 1000)
 PWM_backlight.open()
-
-#class camera.camPreview(model,cam_w,cam_h,lcd_w,lcd_h,perview_level)
\ No newline at end of file
index dd0d681..fd07bd0 100644 (file)
@@ -211,7 +211,20 @@ def main_init():
         # ui.add_screen(bloodpressureScreen())
     # except Exception as e:
     #     usys.print_exception(e)
+    #dial_preivew
+    try:
+        import aigcdial
+        ui.add_screen(aigcdial.CreateScreen())
+        ui.add_screen(aigcdial.aigcMainScreen())
+        ui.add_screen(aigcdial.aigcShowNewImgScreen())
+        ui.add_screen(aigcdial.aigcMainLIstScreen())
+        ui.add_screen(aigcdial.aigcStyleLIstScreen())
+        ui.add_screen(aigcdial.aigcMainPreviewScreen())
+
+    except Exception as e:
+        usys.print_exception(e)
     #AI
+
     try:
         # from usr.ai import AIScreen
 
index 91568ef..37b8825 100644 (file)
@@ -3349,7 +3349,7 @@ class getStorageDataManager(Abstract):#获取内存数据
         # print("get_storage_data:{}".format(self.config_data))
         return self.config_data 
     def get_storage_config(self,event,msg):
-        # print("get_storage_key_data1:{}".format(msg))
+        # print("get_storage_key_data1:{}".format(self.config_data))
         b = msg in self.config_data.keys()
         if b == True:
             # print("get_storage_key_data2:{}".format(self.config_data[msg]))
index 6e16807..423b6c2 100644 (file)
@@ -133,6 +133,8 @@ style_font_youyuan_28 = lv.style_t()
 style_font_youyuan_28.init()
 style_font_youyuan_28.set_text_color(lv.color_make(0xFF, 0xFF, 0xFF))
 style_font_youyuan_28.set_text_font(lv.lv_font_20_ALL)
+
+
 #黑色
 style_black = lv.style_t()
 style_black.init()
@@ -149,6 +151,11 @@ style_font_youyuan_20_white.init()
 style_font_youyuan_20_white.set_text_color(lv.color_make(0xff, 0xff, 0xff))
 style_font_youyuan_20_white.set_text_font(lv.lv_font_20_ALL)
 
+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(0xff, 0xff, 0xff))
+style_font_youyuan_70_red.set_text_font(lv.font_70_bold)
+
 style_img = lv.style_t()
 style_img.init()
 style_img.set_img_opa(255)
@@ -1644,7 +1651,7 @@ class NoSimPowerScreen(Screen):#
             # poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
             no_sim_power_screen_comfirm = lv.btn(no_sim_power_screen)
-            no_sim_power_screen_comfirm.set_pos(int(32),int(46))
+            no_sim_power_screen_comfirm.set_pos(int(32),int(175))
             no_sim_power_screen_comfirm.set_size(176,46)
             no_sim_power_screen_comfirm.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             screen_btn_1_label = lv.label(no_sim_power_screen_comfirm)
@@ -1683,7 +1690,7 @@ class NoSimPowerScreen(Screen):#
             # no_sim_power_screen_cancel.set_ext_click_area(20)
 
             no_sim_power_screen_cancel = lv.btn(no_sim_power_screen)
-            no_sim_power_screen_cancel.set_pos(int(32),int(230))
+            no_sim_power_screen_cancel.set_pos(int(32),int(235))
             no_sim_power_screen_cancel.set_size(176,46)
             no_sim_power_screen_cancel.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             screen_btn_1_label = lv.label(no_sim_power_screen_cancel)
@@ -1811,7 +1818,7 @@ class NoSimAutoScreen(Screen):#无sim卡是否关机
             # no_sim_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
             no_sim_auto_screen_comfirm = lv.btn(no_sim_auto_screen)
-            no_sim_auto_screen_comfirm.set_pos(int(32),int(46))
+            no_sim_auto_screen_comfirm.set_pos(int(32),int(185))
             no_sim_auto_screen_comfirm.set_size(176,46)
             no_sim_auto_screen_comfirm.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             screen_btn_1_label = lv.label(no_sim_auto_screen_comfirm)
@@ -1849,7 +1856,7 @@ class NoSimAutoScreen(Screen):#无sim卡是否关机
             # no_sim_auto_screen_cancel.set_ext_click_area(20)
 
             no_sim_auto_screen_cancel = lv.btn(no_sim_auto_screen)
-            no_sim_auto_screen_cancel.set_pos(int(32),int(230))
+            no_sim_auto_screen_cancel.set_pos(int(32),int(238))
             no_sim_auto_screen_cancel.set_size(176,46)
             no_sim_auto_screen_cancel.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
             screen_btn_1_label = lv.label(no_sim_auto_screen_cancel)
@@ -2467,7 +2474,7 @@ class MessageFullScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE:
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "main_menu"})
+                EventMesh.publish("return_prev_screen")
         elif  code == lv.EVENT.SHORT_CLICKED:
             if msg != 0:
                 if msg == 1:
@@ -2505,7 +2512,7 @@ class MessageFullScreen(Screen):
         EventMesh.publish("return_prev_screen")
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("return_prev_screen")
 
     def done_left_to_right(self):
         EventMesh.publish("return_prev_screen")
@@ -3031,10 +3038,10 @@ class MsgDetailScreen(Screen):
    
 
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "popup"})
+        EventMesh.publish("return_prev_screen")
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "main_menu"})
+        EventMesh.publish("return_prev_screen")
 
     def done_left_to_right(self):
         EventMesh.publish("return_prev_screen")
@@ -4274,10 +4281,10 @@ class StepScreen(Screen):
     # def done_return(self):
     #     EventMesh.publish("load_screen", {"screen": "toolbox"})
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("return_prev_screen")
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -4318,7 +4325,7 @@ class WeatherScreen(Screen):
             weather_screen_no_data = lv.obj(weather_screen)
             print("weather_screen_no_data")
             weather_screen_no_data.set_pos(0,0)
-            weather_screen_no_data.set_size(240,282)
+            weather_screen_no_data.set_size(240,284)
             weather_screen_no_data.add_flag(lv.obj.FLAG.HIDDEN)
             weather_screen_no_data.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -4342,7 +4349,7 @@ class WeatherScreen(Screen):
             weather_screen_yes_data = lv.obj(weather_screen)
             print("weather_screen_yes_data")
             weather_screen_yes_data.set_pos(0,0)
-            weather_screen_yes_data.set_size(240,282)
+            weather_screen_yes_data.set_size(240,284)
             weather_screen_yes_data.add_flag(lv.obj.FLAG.HIDDEN)
             weather_screen_yes_data.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
 
@@ -4480,7 +4487,7 @@ class WeatherScreen(Screen):
                 no_connect_label1.set_text("请联网后重试")
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("return_prev_screen")
 
     def fun(self, e):
         code = e.get_code()
@@ -4492,7 +4499,7 @@ class WeatherScreen(Screen):
                 EventMesh.publish("return_prev_screen")
 
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -5415,7 +5422,7 @@ class CountdownScreen(Screen):
     def btn1_release(self):
         if self.g_state == 0:
             self.timer.stop()
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("return_prev_screen")
 
     # def done_left_to_right(self):
     #     EventMesh.publish("return_prev_screen")
@@ -5831,7 +5838,7 @@ class StopwatchScreen(Screen):
     def btn1_release(self):
         if self.s_state == 0:
             self.timer.stop()
-        EventMesh.publish("load_screen", {"screen": "toolbox"})
+        EventMesh.publish("return_prev_screen")
     
     # def done_left_to_right(self):
     #     if self.s_state == 0:
@@ -6389,6 +6396,8 @@ class SystemInitScreen(Screen):
         self.meta = None
         self.system_init_timer=osTimer()
         self.system_init_timer_count = 0
+        # self.PWM_backlight = PWM(PWM.PWM0, PWM.ABOVE_10US, self.level*100, 1000)
+        # self.PWM_backlight.open()
 
     def initialization(self):
         global system_init_screen ,system_init_label  
@@ -6688,11 +6697,6 @@ class restore_confirmScreen(Screen):
     def btn1_release(self):
         pass
 
-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(0xff, 0xff, 0xff))
-style_font_youyuan_70_red.set_text_font(lv.font_70_bold)
-
 class_mgr_popup_screen = None
 class_mgr_popup_label = None
 class_mgr_popup_time1_text = None
@@ -6989,7 +6993,7 @@ class UI(object):
         self.page_count = 0
         self.level = EventMesh.publish("get_storage_config","brightness_level")
 
-
+        print("ui init!!!!!!!!!!!!!{}\r\n".format(self.level))
         if self.level == None:
             self.level = 6
         self.PWM_backlight = PWM(PWM.PWM0, PWM.ABOVE_10US, self.level*100, 1000)
@@ -7407,7 +7411,14 @@ class UI(object):
                             # print('self.screen_prev.NAME:{} self.screen_old:{}'.format(self.screen_prev.NAME,self.screen.NAME))
                             if self.screen_prev.NAME != self.screen.NAME:
                                 EventMesh.publish("add_new_screen",screen_new)#保存新的界面用作返回上一级 
-                
+                        else:
+                            if self.screen.NAME == "main_menu": #上一个为弹窗界面并且也回到主界面就清空
+                                if self.page_count > 0:
+                                    self.page_id.clear()#清空所有
+                                self.page_count = 0
+                                self.page_id = ["main_menu"]
+                                # print("self.screen.NAME ",self.page_id,self.page_count) 
+                            
                 if msg.get("meta"):
                     self.screen.meta_info = msg.get("meta")
                 print("load_screen:post_processor_before_initialization")
@@ -7422,10 +7433,11 @@ class UI(object):
                 self.screen.post_processor_after_initialization()
                 self.__lcd_on()
                 mem = gc.mem_free()
+
                 print('2剩余内存RAM:{} KB'.format(mem / 1024))
-                if self.screen_prev == None:
-                    if self.screen.meta_type != "popup":
-                        self.screen_prev = self.screen
+                # if self.screen_prev == None:
+                #     if self.screen.meta_type != "popup":
+                #         self.screen_prev = self.screen
                 self.screen_old = self.screen
                 # print('self.screen:{} self.screen_old:{}'.format(self.screen,self.screen_old))
                 self.system_ui_state = 1
index 5d7df37..8f8570e 100644 (file)
@@ -4,7 +4,7 @@ import lvgl as lv
 import EventMesh
 import osTimer
 import constants
-from ui import Screen,style_screen,style_font_youyuan_28,style_font_youyuan_20_white
+from ui import Screen,style_screen,style_font_youyuan_28,style_font_youyuan_20_white,style_font_youyuan_70_red
 import ql_fs
 import ujson
 import sim
@@ -349,6 +349,13 @@ style_watchface_img_default.set_img_recolor(lv.color_make(0xff,0xff,0xff))
 style_watchface_img_default.set_img_recolor_opa(0)
 style_watchface_img_default.set_img_opa(255)
 
+style_font_step_28 = lv.style_t()
+style_font_step_28.init()
+style_font_step_28.set_text_color(lv.color_make(0xFF, 0xFF, 0xFF))
+style_font_step_28.set_text_font(lv.lv_font_20_ALL)
+style_font_step_28.set_pad_right(15)
+style_font_step_28.set_pad_left(10)
+
 Watchface2 = lv.obj(Watchface)
 Watchface2.set_size(LCD_SIZE_W,LCD_SIZE_H)
 #Watchface2.set_pos(0,0)
@@ -396,52 +403,49 @@ watchface2_res_stat_battery_line.add_style(power_line_red,0)
 # # add style for watchface_res_stat_charge_in_img
 # watchface2_res_stat_charge_in_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
 
-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(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("{}".format("%02d"%(hour)))
+watchface2_time1_hour_text.set_pos(0, 80)
+watchface2_time1_hour_text.set_size(240, 70)
+watchface2_time1_hour_text.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
+watchface2_time1_hour_text.set_text("%02d:%02d"%(hour,min))
 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_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(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("{}".format("%02d"%(min)))
-watchface2_time1_hour1_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(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("{}".format("%02d"%(min)))
+# watchface2_time1_hour1_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(18, 170)
+watchface2_date_span.set_pos(0, 170)
 watchface2_date_span.set_size(120, 35)
-watchface2_date_span.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_date_span.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
 watchface2_date_span.set_text("%d月%d日"%(date1,date2))
-watchface2_date_span.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAULT)
+watchface2_date_span.add_style(style_font_step_28, lv.PART.MAIN|lv.STATE.DEFAULT)
 
 #日期
 watchface2_week = lv.label(Watchface2)
-watchface2_week.set_pos(146, 170)
-watchface2_week.set_size(94, 35)
-watchface2_week.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_week.set_pos(120, 170)
+watchface2_week.set_size(120, 35)
+watchface2_week.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
 watchface2_week.set_text("星期%s"%(get_week(week)))
-watchface2_week.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAULT)
+watchface2_week.add_style(style_font_step_28, lv.PART.MAIN|lv.STATE.DEFAULT)
 #星期
 
 
@@ -462,26 +466,50 @@ watchface2_step_img.set_src("U:/static/step.png")
 watchface2_step_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT)
 
 watchface2_step_txt = lv.label(Watchface2)
-watchface2_step_txt.set_pos(125, 250)
-watchface2_step_txt.set_size(80, 30)
-watchface2_step_txt.set_align(lv.TEXT_ALIGN.LEFT)
+watchface2_step_txt.set_pos(0, 250)
+watchface2_step_txt.set_size(240, 30)
+watchface2_step_txt.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
 watchface2_step_txt.set_text("0")
-watchface2_step_txt.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAULT)
+watchface2_step_txt.add_style(style_font_step_28, lv.PART.MAIN|lv.STATE.DEFAULT)
 
 Watchface2_label_edit = lv.label(Watchface2)
 Watchface2_label_edit.set_pos(0, 0)
-Watchface2_label_edit.set_size(240, 282)
+Watchface2_label_edit.set_size(240, 284)
 Watchface2_label_edit.set_text(" ")
 Watchface2_label_edit.add_flag(lv.obj.FLAG.CLICKABLE)
-
+from aigcdial import color_list,pos_time_list,pos_day_list,pos_week_list,pos_step_list
 class WatchFace2():
     NAME = "Watchface2"
     # # #表盘2
     def __init__(self): 
         print("Watchface2:__init__")
         self.meta = Watchface2
+        color_parm = EventMesh.publish("get_storage_config","color_index")
+        post_parm = EventMesh.publish("get_storage_config","post_index")
+        print("dial_parm:{} {}\r\n".format(color_parm,type(post_parm)))
+        self.color_count = 5 #默认值
+        self.post_count = 5 #
+        if color_parm != None:
+            self.color_count = int(color_parm)
+
+        if post_parm != None:
+            self.post_count = int(post_parm)
+            
         EventMesh.subscribe("update_dial_file", self.update_dial_file)
-        # Watchface2_label_edit.
+        EventMesh.subscribe("update_dial_show_infor", self.update_dial_show_infor)
+        Watchface2_label_edit.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e, "aigc_styleList")), lv.EVENT.LONG_PRESSED , None)
+
+    def button_cb(self,e,msg):
+        code = e.get_code()
+        indev = lv.indev_get_act()
+        lv.indev_t.wait_release(indev)
+        dir = lv.indev_t.get_gesture_dir(indev)
+        if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
+            if dir == lv.DIR.RIGHT:
+                pass
+        elif code == lv.EVENT.LONG_PRESSED:
+            EventMesh.publish("load_screen", {"screen": "aigc_main"})
+        
     def set_parent(self,main_menu):
         Watchface1.set_parent(main_menu)#设置父控件
     
@@ -492,7 +520,87 @@ class WatchFace2():
             Watchface2_bg_img.set_src("U:/static/storage_file/aigc_dial.jpg")
         pass
 
+    def update_dial_show_infor(self, event, msg): #更新表盘显示坐标颜色
+        time = EventMesh.publish("screen_get_time")
+        color_parm = EventMesh.publish("get_storage_config","color_index")
+        post_parm = EventMesh.publish("get_storage_config","post_index")
+        print("dial_parm:{} {}\r\n".format(color_parm,type(post_parm)))
+        if color_parm != None:
+            self.color_count = int(color_parm)
+
+        if post_parm != None:
+            self.post_count = int(post_parm)
+        return
+
+        color_tmp = color_list[self.color_count]
+
+        time_post_align = pos_time_list[self.post_count][0]
+        time_post_size1 = pos_time_list[self.post_count][2]
+        time_post_size2 = pos_time_list[self.post_count][4]
+        time_post_post1 = pos_time_list[self.post_count][1]
+        time_post_post2 = pos_time_list[self.post_count][3]
+
+        watchface2_time1_hour_text.set_pos(time_post_post1,time_post_post2)
+        watchface2_time1_hour_text.set_size(time_post_size1,time_post_size2)
+        watchface2_time1_hour_text.set_style_text_align(time_post_align,0)
+
+        if time:
+            watchface2_time1_hour_text.set_recolor(True)
+            watchface2_time1_hour_text.set_text(color_tmp+"%02d:%02d"%(time[0][0],time[0][1]))
+
+        time_post_align = pos_day_list[self.post_count][0]
+        time_post_size1 = pos_day_list[self.post_count][2]
+        time_post_size2 = pos_day_list[self.post_count][4]
+        time_post_post1 = pos_day_list[self.post_count][1]
+        time_post_post2 = pos_day_list[self.post_count][3]
+
+        watchface2_date_span.set_pos(time_post_post1,time_post_post2)
+        watchface2_date_span.set_size(time_post_size1,time_post_size2)
+        watchface2_date_span.set_style_text_align(time_post_align,0)
+
+        if time:
+            watchface2_date_span.set_recolor(True) #颜色重绘
+            watchface2_date_span.set_text(color_tmp+time[2])#日期
+
+
+        time_post_align = pos_week_list[self.post_count][0]
+        time_post_size1 = pos_week_list[self.post_count][2]
+        time_post_size2 = pos_week_list[self.post_count][4]
+        time_post_post1 = pos_week_list[self.post_count][1]
+        time_post_post2 = pos_week_list[self.post_count][3]
+
+        watchface2_week.set_pos(time_post_post1,time_post_post2)
+        watchface2_week.set_size(time_post_size1,time_post_size2)
+        watchface2_week.set_style_text_align(time_post_align,0)
+
+        if time:
+            watchface2_week.set_recolor(True)
+            watchface2_week.set_text(color_tmp+time[3]) #星期
+
+
+        time_post_align = pos_step_list[self.post_count][0]
+        time_post_size1 = pos_step_list[self.post_count][2]
+        time_post_size2 = pos_step_list[self.post_count][4]
+        time_post_post1 = pos_step_list[self.post_count][1]
+        time_post_post2 = pos_step_list[self.post_count][3]
+
+        watchface2_step_txt.set_pos(time_post_post1,time_post_post2)
+        watchface2_step_txt.set_size(time_post_size1,time_post_size2)
+        watchface2_step_txt.set_style_text_align(time_post_align,0)
+
+        step = EventMesh.publish("get_old_step_value")
+        if step != None:
+            watchface2_step_txt.set_recolor(True)
+            watchface2_step_txt.set_text(color_tmp+str(step)) #步数
+        else:
+            watchface2_step_txt.set_recolor(True)
+            watchface2_step_txt.set_text(color_tmp+str("0")) #步数
+
+
+        pass
+
     def initialization(self):  
+        EventMesh.publish("update_dial_show_infor")
         check_txt = ql_fs.path_exists("/usr/static/storage_file/aigc_dial.jpg")
         print("update_dial_file!!!!! {}\r\n".format(check_txt))
         if check_txt == True:
@@ -518,8 +626,10 @@ class WatchFace2():
         step = EventMesh.publish("get_old_step_value")
         self.__stepValue(None, step)
 
+        # 
 
     def timerout_update(self):
+        
         #获取信号
         signal = EventMesh.publish("screen_get_sig")
         if signal:
@@ -543,14 +653,54 @@ class WatchFace2():
         hour2_chose = (msg[0][0])%10
         min1_chose = (msg[0][1])//10%10
         min2_chose = (msg[0][1])%10
-        watchface2_time1_hour_text.set_text("{}".format("%02d"%(msg[0][0])))
-        watchface2_time1_hour1_text.set_text("{}".format("%02d"%(msg[0][1])))
+        color_tmp = color_list[self.color_count]
+        print("color_tmp:{} self.color_count{} self.post_count{}\r\n".format(color_tmp,self.color_count,self.post_count))
+
+        time_post_align = pos_time_list[self.post_count][0]
+        time_post_size1 = pos_time_list[self.post_count][2]
+        time_post_size2 = pos_time_list[self.post_count][4]
+        time_post_post1 = pos_time_list[self.post_count][1]
+        time_post_post2 = pos_time_list[self.post_count][3]
+
+        watchface2_time1_hour_text.set_pos(time_post_post1,time_post_post2)
+        watchface2_time1_hour_text.set_size(time_post_size1,time_post_size2)
+        watchface2_time1_hour_text.set_style_text_align(time_post_align,0)
+
+        watchface2_time1_hour_text.set_recolor(True)
+        watchface2_time1_hour_text.set_text(color_tmp+"%02d:%02d"%(msg[0][0],msg[0][1]))
+
+        # watchface2_time1_hour_text.set_text("%02d:%02d"%(msg[0][0],msg[0][1]))
+        # 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_text(msg[3])#星期
+        time_post_align = pos_day_list[self.post_count][0]
+        time_post_size1 = pos_day_list[self.post_count][2]
+        time_post_size2 = pos_day_list[self.post_count][4]
+        time_post_post1 = pos_day_list[self.post_count][1]
+        time_post_post2 = pos_day_list[self.post_count][3]
+
+        watchface2_date_span.set_pos(time_post_post1,time_post_post2)
+        watchface2_date_span.set_size(time_post_size1,time_post_size2)
+        watchface2_date_span.set_style_text_align(time_post_align,0)
+
+        watchface2_date_span.set_recolor(True) #颜色重绘
+        watchface2_date_span.set_text(color_tmp+str(msg[2]))#日期
+
+        time_post_align = pos_week_list[self.post_count][0]
+        time_post_size1 = pos_week_list[self.post_count][2]
+        time_post_size2 = pos_week_list[self.post_count][4]
+        time_post_post1 = pos_week_list[self.post_count][1]
+        time_post_post2 = pos_week_list[self.post_count][3]
+
+        watchface2_week.set_pos(time_post_post1,time_post_post2)
+        watchface2_week.set_size(time_post_size1,time_post_size2)
+        watchface2_week.set_style_text_align(time_post_align,0)
+
+        watchface2_week.set_recolor(True)
+        watchface2_week.set_text(color_tmp+str(msg[3])) #星期
+        # watchface2_week.set_text(msg[3])#星期
         # watchface2_week.set_src("U:/static/watch_plate/style_2/week/%d_week.png"%(msg[5]))   #星期
 
     def __signal(self, event, msg):
@@ -609,10 +759,31 @@ class WatchFace2():
             # watchface2_res_stat_battery_img.set_src("U:/static/vbat_%d.png"%(msg[1]))#"U:/vbat_60.png"
         pass
     def __stepValue(self, event, msg):
-        if msg == None:    
-            watchface2_step_txt.set_text("0")
+        print("__stepValue __signal_cb:",str(msg))
+        
+        color_tmp = color_list[self.color_count]
+        print("__stepValue:{} self.color_count{} self.post_count:{}\r\n".format(color_tmp,self.color_count,self.post_count))
+        time_post_align = pos_step_list[self.post_count][0]
+        time_post_size1 = pos_step_list[self.post_count][2]
+        time_post_size2 = pos_step_list[self.post_count][4]
+        time_post_post1 = pos_step_list[self.post_count][1]
+        time_post_post2 = pos_step_list[self.post_count][3]
+
+        watchface2_step_txt.set_pos(time_post_post1,time_post_post2)
+        watchface2_step_txt.set_size(time_post_size1,time_post_size2)
+        watchface2_step_txt.set_style_text_align(time_post_align,0)
+
+        if msg != None:
+            watchface2_step_txt.set_recolor(True) #颜色重绘
+            watchface2_step_txt.set_text(color_tmp+str(msg)) #步数
         else:
-            watchface2_step_txt.set_text(str(msg))
+            watchface2_step_txt.set_recolor(True)
+            watchface2_step_txt.set_text(color_tmp+str("0")) #步数
+        # if msg == None:    
+        #     watchface2_step_txt.set_text("0")                                                                                                                                                                                                                                                                                                                     
+
+        # else:
+        #     watchface2_step_txt.set_text(str(msg))
 
 
     # def __weather_type(self, event, msg):
index 788971f..d5c3755 100644 (file)
@@ -676,7 +676,7 @@ class TemperatureScreen(Screen):
         EventMesh.publish("set_temp_state",0)
         EventMesh.publish(constants.EVENT.STOP_TEMP)
     def done_return(self): 
-        EventMesh.publish("load_screen", {"screen": "health"})
+        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -844,7 +844,7 @@ class Spo2Screen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "health"})
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
             if msg == 2:
@@ -1022,12 +1022,12 @@ class Spo2Screen(Screen):
         EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
 
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "health"})
+        EventMesh.publish("return_prev_screen")
 
     
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "health"})
+        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1207,7 +1207,7 @@ class HeartrateScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "health"})
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
             if msg == 2:
@@ -1382,7 +1382,7 @@ class HeartrateScreen(Screen):
         print("stop debug10")
         EventMesh.publish(constants.EVENT.STOP_HEART)
     def done_return(self): 
-        EventMesh.publish("load_screen", {"screen": "health"})
+        EventMesh.publish("return_prev_screen")
     # def done_left_to_right(self):
         # EventMesh.publish("return_prev_screen")
 
@@ -2137,7 +2137,7 @@ class bloodpressureScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "health"})
+                EventMesh.publish("return_prev_screen")
 
         elif  code == lv.EVENT.SHORT_CLICKED:
             if msg == 2:
@@ -2392,7 +2392,7 @@ class bloodpressureScreen(Screen):
         EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
     def done_return(self): 
-        EventMesh.publish("load_screen", {"screen": "health"})
+        EventMesh.publish("return_prev_screen")
         
 
     def btn8_press(self):
index 29826af..7d3a573 100644 (file)
@@ -1038,7 +1038,7 @@ class RestoreScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
         elif code == lv.EVENT.SHORT_CLICKED:
             if msg == 2:
                 EventMesh.publish("load_screen", {"screen": "restore_confirm"})
@@ -1047,7 +1047,7 @@ class RestoreScreen(Screen):
                 EventMesh.publish("return_prev_screen")
                 pass
     def done_return(self): 
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("return_prev_screen")
 
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
@@ -1100,7 +1100,7 @@ class VersionScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
           
     def done_click(self):
         self.btn_count += 1
@@ -1113,7 +1113,7 @@ class VersionScreen(Screen):
             EventMesh.publish("load_screen", {"screen": "factorymode"})
 
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("return_prev_screen")
 
    
 
@@ -1246,19 +1246,20 @@ class PoweroffScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
         elif code == lv.EVENT.SHORT_CLICKED:
             if msg == 2:
                 EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
                 pass
             elif msg == 3:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
+                # EventMesh.publish("load_screen", {"screen": "setting"})
                 pass
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("return_prev_screen")
 
     def btn1_release(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("return_prev_screen")
         
 
     def btn8_press(self):
@@ -1691,10 +1692,10 @@ class ImeiScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
 
     def done_return(self):
-        EventMesh.publish("load_screen", {"screen": "setting"})
+        EventMesh.publish("return_prev_screen")
 
     def btn1_release(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
@@ -1726,7 +1727,7 @@ class AppScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
 
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "setting"})
@@ -1904,7 +1905,7 @@ class BrightnessScreen(Screen):
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
         elif code == lv.EVENT.SHORT_CLICKED:
             if msg == 2:
                 EventMesh.publish("push_add_brightness_level")
@@ -2188,7 +2189,7 @@ class totalvolumeScreen(Screen):#总的铃声调节
         dir = lv.indev_t.get_gesture_dir(indev)
         if code == lv.EVENT.GESTURE: #手势向左还是向右 还是向下向上
             if dir == lv.DIR.RIGHT:
-                EventMesh.publish("load_screen", {"screen": "setting"})
+                EventMesh.publish("return_prev_screen")
         elif code == lv.EVENT.SHORT_CLICKED:
             if msg == 2:
                 self.volum_size+=2
index 3f1ae9f..ad5742e 100644 (file)
@@ -56,7 +56,7 @@ def camCapturecallback(result_list):
         EventMesh.publish("save_album_succ",1)
         pass
     pass
-dec = camera.camCapture(0,240,320,1,240,280)
+dec = camera.camCapture(0,240,320,1,240,284)
 dec.callback(camCapturecallback)
 
 camera_full_popup_screen = None
@@ -201,7 +201,7 @@ class cameraScreen(Screen):#相机拍照二级界面
             ret = dec.set_img(camera_img_test)
             
             camera_img_test.align(lv.ALIGN.CENTER, 0, 0)
-            camera_img_test.set_size(240,280)
+            camera_img_test.set_size(240,284)
             
         
             camera_camera_btn = lv.img(camera_popup_screen)
@@ -316,7 +316,7 @@ class cameraScreen(Screen):#相机拍照二级界面
         if int(album_data) <= 1:
             date_tmp = utime.localtime()
             time_tmp = utime.mktime(date_tmp)
-            dec.start(240,280, "U:/static/1_camera.jpg")
+            dec.start(240,284, "U:/static/1_camera.jpg")
         else:
             EventMesh.publish("load_screen", {"screen": "camera_full"})
             
@@ -371,7 +371,7 @@ class cameraalbumScreen(Screen):#相册
 
             camera_album_popup_img1 = lv.img(camera_album_popup_screen)
             camera_album_popup_img1.set_pos(0, 0)
-            camera_album_popup_img1.set_size(240, 280)
+            camera_album_popup_img1.set_size(240, 284)
             
             # camera_album_popup_img1.add_flag(lv.obj.FLAG.HIDDEN)
             # camera_album_popup_img1.add_flag(lv.obj.FLAG.CLICKABLE)
@@ -1250,6 +1250,7 @@ class voiceInCallScreen(Screen):#语音通话打入中
             EventMesh.publish("return_prev_screen")
 
     def answer(self,e):
+        self.call_timer1.stop()
         self.call_timer.stop()
         self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
@@ -1263,6 +1264,9 @@ class voiceInCallScreen(Screen):#语音通话打入中
         self.aud.stop() 
     
     def hangup(self,e):
+        self.call_timer.stop()
+        self.call_timer1.stop()
+        self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
         call_id = str(EventMesh.publish("get_vedio_call_id"))#
         meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
@@ -1411,6 +1415,7 @@ class vedioCallingCallScreen(Screen):#视频通话打入中
 
     def answer(self,e):
         self.call_timer.stop()
+        self.call_timer1.stop()
         self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
         EventMesh.publish("clear_jrtc_init_state")
@@ -1431,6 +1436,9 @@ class vedioCallingCallScreen(Screen):#视频通话打入中
         self.aud.stop() 
     
     def hangup(self,e):
+        self.call_timer.stop()
+        self.call_timer1.stop()
+        self.aud.stop() 
         EventMesh.publish("set_UI_high_priority", 0)
         call_id = str(EventMesh.publish("get_vedio_call_id"))#
         meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
@@ -1844,7 +1852,7 @@ class videolistScreen(Screen):
 
 
             videolist_top_title = lv.label(videolist_screen)
-            videolist_top_title.set_pos(0, 5)
+            videolist_top_title.set_pos(0, 10)
             videolist_top_title.set_size(LCD_SIZE_W, 30)
             videolist_top_title.set_text("视频通话账号")
             videolist_top_title.set_long_mode(lv.label.LONG.WRAP)
diff --git a/2.sdk-ZY/project/W9/usr/static/menu_time.png b/2.sdk-ZY/project/W9/usr/static/menu_time.png
deleted file mode 100644 (file)
index c7941f5..0000000
Binary files a/2.sdk-ZY/project/W9/usr/static/menu_time.png and /dev/null differ
diff --git a/2.sdk-ZY/project/W9/usr/static/menustyle_select.png b/2.sdk-ZY/project/W9/usr/static/menustyle_select.png
deleted file mode 100644 (file)
index 1ad816b..0000000
Binary files a/2.sdk-ZY/project/W9/usr/static/menustyle_select.png and /dev/null differ
index 863c481..b40697d 100644 (file)
@@ -14,8 +14,8 @@ import urandom
 import uhashlib
 import ubinascii
 from ui import style_font_youyuan_20,style_screen,Screen,style_img
-LCD_SIZE_H = 282
-LCD_SIZE_W = 240 
+from lcd import LCD_SIZE_W,LCD_SIZE_H
+
 ##########################
 import uwebsocket
 import urandom
index a48dd89..8f020d6 100644 (file)
@@ -894,7 +894,7 @@ alipay_paycode_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
 alipay_paycode_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 # alipay_paycode_cont = lv.obj(alipay_paycode_screen)
-# alipay_paycode_cont.set_size(240,280)
+# alipay_paycode_cont.set_size(240,284)
 # alipay_paycode_cont.set_pos(0,40)
 # alipay_paycode_cont.add_style(style_cont_alipay, lv.PART.MAIN | lv.STATE.DEFAULT)
 
index 65eb8be..6077b4a 100644 (file)
@@ -546,7 +546,7 @@ class FactoryModeBatTestScreen(Screen):
 
 FactoryModeAlipayInit_screen = lv.obj()
 FactoryModeAlipayInit_screen.center()
-FactoryModeAlipayInit_screen.set_size(240, 280)
+FactoryModeAlipayInit_screen.set_size(240, 284)
 FactoryModeAlipayInit_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 FactoryModeAlipayInit_label = lv.label(FactoryModeAlipayInit_screen)
index a3510f8..b9c3eba 100644 (file)
@@ -234,57 +234,70 @@ class SockManager(Abstract):
                 url = "http://app.api.thisiot.com/dev/device/check?imei={}&bid={}&sonce={}&sign={}".format(imei,pid_data,sonce_data,sign_data)
 
                 # print("url:{}".format(url))
-                response = request.get(url)
-                data_tmp ={}
+                data_tmp = {}
+                connect_flag = 0
+                try:
+                    response = request.get(url)
+                    connect_flag = 1
+                except Exception as e:
+                    usys.print_exception(e)
+                
                 # d_server_addr = "device.miwitracker.com"
                 # d_server_port = 8505
                 # d_md5_key = ""
                 # d_PID = "3G"
                 # response.content = {'protocolType': '', 'host': 'device.miwitracker.com', 'secretKey': '', 'port': 8505, 'bid': '3G', 'extJsonStr': ''}
                 # response.status_code=200
-                print("test-{}".format(response.status_code))
-                if response.status_code == 200:
-                    content = response.content
-                    c = next(content)
-                    # "api.xcloudtech.com"
-                    # d_server_port = 9000
-                    jsload_data =  ujson.loads(c)
-                    print("jsload_data-{}".format(jsload_data))
-                    # jsload_data = {'data':'111','protocolType':'', 'host':'device.miwitracker.com', 'secretKey': 'bZld0ALsZTt15tKEZhOlLPgbsO75BLTP', 'port':8505, 'bid': '3G', 'extJsonStr': ''}
-                    # ujson.loads(c)
-                    
-                    if "success" in jsload_data:
-                        success = jsload_data["success"]
-                        if success == True:#合法设备
-                            if "data" in jsload_data:
-                                data_tmp = jsload_data["data"]#返回的数据 
-                                print("data_tmp:{}".format(data_tmp))
-                                code = jsload_data["code"]
-                                if code == 20000:#合法的设备
-                                    protocloType = data_tmp["protocolType"]#协议类型
-                                    host = data_tmp["host"]#服务骑地址
-                                    secretKey = data_tmp["secretKey"]#
-                                    pid = data_tmp["bid"]#产品型号
-                                    port = data_tmp["port"]#端口号
-
-                                   
-
-                                    if host != '' and (port != '' and port != -1):
-                                        if host != '':
-                                            self.server_addr = host
-                                            EventMesh.publish("set_ip",str(self.server_addr))
-                                        
-                                        if port != '' and port != -1:
-                                            self.server_port = port
-                                            EventMesh.publish("set_com",self.server_port)
-                                        EventMesh.publish("set_new_key", str(secretKey))#获取pid和key
-                                        EventMesh.publish("set_new_pid",str(pid))#获取pid和key
-                                        # self.reconnect_timer_cb()#重连设备
-                                        print("self.reconnect_flag",self.reconnect_flag)
-                                        self.reconnect_flag = 0
-                                        self.reconnect()#重连设备
+                print("connect_flag:{}\r\n".format(connect_flag))
+                if connect_flag == 1:
+                    print("response.status_code:{} connect_flag:{}\r\n".format(response.status_code,connect_flag))
+                    if response.status_code == 200:
+                        content = response.content
+                        c = next(content)
+                        # "api.xcloudtech.com"
+                        # d_server_port = 9000
+                        jsload_data =  ujson.loads(c)
+                        print("jsload_data-{}".format(jsload_data))
+                        # jsload_data = {'data':'111','protocolType':'', 'host':'device.miwitracker.com', 'secretKey': 'bZld0ALsZTt15tKEZhOlLPgbsO75BLTP', 'port':8505, 'bid': '3G', 'extJsonStr': ''}
+                        # ujson.loads(c)
+                        
+                        if "success" in jsload_data:
+                            success = jsload_data["success"]
+                            if success == True:#合法设备
+                                if "data" in jsload_data:
+                                    data_tmp = jsload_data["data"]#返回的数据 
+                                    print("data_tmp:{}".format(data_tmp))
+                                    code = jsload_data["code"]
+                                    if code == 20000:#合法的设备
+                                        protocloType = data_tmp["protocolType"]#协议类型
+                                        host = data_tmp["host"]#服务骑地址
+                                        secretKey = data_tmp["secretKey"]#
+                                        pid = data_tmp["bid"]#产品型号
+                                        port = data_tmp["port"]#端口号
+
+                                    
+                                        if secretKey != '' and secretKey != -1:
+                                            EventMesh.publish("set_new_key", str(secretKey))#获取pid和key
+                                        if pid != '' and pid != -1:
+                                            EventMesh.publish("set_new_pid",str(pid))#获取pid和key
+
+                                        if host != '' and (port != '' and port != -1):
+                                            if host != '':
+                                                self.server_addr = host
+                                                EventMesh.publish("set_ip",str(self.server_addr))
+                                            
+                                            if port != '' and port != -1:
+                                                self.server_port = port
+                                                EventMesh.publish("set_com",self.server_port)
+                                            
+                                            # self.reconnect_timer_cb()#重连设备
+                                            print("self.reconnect_flag",self.reconnect_flag)
+                                            self.reconnect_flag = 0
+                                            self.reconnect()#重连设备
+                        self.publish_timer.stop()
+                        EventMesh.publish("set_server_state",1)#获取修改服务器状态
+                else:
                     self.publish_timer.stop()
-                    EventMesh.publish("set_server_state",1)#获取修改服务器状态
             else:
                 self.publish_timer.stop()
 
@@ -310,9 +323,10 @@ class SockManager(Abstract):
          while True:
             data = self.socket_send_queue.get()
             print("TCP:send data1 len:{}".format(len(data)))
-
-            #print("ui_queue_thread:data = {}".format(data))
-            socketsta = self.sock.getsocketsta() 
+             #print("ui_queue_thread:data = {}".format(data))
+            socketsta = -1
+            if self.sock != None:
+                socketsta = self.sock.getsocketsta() 
             if(socketsta == -1): #给释放了或者出错了
                 continue
             if(socketsta == 4):#正常连击
index 4fab87e..e30d068 100644 (file)
@@ -6996,7 +6996,12 @@ class UI(object):
                             # print('self.screen_prev.NAME:{} self.screen_old:{}'.format(self.screen_prev.NAME,self.screen.NAME))
                             if self.screen_prev.NAME != self.screen.NAME:
                                 EventMesh.publish("add_new_screen",screen_new)#保存新的界面用作返回上一级 
-                
+                        else:
+                            if self.screen.NAME == "main_menu": #上一个为弹窗界面并且也回到主界面就清空
+                                if self.page_count > 0:
+                                    self.page_id.clear()#清空所有
+                                self.page_count = 0
+                                self.page_id = ["main_menu"]
                 if msg.get("meta"):
                     self.screen.meta_info = msg.get("meta")
                 print("load_screen:post_processor_before_initialization")
@@ -7012,9 +7017,9 @@ class UI(object):
                 self.__lcd_on()
                 mem = gc.mem_free()
                 print('2剩余内存RAM:{} KB'.format(mem / 1024))
-                if self.screen_prev == None:
-                    if self.screen.meta_type != "popup":
-                        self.screen_prev = self.screen
+                # if self.screen_prev == None:
+                #     if self.screen.meta_type != "popup":
+                #         self.screen_prev = self.screen
                 self.screen_old = self.screen
                 # print('self.screen:{} self.screen_old:{}'.format(self.screen,self.screen_old))
                 self.system_ui_state = 1
index 2adfd78..bea231d 100644 (file)
@@ -473,7 +473,7 @@ watchface2_step_txt.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAU
 
 Watchface2_label_edit = lv.label(Watchface2)
 Watchface2_label_edit.set_pos(0, 0)
-Watchface2_label_edit.set_size(240, 282)
+Watchface2_label_edit.set_size(240, 284)
 Watchface2_label_edit.set_text(" ")
 Watchface2_label_edit.add_flag(lv.obj.FLAG.CLICKABLE)
 
index 26e63c4..f798cdf 100644 (file)
@@ -56,7 +56,7 @@ def camCapturecallback(result_list):
         EventMesh.publish("save_album_succ",1)
         pass
     pass
-dec = camera.camCapture(0,240,320,1,240,280)
+dec = camera.camCapture(0,240,320,1,240,284)
 dec.callback(camCapturecallback)
 
 camera_full_popup_screen = None
@@ -201,7 +201,7 @@ class cameraScreen(Screen):#相机拍照二级界面
             ret = dec.set_img(camera_img_test)
             
             camera_img_test.align(lv.ALIGN.CENTER, 0, 0)
-            camera_img_test.set_size(240,280)
+            camera_img_test.set_size(240,284)
             
         
             camera_camera_btn = lv.img(camera_popup_screen)
@@ -316,7 +316,7 @@ class cameraScreen(Screen):#相机拍照二级界面
         if int(album_data) <= 1:
             date_tmp = utime.localtime()
             time_tmp = utime.mktime(date_tmp)
-            dec.start(240,280, "E:/static/1_camera.jpg")
+            dec.start(240,284, "E:/static/1_camera.jpg")
         else:
             EventMesh.publish("load_screen", {"screen": "camera_full"})
             
@@ -371,7 +371,7 @@ class cameraalbumScreen(Screen):#相册
 
             camera_album_popup_img1 = lv.img(camera_album_popup_screen)
             camera_album_popup_img1.set_pos(0, 0)
-            camera_album_popup_img1.set_size(240, 280)
+            camera_album_popup_img1.set_size(240, 284)
             
             # camera_album_popup_img1.add_flag(lv.obj.FLAG.HIDDEN)
             # camera_album_popup_img1.add_flag(lv.obj.FLAG.CLICKABLE)