From: d15521469561 Date: Tue, 16 May 2023 01:57:12 +0000 (+0800) Subject: 增加体温协议上传 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=95c91bd6df973953dbcd94271eb4a30fe59bfe0b;p=mirrors%2FASR1603_G5.git 增加体温协议上传 --- diff --git a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/EventMesh.py b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/EventMesh.py index 1b32fbdd..c660e42a 100644 --- a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/EventMesh.py +++ b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/EventMesh.py @@ -72,3 +72,15 @@ def set_log(log_adapter): def add_filter(flt): event_store.add_filter(flt) + +def callback_wrapper(callback):#按键回调 + def wrapped_callback(*args, **kwargs): + try: + return callback(*args, **kwargs) + except Exception as e: + # 在这里处理异常,例如打印错误信息,保存到日志文件,等等。 + print('Exception in callback:', e) + # 如果需要,你可以在这里重新抛出异常 + # raise + return wrapped_callback + diff --git a/2.sdk/images/customer_fs.bin b/2.sdk/images/customer_fs.bin index 0c732537..baf94f0f 100644 Binary files a/2.sdk/images/customer_fs.bin and b/2.sdk/images/customer_fs.bin differ diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/alarm.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/alarm.py index 3cc4089e..d3f2b563 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/alarm.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/alarm.py @@ -722,7 +722,7 @@ class ClkListScreen(Screen): _btn.set_size(230,75) _btn.set_pos(8,79*i) _btn.add_style(style_cont_alarm, lv.PART.MAIN | lv.STATE.DEFAULT) - _btn.add_event_cb(lambda e: self.edit_alarm(e), + _btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_alarm(e)), lv.EVENT.CLICKED, None) num = each["idx"] @@ -836,9 +836,9 @@ class NewEditClk(Screen): def __init__(self): super().__init__() self.meta = clk_edit_screen - clk_edit_weekday.add_event_cb(lambda e: self.edit_weekday(e), lv.EVENT.CLICKED, None) - clk_edit_time.add_event_cb(lambda e: self.edit_time(e), lv.EVENT.CLICKED, None) - clk_delete_alarm.add_event_cb(lambda e: self.delete_alarm(e), lv.EVENT.CLICKED, None) + clk_edit_weekday.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_weekday(e)), lv.EVENT.CLICKED, None) + clk_edit_time.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_time(e)), lv.EVENT.CLICKED, None) + clk_delete_alarm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete_alarm(e)), lv.EVENT.CLICKED, None) def initialization(self): print("hahahahh",self.meta_info["idx"]) @@ -923,13 +923,13 @@ class ClkPeriod(Screen): ] - clk_repeat_switch.add_event_cb(lambda e: self.save_choice(e,1), lv.EVENT.VALUE_CHANGED, None) - clk_repeat_switch1.add_event_cb(lambda e: self.save_choice(e,2), lv.EVENT.VALUE_CHANGED, None) - clk_repeat_switch2.add_event_cb(lambda e: self.save_choice(e,3), lv.EVENT.VALUE_CHANGED, None) - clk_repeat_switch3.add_event_cb(lambda e: self.save_choice(e,4), lv.EVENT.VALUE_CHANGED, None) - clk_repeat_switch4.add_event_cb(lambda e: self.save_choice(e,5), lv.EVENT.VALUE_CHANGED, None) - clk_repeat_switch5.add_event_cb(lambda e: self.save_choice(e,6), lv.EVENT.VALUE_CHANGED, None) - clk_repeat_switch6.add_event_cb(lambda e: self.save_choice(e,0), lv.EVENT.VALUE_CHANGED, None) + clk_repeat_switch.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e,1)), lv.EVENT.VALUE_CHANGED, None) + clk_repeat_switch1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e,2)), lv.EVENT.VALUE_CHANGED, None) + clk_repeat_switch2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e,3)), lv.EVENT.VALUE_CHANGED, None) + clk_repeat_switch3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e,4)), lv.EVENT.VALUE_CHANGED, None) + clk_repeat_switch4.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e,5)), lv.EVENT.VALUE_CHANGED, None) + clk_repeat_switch5.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e,6)), lv.EVENT.VALUE_CHANGED, None) + clk_repeat_switch6.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e,0)), lv.EVENT.VALUE_CHANGED, None) def initialization(self): self.choice_list = self.meta_info["days"] diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py index 3bfeb3db..bb1195c2 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py @@ -429,13 +429,13 @@ class Alipay_1_1(Screen): super().__init__() self.meta = alipay_1_1_screen #付款码 - alipay_imgbtn_3.add_event_cb(lambda e: self.alipay_paycode(e), + alipay_imgbtn_3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.alipay_paycode(e)), lv.EVENT.PRESSED, None) #收钱 - alipay_imgbtn_2.add_event_cb(lambda e: self.alipay_collect(e), + alipay_imgbtn_2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.alipay_collect(e)), lv.EVENT.PRESSED, None) #家长设置 - alipay_imgbtn_1.add_event_cb(lambda e: self.alipay_parent(e), + alipay_imgbtn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.alipay_parent(e)), lv.EVENT.PRESSED, None) def initialization(self): @@ -746,7 +746,7 @@ class Alipay_pay_success(Screen): def __init__(self): super().__init__() self.meta = alipay_pay_success_screen - alipay_pay_bg.add_event_cb(lambda e: self.button_cb(e), lv.EVENT.CLICKED, None) + alipay_pay_bg.add_event_cb(lambda e: EventMesh.callback_wrapper(self.button_cb(e)), lv.EVENT.CLICKED, None) def post_processor_after_initialization(self): print("money:",str(self.meta_info)) diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appFactoryMode.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appFactoryMode.py index 900bd41d..68f54ee2 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appFactoryMode.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appFactoryMode.py @@ -60,7 +60,7 @@ class FactoryModeScreen(Screen): def __init__(self): super().__init__() self.meta = factorymode_screen - factorymode_location.add_event_cb(lambda e: self.load_screen(e, {"screen": "FactoryModeLocation"}), lv.EVENT.CLICKED, None) + factorymode_location.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "FactoryModeLocation"})), lv.EVENT.CLICKED, None) def done_return(self): diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appWechat.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appWechat.py index 82631aaa..bba7d934 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appWechat.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appWechat.py @@ -116,9 +116,9 @@ class WechatScreen(Screen): self.volum_size = 8 self.aud.setVolume(self.volum_size) self.meta = wechat_screen - wechat_press_btn.add_event_cb(lambda e: self.talking(e), + wechat_press_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.talking(e)), lv.EVENT.LONG_PRESSED, None) - wechat_press_btn.add_event_cb(lambda e: self.sending(e), + wechat_press_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sending(e)), lv.EVENT.RELEASED, None) self.timer = osTimer() self.second_timer = osTimer() @@ -229,7 +229,7 @@ class WechatScreen(Screen): wechat_btn.set_pos(230-self.startWidth,self.startY ) wechat_btn.add_style(style_wechat_r_btn, lv.PART.MAIN | lv.STATE.DEFAULT) if value.find("R:") != -1 or value.find("S:") != -1: - wechat_btn.add_event_cb(lambda e: self.play_label(e), + wechat_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.play_label(e)), lv.EVENT.CLICKED, None) _btn_label1 = lv.label(wechat_btn) diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py index 67a259e3..6fd352a3 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py @@ -68,6 +68,9 @@ class PROTOCOL: BOOTOFF_SEND = "BOOTOFF_SEND" BOOTOFF_RECV = "BOOTOFF_RECV" + WDSTART_SEND ="wdstart_SEND" + WDSTART_RECV ="wdstart_RECV" + class EVENT: CHANNEL_SOCKET_SEND = "CHANNEL_SOCKET_SEND" START_LOCATION = "START_LOCATION" diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py index 195b84e9..82bb5e2e 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py @@ -132,12 +132,12 @@ if __name__ == '__main__': from protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,CENTER_ProtoCol,UPLOAD_ProtoCol,\ TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,\ - ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol + ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol import mgr as mgr print("init7:{}".format(utime.localtime())) - from mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager,gethistoryDataManager,getUpLoadDataManager, \ - NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager + from mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager,gethistoryDataManager,getUpLoadDataManager, getplayAudiodStateManager,\ + NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager,getTempTimeManager print("init8:{}".format(utime.localtime())) @@ -180,7 +180,11 @@ if __name__ == '__main__': app.append_manager(getStorageDataManager()) app.append_manager(getUpLoadDataManager()) app.append_manager(getVolumSizeManager()) + app.append_manager(getTempTimeManager()) + app.append_manager(getplayAudiodStateManager()) + print("init44444444444444444444444441:{}".format(utime.localtime())) + print("init11:{}".format(utime.localtime())) pcr = ProtoColResolver() pcr.add_support(LK_ProtoCol()) @@ -206,11 +210,12 @@ if __name__ == '__main__': # pcr.add_support(CENTER_ProtoCol()) pcr.add_support(CENTER_ProtoCol()) pcr.add_support(bootoff_ProtoCol()) + pcr.add_support(WDSTART_ProtoCol()) sm = SockManager() sm.add_support_resolver(pcr) app.append_manager(sm) app.start() print("init12:{}".format(utime.localtime())) - #EventMesh.publish("load_screen", {"screen": "FIND"}) + diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py index 246f16e3..e754410b 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py @@ -587,6 +587,11 @@ class DeviceInfoManager(Abstract): self.UD_time = 0 self.upload_time = 0 self.UD_timeout = 7*60 + + self.temp_time = 0 + self.temp_state = 0 + self.temp_one_state = 0 + self.aud = audio.Audio(0) print("DeviceInfoManager:1") self.gsensor = SC7A20() @@ -692,6 +697,8 @@ class DeviceInfoManager(Abstract): # EventMesh.publish("time", self.get_time()) # EventMesh.publish("battery", self.get_battery()) # EventMesh.publish("signal", self.get_signal()) + + self.timer_push = 0 date_tmp = utime.localtime() time_tmp = utime.mktime(date_tmp) @@ -754,6 +761,101 @@ class DeviceInfoManager(Abstract): if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1 or battery[1] != 1: + + get_temp_time = EventMesh.publish("get_temp_time") + get_temp_state = EventMesh.publish("get_temp_state") + # print("get_temp_time:{} self.temp_one_state:{}".format(get_temp_time,self.temp_one_state)) + if get_temp_time != None:#定时测量体温 + + if get_temp_time > 0: + if get_temp_state != None: + if get_temp_state == 0 or get_temp_state == 2 or get_temp_state == 3 : + if (time_tmp-self.temp_time) >= get_temp_time:#大于一个周期的时间,重新赋值 + self.temp_one_state = 0 + self.temp_state = 0 + self.temp_time = time_tmp + + if self.old_time != get_temp_time:#重复修改测量间隔时间 + self.temp_one_state = 0 + self.temp_time = time_tmp#防止改变时间的时候正在开启测量突然10s就停止测量 + self.temp_state = 0 + self.old_time = get_temp_time + + if (time_tmp-self.temp_time) == 0 and self.temp_state == 0:#一开始就测量 测量一分钟停止测量体温 + self.temp_state = 1 + self.temp_one_state = 0 + EventMesh.publish("set_temp_state",2) + print("AUTO temp:") + EventMesh.publish(constants.EVENT.START_TEMP) + + elif (time_tmp-self.temp_time) >= 60 and self.temp_state == 1: + self.temp_state = 0 + self.temp_one_state = 0 + temp = EventMesh.publish(constants.EVENT.GET_TEMP) + + tmp_f = str(temp).split('.')[0] + tmp_f_tmp = int(tmp_f) + + tmp_d = str(temp).split('.')[1][:1] + tmp_d_tmp = int(tmp_d) + EventMesh.publish(constants.EVENT.STOP_TEMP) + print("AUTO temp:{} tmp_f:{} tmp_f_tmp:{} tmp_d:{} tmp_d_tmp:{}".format(temp,tmp_f,tmp_f_tmp,tmp_d,tmp_d_tmp)) + EventMesh.publish("set_temp_state",0) + EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp]) + + if self.temp_state == 0 or get_temp_state == 3:#只有不在测量的时候才测单次的 + if get_temp_state == 3:#单次测量 + self.temp_one_state+=1 + if self.temp_one_state == 1: + EventMesh.publish("set_temp_state",3) + print("AUTO one temp:1") + EventMesh.publish(constants.EVENT.START_TEMP) + elif self.temp_one_state > 6: + self.temp_one_state = 0 + temp = EventMesh.publish(constants.EVENT.GET_TEMP) + + tmp_f = str(temp).split('.')[0] + tmp_f_tmp = int(tmp_f) + + tmp_d = str(temp).split('.')[1][:1] + tmp_d_tmp = int(tmp_d) + EventMesh.publish(constants.EVENT.STOP_TEMP) + print("once temp:{} tmp_f:{} tmp_f_tmp:{} tmp_d:{} tmp_d_tmp:{}".format(temp,tmp_f,tmp_f_tmp,tmp_d,tmp_d_tmp)) + EventMesh.publish("set_temp_state",0) + EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp]) + else: + self.temp_one_state = 0 + self.temp_state = 0 + + else: + if self.temp_state != 0: + if self.temp_state == 2: + self.temp_state = 0 + EventMesh.publish(constants.EVENT.STOP_TEMP) + if get_temp_state == 0 or get_temp_state == 1: + self.temp_one_state = 0 + + if get_temp_state == 3:#单次测量 + self.temp_one_state+=1 + if self.temp_one_state == 1: + print("AUTO one temp:2") + EventMesh.publish("set_temp_state",3) + EventMesh.publish(constants.EVENT.START_TEMP) + elif self.temp_one_state > 6: + self.temp_one_state = 0 + temp = EventMesh.publish(constants.EVENT.GET_TEMP) + + tmp_f = str(temp).split('.')[0] + tmp_f_tmp = int(tmp_f) + + tmp_d = str(temp).split('.')[1][:1] + tmp_d_tmp = int(tmp_d) + EventMesh.publish(constants.EVENT.STOP_TEMP) + print("AUTO once temp:{} tmp_f:{} tmp_f_tmp:{} tmp_d:{} tmp_d_tmp:{}".format(temp,tmp_f,tmp_f_tmp,tmp_d,tmp_d_tmp)) + EventMesh.publish("set_temp_state",0) + EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp]) + + if hr_time != None: # print("hr......01....{}\r\n".format(hr_time)) if hr_time > 0: @@ -1877,6 +1979,7 @@ class getHrTimeManager(Abstract): self.set_time = 0 self.set_hr = 0 #0关闭 1手动 2 自动测量按照时间间隔测试心率 self.set_spo2 = 0 + self.get_temp = 0 check = ql_fs.path_exists("/ext/static/storage_file/config.json") if check == True: with open("/ext/static/storage_file/config.json","r") as fd: @@ -1914,7 +2017,41 @@ class getHrTimeManager(Abstract): def get_spo2_state(self, event, msg): return self.set_spo2 - +#体温 +class getTempTimeManager(Abstract): + def __init__(self): + self.set_time = 0 + self.get_temp = 0 + check = ql_fs.path_exists("/ext/static/storage_file/config.json") + if check == True: + with open("/ext/static/storage_file/config.json","r") as fd: + self.read_data = ujson.load(fd) + if self.read_data != {}: + b = str("temp_time") in self.read_data.keys() + if b == True: + self.set_time = self.read_data["temp_time"] + + def post_processor_after_instantiation(self): + EventMesh.subscribe("set_temp_time", self.set_temp_time) + EventMesh.subscribe("get_temp_time", self.get_temp_time) + + EventMesh.subscribe("set_temp_state", self.set_temp_state) + EventMesh.subscribe("get_temp_state", self.get_temp_state) + + + def set_temp_time(self, event, msg): + self.set_time = msg + + def get_temp_time(self, event, msg): + + return self.set_time + + def set_temp_state(self, event, msg): + self.get_temp = msg + + def get_temp_state(self, event, msg): + return self.get_temp + class getBrightnessManager(Abstract):#获取亮度级别 def __init__(self): self.level = 6#默认值6 @@ -2027,6 +2164,20 @@ class getUpLoadDataManager(Abstract):# def get_upload_data(self, event, msg): return self.upload_time + +class getplayAudiodStateManager(Abstract):#获取设置播放音频状态 + def __init__(self): + self.play = 0 + + def post_processor_after_instantiation(self): + EventMesh.subscribe("set_audio_state", self.set_audio_state) + EventMesh.subscribe("get_audio_state", self.get_audio_state) + + def set_audio_state(self, event, msg): + self.play = msg + + def get_audio_state(self, event, msg): + return self.play class getVolumSizeManager(Abstract):#设置或获取音量大小数据 def __init__(self): diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py index 77f39818..94517e00 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py @@ -645,9 +645,12 @@ class HRSTART_ProtoCol(ProtoCol): get_spo2_state = EventMesh.publish("get_spo2_state") if (get_spo2_state == 3) or (get_spo2_state == 0 and get_hr_state == 0):#只要两个不在测量 单次优先级最低 EventMesh.publish("set_hr_state",3)#3代表单次测量 - elif hrTotal > 1: - if hrTotal <= 300: + else: + if hrTotal > 0 and hrTotal <= 300: hrTotal = 300 + elif hrTotal >= 65536: + hrTotal = 65536 + storage_tmp = EventMesh.publish("get_storage_data") storage_tmp["measure_time"] = hrTotal EventMesh.publish("set_storage_data", storage_tmp) @@ -760,12 +763,58 @@ class TEMP_ProtoCol(ProtoCol): def recv(self, event, msg): """ - @param event: 心率数据下发 + @param event: @param msg: 接收到的下行数据 """ # print("HRSTART_ProtoCol RECV msg:") #EventMesh.publish(constants.PROTOCOL.TEMP_SEND) +class WDSTART_ProtoCol(ProtoCol): + """上传体温频率""" + TYPE = "wdstart" + def send(self, event, msg): + #[XT*334588000000156*len*wdstart,300] + send_data = "SZKW*%s*0007*wdstart"%(self.imei) + MD5_SIGN = self.pack_MD5_head(send_data) + data = "[%s%s]"%(str(MD5_SIGN),send_data) + # print("temp:data:%s"%(data)) + # 通过socket发送到服务器端 + EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data) + + def recv(self, event, msg): + """ + @param event: 体温下发频率数据 + @param msg: 接收到的下行数据 + """ + # print("WDSTART_ProtoCol RECV msg:") + print("wdstart:{}".format(msg)) + msg = msg[1:-1] + msg_tmp = msg.decode('ascii') + msg_tmp = msg_tmp.split(',') + msg_tmp = msg_tmp[1] + + tempTotal = int(msg_tmp) + print("tempTotal:{}".format(tempTotal)) + if tempTotal == 1:#单次测量 + get_temp_state = EventMesh.publish("get_temp_state") + print("get_temp_state:{}".format(get_temp_state)) + if get_temp_state == 0:#只要两个不在测量 单次优先级最低 + + EventMesh.publish("set_temp_state",3)#3代表单次测量 + else: + if tempTotal > 0 and tempTotal <= 300: + tempTotal = 300 + elif tempTotal >= 65536: + tempTotal = 65536 + storage_tmp = EventMesh.publish("get_storage_data") + storage_tmp["temp_time"] = tempTotal + EventMesh.publish("set_storage_data", storage_tmp) + EventMesh.publish("set_temp_time",tempTotal) + print("storage_tmp:{}".format(storage_tmp)) + with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd: + ujson.dump(storage_tmp,fd) + + EventMesh.publish(constants.PROTOCOL.WDSTART_SEND) #解绑 # [XT*334588000000156*0003*DLT] def reset_factory(msg): @@ -1000,7 +1049,7 @@ class ProtoColResolver(object): # data = data[7:] # EventMesh.publish(constants.PROTOCOL.H04_RECV, data) try: - print("handler:{}".format(type(data))) + print("handler:{} data type:{}".format(data,type(data))) data_tmp = data.decode('ascii') data_tmp = data_tmp.split(']')[0] #去掉] ProtoCol_type = data_tmp.split('*')[3] #拿到协议标识 diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui.py index 2bf7fddd..dab1af4f 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui.py @@ -18,6 +18,17 @@ from lcd import lcd,lcd_ctrl,tp_cst816 from misc import PWM import uos import gc + +def audio_cb(event): + if event == 0: + EventMesh.publish("set_audio_state", 1) + print('audio-play start.') + elif event == 7: + EventMesh.publish("set_audio_state", 0) + print('audio-play finish.') + +aud = audio.Audio(0) +aud.setCallback(audio_cb) # -----------------------------------------style create-------------------------------------- style_screen = lv.style_t() style_screen.init() @@ -363,45 +374,45 @@ class PhoneScreen(Screen): self.meta = phone_screen - phone_one.add_event_cb(lambda e: self.one(e), + phone_one.add_event_cb(lambda e: EventMesh.callback_wrapper(self.one(e)), lv.EVENT.CLICKED, None) - phone_two.add_event_cb(lambda e: self.two(e), + phone_two.add_event_cb(lambda e: EventMesh.callback_wrapper(self.two(e)), lv.EVENT.CLICKED, None) - phone_three.add_event_cb(lambda e: self.three(e), + phone_three.add_event_cb(lambda e: EventMesh.callback_wrapper(self.three(e)), lv.EVENT.CLICKED, None) - phone_four.add_event_cb(lambda e: self.four(e), + phone_four.add_event_cb(lambda e: EventMesh.callback_wrapper(self.four(e)), lv.EVENT.CLICKED, None) - phone_five.add_event_cb(lambda e: self.five(e), + phone_five.add_event_cb(lambda e: EventMesh.callback_wrapper(self.five(e)), lv.EVENT.CLICKED, None) - phone_six.add_event_cb(lambda e: self.six(e), + phone_six.add_event_cb(lambda e: EventMesh.callback_wrapper(self.six(e)), lv.EVENT.CLICKED, None) - phone_seven.add_event_cb(lambda e: self.seven(e), + phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.seven(e)), lv.EVENT.CLICKED, None) - phone_eight.add_event_cb(lambda e: self.eight(e), + phone_eight.add_event_cb(lambda e: EventMesh.callback_wrapper(self.eight(e)), lv.EVENT.CLICKED, None) - phone_nine.add_event_cb(lambda e: self.nine(e), + phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.nine(e)), lv.EVENT.CLICKED, None) - phone_zero.add_event_cb(lambda e: self.zero(e), + phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)), lv.EVENT.CLICKED, None) - phone_call_btn.add_event_cb(lambda e: self.call(e), + phone_call_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.call(e)), lv.EVENT.CLICKED, None) - phone_contact_btn.add_event_cb(lambda e: self.contact(e), + phone_contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.contact(e)), lv.EVENT.CLICKED, None) - phone_delete_btn.add_event_cb(lambda e: self.delete(e), + phone_delete_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete(e)), lv.EVENT.CLICKED, None) - phone_start.add_event_cb(lambda e: self.start(e), + phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)), lv.EVENT.CLICKED, None)#短按显示* - phone_start.add_event_cb(lambda e: self.pressed_start(e), + phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)), lv.EVENT.LONG_PRESSED, None)#长按显示+ - phone_start.add_event_cb(lambda e: self.endpressed_start(e), + phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)), lv.EVENT.RELEASED, None)#释放按键 - phone_hash.add_event_cb(lambda e: self.hash(e), + phone_hash.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hash(e)), lv.EVENT.CLICKED, None) @@ -686,7 +697,7 @@ class CallLogScreen(Screen): _btn.set_size(240,80) _btn.set_pos(0,82*h) _btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - _btn.add_event_cb(lambda e: self.calling(e), + _btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling(e)), lv.EVENT.CLICKED, None) @@ -827,7 +838,7 @@ class DialingScreen(Screen): hangup_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE) hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) hangup_imgbtn.set_pos(80, 220) - hangup_imgbtn.add_event_cb(lambda e: self.hangup(e), + hangup_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)), lv.EVENT.CLICKED, None) self.meta = dialing_screen @@ -1007,8 +1018,8 @@ class MessageFullScreen(Screen): message_full_cancel.set_ext_click_area(20) self.meta = message_full_screen - message_full_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None) - message_full_cancel.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None) + message_full_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None) + message_full_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None) self.timer.start(10*1000,0,self.return_back) @@ -1176,7 +1187,7 @@ class PopupScreen(Screen): msg_btn.set_size(230,65) msg_btn.set_pos(0,67*count) msg_btn.add_style(style_sms_bg_btn, lv.PART.MAIN | lv.STATE.DEFAULT) - msg_btn.add_event_cb(lambda e: self.calling(e), + msg_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling(e)), lv.EVENT.CLICKED, None) title = tmp[0] @@ -1522,12 +1533,12 @@ class ToolboxScreen(Screen): toolbox_stopwatch_img.set_src("E:/static/tool/IMAGE_SECMENU_STOPWATCH.png") toolbox_stopwatch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) - toolbox_step_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "step"}), lv.EVENT.CLICKED, None) - toolbox_weather_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "weather"}), lv.EVENT.CLICKED, None) - toolbox_alarm_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "clk_list"}), lv.EVENT.CLICKED, None) - toolbox_sms_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "popup"}), lv.EVENT.CLICKED, None) - toolbox_countdown_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "countdown"}), lv.EVENT.CLICKED, None) - toolbox_stopwatch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "stopwatch"}), lv.EVENT.CLICKED, None) + toolbox_step_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "step"})), lv.EVENT.CLICKED, None) + toolbox_weather_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "weather"})), lv.EVENT.CLICKED, None) + toolbox_alarm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "clk_list"})), lv.EVENT.CLICKED, None) + toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.CLICKED, None) + toolbox_countdown_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "countdown"})), lv.EVENT.CLICKED, None) + toolbox_stopwatch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "stopwatch"})), lv.EVENT.CLICKED, None) self.meta = toolbox_screen def done_return(self): @@ -1615,9 +1626,9 @@ class IncomingCallScreen(Screen): incoming_call_hangup.set_pos(150, 220) incoming_call_hangup.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) incoming_call_hangup.set_src("E:/static/hang_up.png") - incoming_call_answer.add_event_cb(lambda e: self.answer(e), + incoming_call_answer.add_event_cb(lambda e: EventMesh.callback_wrapper(self.answer(e)), lv.EVENT.CLICKED, None) - incoming_call_hangup.add_event_cb(lambda e: self.hangup(e), + incoming_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)), lv.EVENT.CLICKED, None) self.meta = incoming_call_screen EventMesh.publish("set_UI_high_priority", 1) @@ -1732,10 +1743,10 @@ class IncomingCallScreen(Screen): EventMesh.publish("call_log_update_show_list") self.call_timer.start(6000, 1, self.call_timer_cb) - self.aud.play(1, 1, 'E:/static/R_CALL_mp3.mp3') #播放来电铃声 + self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声 def call_timer_cb(self,e): - self.aud.play(1, 1, 'E:/static/R_CALL_mp3.mp3') #播放来电铃声 + self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声 def answer(self,e): self.call_timer.stop() @@ -1820,7 +1831,7 @@ class OnCallScreen(Screen): on_call_hangup.set_pos(85, 220) on_call_hangup.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) on_call_hangup.set_src("E:/static/hang_up.png") - on_call_hangup.add_event_cb(lambda e: self.hangup(e), + on_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)), lv.EVENT.CLICKED, None) self.meta = on_call_screen @@ -1976,7 +1987,7 @@ class WeatherScreen(Screen): no_weather_degree = lv.img(weather_screen) no_weather_degree.set_pos(200, 40) no_weather_degree.set_size(22, 22) - no_weather_degree.set_src("E:/static/degree.png") + no_weather_degree.set_src("U:/static/degree.png") no_weather_degree.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) weather_detail_label = lv.label(weather_screen) @@ -2191,7 +2202,7 @@ class ContactsScreen(Screen): contact_btn.set_pos(0,82*i ) contact_btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT) # contact_btn.add_style(style_contact_btn_pressed, lv.PART.MAIN | lv.STATE.PRESSED) - contact_btn.add_event_cb(lambda e: self.calling(e), + contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling(e)), lv.EVENT.CLICKED, None) contact_btn_label_1 = lv.label(contact_btn) @@ -2255,6 +2266,7 @@ temperature_value_label = None temperature_wrist_label = None temperature_wrist_degree_img = None temperature_wrist_value_label = None +temperature_measure_end_label = None class TemperatureScreen(Screen): NAME = "temperature" @@ -2262,6 +2274,7 @@ class TemperatureScreen(Screen): super().__init__() self.meta = None self.temp_timer = osTimer() + self.count = 0 def initialization(self): global temperature_screen,temperature_bg_img ,temperature_body_label ,temperature_degree_img ,temperature_value_label,\ temperature_wrist_label,temperature_wrist_degree_img ,temperature_wrist_value_label @@ -2286,7 +2299,7 @@ class TemperatureScreen(Screen): temperature_degree_img = lv.img(temperature_screen) temperature_degree_img.set_pos(150, 70) temperature_degree_img.set_size(22, 22) - temperature_degree_img.set_src("E:/static/degree.png") + temperature_degree_img.set_src("U:/static/degree.png") temperature_degree_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) temperature_value_label = lv.label(temperature_screen) @@ -2308,24 +2321,51 @@ class TemperatureScreen(Screen): temperature_wrist_degree_img = lv.img(temperature_screen) temperature_wrist_degree_img.set_pos(150, 150) temperature_wrist_degree_img.set_size(22, 22) - temperature_wrist_degree_img.set_src("E:/static/degree.png") + temperature_wrist_degree_img.set_src("U:/static/degree.png") temperature_wrist_degree_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) temperature_wrist_value_label = lv.label(temperature_screen) temperature_wrist_value_label.set_pos(100,150) temperature_wrist_value_label.set_size(50, 20) - temperature_wrist_value_label.set_text("24.9℃") + temperature_wrist_value_label.set_text("24.9") temperature_wrist_value_label.set_long_mode(lv.label.LONG.WRAP) temperature_wrist_value_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) temperature_wrist_value_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) + + temperature_measure_end_label = lv.label(temperature_screen) + temperature_measure_end_label.set_pos(0,210) + temperature_measure_end_label.set_size(240, 30) + temperature_measure_end_label.set_text(" ") + temperature_measure_end_label.set_long_mode(lv.label.LONG.WRAP) + temperature_measure_end_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) + temperature_measure_end_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) self.meta = temperature_screen + EventMesh.publish("set_temp_state",1) EventMesh.publish(constants.EVENT.START_TEMP) + self.count = 0 self.temp_timer.start(1*1000, 1, self.temp_timerout) def temp_timerout(self,*args): + self.count += 1 + EventMesh.publish("system_sleep_rest")#防止黑屏 temp = EventMesh.publish(constants.EVENT.GET_TEMP) - print("temp:{}".format(temp)) - temperature_value_label.set_text("{}".format(temp)) + tmp = str(temp).split('.')[0] + '.' + str(temp).split('.')[1][:1]#获取小数点后一位 舍去小数点最后一位 + temperature_value_label.set_text("{}".format(tmp)) + tmp_f = str(temp).split('.')[0] + tmp_f_tmp = int(tmp_f) + + tmp_d = str(temp).split('.')[1][:1] + tmp_d_tmp = int(tmp_d) + + print("temp:{} tmp_f:{} tmp_f_tmp:{} tmp_d:{} tmp_d_tmp:{}".format(temp,tmp_f,tmp_f_tmp,tmp_d,tmp_d_tmp)) + if self.count > 3*60: + self.count = 0 + EventMesh.publish("set_temp_state",0) + temperature_measure_end_label.set_text("测量完成") + EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp]) + self.temp_timer.stop() + EventMesh.publish(constants.EVENT.STOP_TEMP) def Close(self): + EventMesh.publish("set_temp_state",0) EventMesh.publish(constants.EVENT.STOP_TEMP) self.temp_timer.stop() def done_return(self): @@ -2709,21 +2749,21 @@ class CountdownScreen(Screen): self.meta = countdown_screen - countdown_sec_up_btn.add_event_cb(lambda e: self.sec_up(e), + countdown_sec_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sec_up(e)), lv.EVENT.CLICKED, None) - countdown_sec_down_btn.add_event_cb(lambda e: self.sec_down(e), + countdown_sec_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sec_down(e)), lv.EVENT.CLICKED, None) - countdown_min_up_btn.add_event_cb(lambda e: self.min_up(e), + countdown_min_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.min_up(e)), lv.EVENT.CLICKED, None) - countdown_min_down_btn.add_event_cb(lambda e: self.min_down(e), + countdown_min_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.min_down(e)), lv.EVENT.CLICKED, None) - countdown_hour_up_btn.add_event_cb(lambda e: self.hour_up(e), + countdown_hour_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hour_up(e)), lv.EVENT.CLICKED, None) - countdown_hour_down_btn.add_event_cb(lambda e: self.hour_down(e), + countdown_hour_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hour_down(e)), lv.EVENT.CLICKED, None) - countdown_start_imgbtn.add_event_cb(lambda e: self.start(e), + countdown_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)), lv.EVENT.CLICKED, None) - countdown_reset_imgbtn.add_event_cb(lambda e: self.reset(e), + countdown_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reset(e)), lv.EVENT.CLICKED, None) # countdown_stop_imgbtn.add_event_cb(lambda e: self.stop(e), # lv.EVENT.CLICKED, None) @@ -3113,10 +3153,10 @@ class StopwatchScreen(Screen): stopwatch_stop_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT) stopwatch_stop_img.set_pos(115, 210) stopwatch_stop_img.add_flag(lv.obj.FLAG.HIDDEN) - stopwatch_start_imgbtn.add_event_cb(lambda e: self.start(e), + stopwatch_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)), lv.EVENT.CLICKED, None) - stopwatch_reset_imgbtn.add_event_cb(lambda e: self.reset(e), + stopwatch_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reset(e)), lv.EVENT.CLICKED, None) self.meta = stopwatch_screen @@ -3130,6 +3170,7 @@ class StopwatchScreen(Screen): stopwatch_start_imgbtn, stopwatch_stop_img print("stopwatch start:{}".format(self.s_state)) #self.timer.start(100, 1, self._fun) + if self.s_state == 1: self.s_state = 2 self.paused() @@ -3137,10 +3178,17 @@ class StopwatchScreen(Screen): self.s_state = 1 if self.s_state != 2: self.s_state = 1 + if self.ms_value > 0 or self.sec_value > 0 or self.min_value > 0: + self.ms_value = 0 + self.sec_value = 0 + self.min_value = 0 + self.show_value() self.timer.start(100,1,self._fun) stopwatch_stop_img.clear_flag(lv.obj.FLAG.HIDDEN) stopwatch_start_img.add_flag(lv.obj.FLAG.HIDDEN) - + # print("ms_value start:{} {} {}".format(self.ms_value,self.sec_value,self.min_value)) + + def paused(self): global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\ @@ -3360,6 +3408,7 @@ class UI(object): self.sleep_flag = 1 self.level = 6 self.read_data = {} + self.aud = audio.Audio(0) self.level = EventMesh.publish("get_brightness_level") self.read_data = EventMesh.publish("get_storage_data") self.main_flag = 0 @@ -3596,6 +3645,11 @@ class UI(object): print('1剩余内存RAM:{} KB'.format(mem / 1024)) self.screen = scr + play_state = EventMesh.publish("get_audio_state")#音频播放状态 + if play_state != None: + if play_state != 0:#在上一个界面在播放音频时切换界面则关闭 以免一直播放 + self.aud.stop() + if self.screen_old != None : self.screen_old.Close() #先关闭上一次界面 self.lv.img.cache_invalidate_src(None) #清img cache diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py index 40588b81..db5eedfd 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_WatchFaceScreen.py @@ -79,7 +79,7 @@ watchface1_bg_img.set_pos(int(0),int(40)) watchface1_bg_img.set_size(240,280) watchface1_bg_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) watchface1_bg_img.add_flag(lv.obj.FLAG.CLICKABLE) -watchface1_bg_img.set_src("E:/static/watch_plate/style_1/bg.png") +watchface1_bg_img.set_src("U:/static/bg.png") watchface1_bg_img.add_style(style_watchface_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) #时间 @@ -390,7 +390,7 @@ watchface2_step_img = lv.img(Watchface2) watchface2_step_img.set_pos(int(95),int(260)) watchface2_step_img.set_size(26,21) watchface2_step_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF) -watchface2_step_img.set_src("E:/static/watch_plate/style_2/step.png") +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) diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py index 328e756a..da804bdd 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_main_menu.py @@ -308,15 +308,15 @@ class MainMenuScreen(Screen): self.watchface = WatchFace() self.menu_id = "0" print("MainMenu1:__init__") - MainMenu2_img_phone.add_event_cb(lambda e: self.img_cb(e, "Phone"), lv.EVENT.CLICKED, None) - MainMenu2_img_toolbox.add_event_cb(lambda e: self.img_cb(e, "toolbox"), lv.EVENT.CLICKED, None) - MainMenu2_img_setting.add_event_cb(lambda e: self.img_cb(e, "setting"), lv.EVENT.CLICKED, None) - MainMenu2_img_heartrate.add_event_cb(lambda e: self.img_cb(e, "heartrate"), lv.EVENT.CLICKED, None) - MainMenu2_img_contacts.add_event_cb(lambda e: self.img_cb(e, "contacts"), lv.EVENT.CLICKED, None) - MainMenu2_img_wechat.add_event_cb(lambda e: self.img_cb(e, "wechat"), lv.EVENT.CLICKED, None) - MainMenu2_img_spo2.add_event_cb(lambda e: self.img_cb(e, "spo2"), lv.EVENT.CLICKED, None) - MainMenu2_img_temperature.add_event_cb(lambda e: self.img_cb(e, "temperature"), lv.EVENT.CLICKED, None) - MainMenu2_img_alipay.add_event_cb(lambda e: self.img_cb(e, "alipay_open"), lv.EVENT.CLICKED, None) + MainMenu2_img_phone.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "Phone")), lv.EVENT.CLICKED, None) + MainMenu2_img_toolbox.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "toolbox")), lv.EVENT.CLICKED, None) + MainMenu2_img_setting.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "setting")), lv.EVENT.CLICKED, None) + MainMenu2_img_heartrate.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "heartrate")), lv.EVENT.CLICKED, None) + MainMenu2_img_contacts.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "contacts")), lv.EVENT.CLICKED, None) + MainMenu2_img_wechat.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "wechat")), lv.EVENT.CLICKED, None) + MainMenu2_img_spo2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "spo2")), lv.EVENT.CLICKED, None) + MainMenu2_img_temperature.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "temperature")), lv.EVENT.CLICKED, None) + MainMenu2_img_alipay.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "alipay_open")), lv.EVENT.CLICKED, None) EventMesh.subscribe("watch_top_show", self.watch_top_show) #MainMenu2_img_alipay.add_event_cb(lambda e: img_cb(e, "Watchface_set"), lv.EVENT.CLICKED, None) diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_setting.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_setting.py index f16111cc..4bc68039 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_setting.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui_setting.py @@ -277,29 +277,29 @@ class SettingScreen(Screen): super().__init__() self.meta = setting_screen # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None) - setting_dialswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None) + setting_dialswitch.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "dialswitch"})), lv.EVENT.CLICKED, None) # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None) - setting_imei.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None) - setting_app.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None) - setting_bright.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None) - setting_volume.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None) - setting_restore.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None) - setting_poweroff.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None) - setting_update.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None) - setting_version.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None) + setting_imei.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "imei"})), lv.EVENT.CLICKED, None) + setting_app.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "app"})), lv.EVENT.CLICKED, None) + setting_bright.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "brightness"})), lv.EVENT.CLICKED, None) + setting_volume.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "totalvolume"})), lv.EVENT.CLICKED, None) + setting_restore.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "restore"})), lv.EVENT.CLICKED, None) + setting_poweroff.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "poweroff"})), lv.EVENT.CLICKED, None) + setting_update.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "update"})), lv.EVENT.CLICKED, None) + setting_version.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "version"})), lv.EVENT.CLICKED, None) # img regist btton # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None) - setting_dialswitch_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "dialswitch"}), lv.EVENT.CLICKED, None) + setting_dialswitch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "dialswitch"})), lv.EVENT.CLICKED, None) # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None) - setting_imei_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "imei"}), lv.EVENT.CLICKED, None) - setting_app_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "app"}), lv.EVENT.CLICKED, None) - setting_bright_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "brightness"}), lv.EVENT.CLICKED, None) - setting_volume_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "totalvolume"}), lv.EVENT.CLICKED, None) - setting_restore_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "restore"}), lv.EVENT.CLICKED, None) - setting_poweroff_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "poweroff"}), lv.EVENT.CLICKED, None) - setting_update_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "update"}), lv.EVENT.CLICKED, None) - setting_version_img.add_event_cb(lambda e: self.load_screen(e, {"screen": "version"}), lv.EVENT.CLICKED, None) + setting_imei_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "imei"})), lv.EVENT.CLICKED, None) + setting_app_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "app"})), lv.EVENT.CLICKED, None) + setting_bright_img.add_event_cb(lambda e:EventMesh.callback_wrapper( self.load_screen(e, {"screen": "brightness"})), lv.EVENT.CLICKED, None) + setting_volume_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "totalvolume"})), lv.EVENT.CLICKED, None) + setting_restore_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "restore"})), lv.EVENT.CLICKED, None) + setting_poweroff_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "poweroff"})), lv.EVENT.CLICKED, None) + setting_update_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "update"})), lv.EVENT.CLICKED, None) + setting_version_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "version"})), lv.EVENT.CLICKED, None) @@ -826,8 +826,8 @@ class RestoreScreen(Screen): def __init__(self): super().__init__() self.meta = restore_screen - restore_confirm.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None) - restore_cancel.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None) + restore_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None) + restore_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None) def confirm(self, e): @@ -859,7 +859,7 @@ class UpdateScreen(Screen): def __init__(self): super().__init__() self.meta = update_screen - update_return.add_event_cb(lambda e: self.back(e),lv.EVENT.CLICKED, None) + update_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.back(e)),lv.EVENT.CLICKED, None) def back(self,e): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -957,8 +957,8 @@ class PoweroffScreen(Screen): def __init__(self): super().__init__() self.meta = poweroff_screen - poweroff_confirm_img.add_event_cb(lambda e: self.confirm(e),lv.EVENT.CLICKED, None) - poweroff_return.add_event_cb(lambda e: self.concel(e),lv.EVENT.CLICKED, None) + poweroff_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None) + poweroff_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None) def initialization(self): pass @@ -1094,10 +1094,10 @@ class DialswitchScreen(Screen): self.meta = dialswitch_screen self.read_data = {} self.watchface_style_num = "Watchface1" - dialswitch_btn1.add_event_cb(lambda e: self.watchface01(e), + dialswitch_btn1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.watchface01(e)), lv.EVENT.PRESSED, None) - dialswitch_btn2.add_event_cb(lambda e: self.watchface02(e), + dialswitch_btn2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.watchface02(e)), lv.EVENT.PRESSED, None) def initialization(self): self.read_data = EventMesh.publish("get_storage_data") @@ -1154,10 +1154,10 @@ class ThemeswitchScreen(Screen): def __init__(self): super().__init__() self.meta = menustyle_screen - menustyle_btn1.add_event_cb(lambda e: self.fun1(e), + menustyle_btn1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun1(e)), lv.EVENT.PRESSED, None) - menustyle_btn2.add_event_cb(lambda e: self.fun2(e), + menustyle_btn2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.fun2(e)), lv.EVENT.PRESSED, None) def fun1(self,e): @@ -1341,15 +1341,15 @@ class BrightnessScreen(Screen): self.time = 10 self.read_data = {} self.meta = brightness_screen - brightness_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + brightness_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)), lv.EVENT.CLICKED, None) - brightness_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), + brightness_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)), lv.EVENT.CLICKED, None) - brightness_time_reduce_imgbtn.add_event_cb(lambda e: self.reduce_time_level(e), + brightness_time_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_time_level(e)), lv.EVENT.CLICKED, None) - brightness_time_add_imgbtn.add_event_cb(lambda e: self.add_time_level(e), + brightness_time_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_time_level(e)), lv.EVENT.CLICKED, None) def initialization(self): self.level = EventMesh.publish("get_brightness_level") @@ -1421,9 +1421,9 @@ class VolumeScreen(Screen): def __init__(self): super().__init__() self.meta = volume_screen - volume_phone_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "phonering"}), lv.EVENT.CLICKED, None) - volume_message_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "msgvolume"}), lv.EVENT.CLICKED, None) - volume_alarm_btn.add_event_cb(lambda e: self.load_screen(e, {"screen": "alarmvolume"}), lv.EVENT.CLICKED, None) + volume_phone_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "phonering"})), lv.EVENT.CLICKED, None) + volume_message_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "msgvolume"})), lv.EVENT.CLICKED, None) + volume_alarm_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "alarmvolume"})), lv.EVENT.CLICKED, None) def done_return(self): EventMesh.publish("load_screen", {"screen": "setting"}) @@ -1443,9 +1443,9 @@ class PhoneringScreen(Screen): super().__init__() self.level = 0 self.meta = phonering_screen - phonering_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + phonering_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)), lv.EVENT.CLICKED, None) - phonering_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), + phonering_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)), lv.EVENT.CLICKED, None) phonering_add_imgbtn.set_ext_click_area(20) phonering_reduce_imgbtn.set_ext_click_area(20) @@ -1490,9 +1490,9 @@ class AlarmvolumeScreen(Screen): super().__init__() self.level = 0 self.meta = alarmvolume_screen - alarmvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + alarmvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)), lv.EVENT.CLICKED, None) - alarmvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), + alarmvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)), lv.EVENT.CLICKED, None) def add_level(self, e): @@ -1530,9 +1530,9 @@ class MsgvolumeScreen(Screen): super().__init__() self.level = 0 self.meta = msgvolume_screen - msgvolume_add_imgbtn.add_event_cb(lambda e: self.add_level(e), + msgvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)), lv.EVENT.CLICKED, None) - msgvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_level(e), + msgvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)), lv.EVENT.CLICKED, None) def add_level(self, e): @@ -1614,9 +1614,9 @@ class totalvolumeScreen(Screen): def __init__(self): super().__init__() self.meta = volume_adjust_screen - totalvolume_add_imgbtn.add_event_cb(lambda e: self.add_volum_size(e), + totalvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_volum_size(e)), lv.EVENT.CLICKED, None) - totalvolume_reduce_imgbtn.add_event_cb(lambda e: self.reduce_volum_size(e), + totalvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_volum_size(e)), lv.EVENT.CLICKED, None) self.read_data = {} self.volum_size = 8 diff --git a/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip b/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip index ac7d12b5..8db81148 100644 Binary files a/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip and b/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip differ diff --git a/2.sdk/project/K5/usr/main.py b/2.sdk/project/K5/usr/main.py index 195b84e9..82bb5e2e 100644 --- a/2.sdk/project/K5/usr/main.py +++ b/2.sdk/project/K5/usr/main.py @@ -132,12 +132,12 @@ if __name__ == '__main__': from protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,CENTER_ProtoCol,UPLOAD_ProtoCol,\ TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,\ - ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol + ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol import mgr as mgr print("init7:{}".format(utime.localtime())) - from mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager,gethistoryDataManager,getUpLoadDataManager, \ - NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager + from mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager,gethistoryDataManager,getUpLoadDataManager, getplayAudiodStateManager,\ + NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager,getTempTimeManager print("init8:{}".format(utime.localtime())) @@ -180,7 +180,11 @@ if __name__ == '__main__': app.append_manager(getStorageDataManager()) app.append_manager(getUpLoadDataManager()) app.append_manager(getVolumSizeManager()) + app.append_manager(getTempTimeManager()) + app.append_manager(getplayAudiodStateManager()) + print("init44444444444444444444444441:{}".format(utime.localtime())) + print("init11:{}".format(utime.localtime())) pcr = ProtoColResolver() pcr.add_support(LK_ProtoCol()) @@ -206,11 +210,12 @@ if __name__ == '__main__': # pcr.add_support(CENTER_ProtoCol()) pcr.add_support(CENTER_ProtoCol()) pcr.add_support(bootoff_ProtoCol()) + pcr.add_support(WDSTART_ProtoCol()) sm = SockManager() sm.add_support_resolver(pcr) app.append_manager(sm) app.start() print("init12:{}".format(utime.localtime())) - #EventMesh.publish("load_screen", {"screen": "FIND"}) + diff --git a/2.sdk/project/K5/usr/static/0_main2_weather.png b/2.sdk/project/K5/usr/static/0_main2_weather.png deleted file mode 100644 index 3663868f..00000000 Binary files a/2.sdk/project/K5/usr/static/0_main2_weather.png and /dev/null differ diff --git a/2.sdk/project/K5/usr/static/1_main2_weather.png b/2.sdk/project/K5/usr/static/1_main2_weather.png deleted file mode 100644 index bc1edac1..00000000 Binary files a/2.sdk/project/K5/usr/static/1_main2_weather.png and /dev/null differ diff --git a/2.sdk/project/K5/usr/static/2_main2_weather.png b/2.sdk/project/K5/usr/static/2_main2_weather.png deleted file mode 100644 index 26a5e63a..00000000 Binary files a/2.sdk/project/K5/usr/static/2_main2_weather.png and /dev/null differ diff --git a/2.sdk/project/K5/usr/static/3_main2_weather.png b/2.sdk/project/K5/usr/static/3_main2_weather.png deleted file mode 100644 index b1b9abd7..00000000 Binary files a/2.sdk/project/K5/usr/static/3_main2_weather.png and /dev/null differ