From: dxy15521469561 <1731678236@qq.com> Date: Tue, 23 Jul 2024 09:30:48 +0000 (+0800) Subject: W9: X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=9e6512487a6e7b62448357359602aa6d102af2dc;p=mirrors%2FASR1603_G5.git W9: AIGC 表盘优化 W8 K01优化界面 --- diff --git a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/appWechat.py b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/appWechat.py index 4a02c432..7802db55 100644 --- a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/appWechat.py +++ b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/appWechat.py @@ -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}) diff --git a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/protocol.py b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/protocol.py index 1bf7ac87..7e028c9d 100644 --- a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/protocol.py +++ b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/protocol.py @@ -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):#正常连击 diff --git a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui.py b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui.py index f6ca0ae6..dae5849c 100644 --- a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui.py +++ b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui.py @@ -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") diff --git a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui_video.py b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui_video.py index e66d9d32..49848f18 100644 --- a/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui_video.py +++ b/2.sdk-ZY/project/K01/sdk/services/microPython/ports/quectel/core/ui_video.py @@ -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"))# diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/Makefile b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/Makefile index 3621f58d..db1a7c74 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/Makefile +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/Makefile @@ -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 diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ai.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ai.py index 038bcfcf..69c4cfe2 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ai.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ai.py @@ -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() diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/alarm.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/alarm.py index 96e70bba..f9fc31d0 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/alarm.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/alarm.py @@ -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") diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/appWechat.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/appWechat.py index e5e898b6..8f2c0dde 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/appWechat.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/appWechat.py @@ -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}) diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/lcd.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/lcd.py index e88fca34..2dae9819 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/lcd.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/lcd.py @@ -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 diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/main_init.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/main_init.py index dd0d6812..fd07bd0d 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/main_init.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/main_init.py @@ -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 diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/mgr.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/mgr.py index 91568ef8..37b8825f 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/mgr.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/mgr.py @@ -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])) diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui.py index 6e168078..423b6c2d 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui.py @@ -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 diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py index 5d7df377..8f8570e8 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py @@ -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): diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_health.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_health.py index 788971f3..d5c37551 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_health.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_health.py @@ -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): diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_setting.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_setting.py index 29826af2..7d3a5731 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_setting.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_setting.py @@ -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 diff --git a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_video.py b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_video.py index 3f1ae9f7..ad5742e4 100644 --- a/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_video.py +++ b/2.sdk-ZY/project/W9/sdk/services/microPython/ports/quectel/core/ui_video.py @@ -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 index c7941f55..00000000 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 index 1ad816b6..00000000 Binary files a/2.sdk-ZY/project/W9/usr/static/menustyle_select.png and /dev/null differ diff --git a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/aigcdial.py b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/aigcdial.py index 863c4816..b40697d1 100644 --- a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/aigcdial.py +++ b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/aigcdial.py @@ -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 diff --git a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appAlipay.py b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appAlipay.py index a48dd898..8f020d6f 100644 --- a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appAlipay.py +++ b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appAlipay.py @@ -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) diff --git a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appFactoryMode.py b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appFactoryMode.py index 65eb8bee..6077b4a9 100644 --- a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appFactoryMode.py +++ b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/appFactoryMode.py @@ -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) diff --git a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/protocol.py b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/protocol.py index a3510f83..b9c3ebad 100644 --- a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/protocol.py +++ b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/protocol.py @@ -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):#正常连击 diff --git a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui.py b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui.py index 4fab87e4..e30d0687 100644 --- a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui.py +++ b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui.py @@ -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 diff --git a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py index 2adfd785..bea231d4 100644 --- a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py +++ b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py @@ -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) diff --git a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_video.py b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_video.py index 26e63c4b..f798cdf7 100644 --- a/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_video.py +++ b/2.sdk/project/W8/sdk/services/microPython/ports/quectel/core/ui_video.py @@ -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)