From: d15521469561 Date: Fri, 12 May 2023 06:50:30 +0000 (+0800) Subject: 电话为None处理 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=55b9bb3af18af93c0568ae8b00352e20c823f653;p=mirrors%2FASR1603_G5.git 电话为None处理 --- diff --git a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/mgr.py b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/mgr.py index 98bf563e..c6d76af1 100644 --- a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/mgr.py +++ b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/mgr.py @@ -484,45 +484,46 @@ def voice_callback(args): else: num = EventMesh.publish("get_sos_num") number = EventMesh.publish("get_dial_sos_number") - if len(number) > 0: - if num == None: - num = 0 - num+=1 - num_len = 0 - - if len(number) == 1: - num_len = len(number) - elif len(number) == 2: - num_len = len(number)+1 - elif len(number) == 3: - num_len = len(number)+2 - # print("number:{} number_len :{} num:{} num_len:{}".format(number,len(number),num,num_len)) - if num > num_len : - EventMesh.publish("set_sos_flag",0) - EventMesh.publish("set_sos_num",0) - else: - # print("number:{} number_len :{}".format(number,len(number))) - EventMesh.publish("set_sos_num",num) + if number != None: + if len(number) > 0: + if num == None: + num = 0 + num+=1 + num_len = 0 + if len(number) == 1: - EventMesh.publish("set_callnumer_cb",number[0]) - print("phone 1") + num_len = len(number) elif len(number) == 2: - if num == 1 or num == 3: - print("phone 2") - EventMesh.publish("set_callnumer_cb",number[1]) - elif num == 2: - print("phone 3") - EventMesh.publish("set_callnumer_cb",number[0]) + num_len = len(number)+1 elif len(number) == 3: - if num == 1 or num == 4: - EventMesh.publish("set_callnumer_cb",number[1]) - print("phone 4") - elif num == 2 or num == 5: - print("phone 5") - EventMesh.publish("set_callnumer_cb",number[2]) - elif num == 3: - print("phone 6") + num_len = len(number)+2 + # print("number:{} number_len :{} num:{} num_len:{}".format(number,len(number),num,num_len)) + if num > num_len : + EventMesh.publish("set_sos_flag",0) + EventMesh.publish("set_sos_num",0) + else: + # print("number:{} number_len :{}".format(number,len(number))) + EventMesh.publish("set_sos_num",num) + if len(number) == 1: EventMesh.publish("set_callnumer_cb",number[0]) + print("phone 1") + elif len(number) == 2: + if num == 1 or num == 3: + print("phone 2") + EventMesh.publish("set_callnumer_cb",number[1]) + elif num == 2: + print("phone 3") + EventMesh.publish("set_callnumer_cb",number[0]) + elif len(number) == 3: + if num == 1 or num == 4: + EventMesh.publish("set_callnumer_cb",number[1]) + print("phone 4") + elif num == 2 or num == 5: + print("phone 5") + EventMesh.publish("set_callnumer_cb",number[2]) + elif num == 3: + print("phone 6") + EventMesh.publish("set_callnumer_cb",number[0]) print('voicecall disconnect end') @@ -650,13 +651,24 @@ class DeviceInfoManager(Abstract): print("post_processor_after_instantiation:2") self.timer_push_schedule.start(10000, 1, self.publish_event) + # self.timer_push_schedule.start(1000, 1, self.publish_test) # self.battery_push_schedule.start(3000, 1, self.__check_battery) self.log.debug("post_processor_after_instantiation finished") #EventMesh.publish(constants.EVENT.START_HEART) # 设备开机立刻更新一次参数 self.publish_event() print("post_processor_after_instantiation:3") - + def publish_test(self, *args, **kwargs): + pass + # self.read_data = {} + # 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) + # self.read_data["test"] = "7817871837381378" + # with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd: + # ujson.dump(self.read_data,fd) + def publish_event(self, *args, **kwargs): """ @@ -676,7 +688,7 @@ class DeviceInfoManager(Abstract): self.timer_push = 0 date_tmp = utime.localtime() time_tmp = utime.mktime(date_tmp) - print("date_tmp......01....{} time_tmp:{}\r\n".format(date_tmp,time_tmp)) + # print("date_tmp......01....{} time_tmp:{}\r\n".format(date_tmp,time_tmp)) if math.fabs(time_tmp - self.KA_time) > 7*60: #7分钟一次心跳 self.KA_time = time_tmp @@ -2062,10 +2074,11 @@ class getSosFlagManager(Abstract):#设置或获取音量大小数据 self.sos_flag = msg if self.sos_flag == 1: number = EventMesh.publish("get_dial_sos_number") - if len(number) > 0 and number != None: - EventMesh.publish("save_phonename",number[0]) - EventMesh.publish("save_phonenum",number[0]) - voiceCall.callStart(str(number[0])) + if number != None: + if len(number) > 0: + EventMesh.publish("save_phonename",number[0]) + EventMesh.publish("save_phonenum",number[0]) + voiceCall.callStart(str(number[0])) def set_callnumer_cb(self, event, msg): @@ -2094,7 +2107,21 @@ class getSosFlagManager(Abstract):#设置或获取音量大小数据 def get_dial_sos_number(self, event, msg): return self.sos_numer1 - +# date_tmp......01....(2023, 5, 12, 10, 4, 22, 4, 132) time_tmp:1683857062 +# 1683857062 + 360 + 244*60 +# 1440 * 60 = 86400 +# 244*60 = 14640 +# 2023 5 13 6:00 +#10*60 + 4 = 604 +# 1683958102 +#6*60 = 360 +# 604-360 = 244 +# e = 10080 +# c = 604 +# n = +# 1683975862 +#836+600 +#1440 - 604 + 360 s = 71760 class getBootOffManager(Abstract):#开关机时间 def __init__(self): self.read_data = {} @@ -2123,7 +2150,23 @@ class getBootOffManager(Abstract):#开关机时间 EventMesh.subscribe("get_boot_off_time", self.get_boot_off_time) # def _rtc_callback(self,args): - # print("---!!!!!!alarm_ring!!!!!!!---,idx:",args) + # msg_tmp = self.off_msg + # off_tmp1 = msg_tmp[1] + # msg_tmp1 = off_tmp1.split(':') + # start_min = msg_tmp1[0]*60+msg_tmp1[1] + + + # off_tmp2 = msg_tmp[2] + # msg_tmp2 = off_tmp2.split(':') + # end_min = off_tmp2[0]*60+msg_tmp2[1] + + # rtc_now_time = self.rtc.datetime() + # current = rtc_now_time[4]*60+rtc_now_time[5] + # # if current == start_min: + + # # if current == start_min: + + # # print("---!!!!!!alarm_ring!!!!!!!---,idx:",args) # def set_boot_off_time(self, event, msg): @@ -2136,7 +2179,12 @@ class getBootOffManager(Abstract):#开关机时间 # # data = RTC().datetime() # # hour = data[4] # # min = data[5] - + # #反向获取时间戳 + # def_time = 24*60 #一天的总分钟数 + # time = utime.localtime() + # print("09获取utime的时间戳:", time) + # rtc_mktime = utime.mktime(time) + # print("10反向获取utime的mktime:", rtc_mktime) # current_minute = rtc_now_time[4]*60 + rtc_now_time[5] #当前的分钟数不包含年月日 @@ -2147,62 +2195,27 @@ class getBootOffManager(Abstract):#开关机时间 # start_min = msg_tmp1[0]*60+msg_tmp1[1] # end_min = msg_tmp2[0]*60+msg_tmp2[1] # #9:00 6:00 + # next_off_mktime = 0 #关机的时间戳 + # next_on_mktime = 0 #开机的时间戳 # if current_minute > start_min:#如果当前的分钟数 大于开始的关机时间分钟数 则认为是第二天6:00需要开机 23:00需要关机 - # next_alarm_time = utime.localtime(next_alarm_mktime) + # next_off_mktime = rtc_mktime+((def_time - current_minute)+start_min)*60#算到下一个开机时间 # pass - - - # print("04当前的rtc_total_minutes:{}".format(current_minute)) - - # if current_minute in minute_list: - # print("当前时间和闹钟列表时间重复,删除重复的时间") - # minute_list.remove(current_minute) - - # minute_list.append(current_minute) - - # # 对分钟数列表进行排序,并获取当前时间分钟数所在的位置 - # minute_list = sorted(minute_list) - # current_index = minute_list.index(current_minute) - - # print("05将当前时间插入min_list后的min_list:{}".format(minute_list)) - # print("06当前时间所在位置:{}".format(current_index)) - - # next_index = current_index + 1 - # if next_index >= len(minute_list): - # next_minute = minute_list[0] - # print("07下一个闹钟的分钟数:", next_minute) - # else: - # next_minute = minute_list[next_index] - # print("07下一个闹钟的分钟数:", next_minute) - - # if next_minute >= current_minute: - # interval_minute = next_minute - current_minute - # print("08距离下一次响铃的的分钟数:", interval_minute) # else: - # interval_minute = end_minute - current_minute + next_minute - # print("08距离下一次响铃的的分钟数:", interval_minute) - # #反向获取时间戳 - # time = utime.localtime() - # print("09获取utime的时间戳:", time) - # rtc_mktime = utime.mktime(time) - # print("10反向获取utime的mktime:", rtc_mktime) + # pass - # #加上下一次响铃需要的时间 - # next_alarm_mktime = rtc_mktime + interval_minute*60 - # print("11下一次响铃的mktime:", next_alarm_mktime) # #格式化时间戳,得到下一次闹钟的时间 - # next_alarm_time = utime.localtime(next_alarm_mktime) - # print("12下一次响铃的准确时间:", next_alarm_time) + # next_time = utime.localtime(next_off_mktime) + # print("12下一次开机时间的准确时间:", next_time) # #将时间转换为rtc的格式 # data_l = [2021, 7, 9, 5, 12, 30, 0, 0] # #给rtc时间赋值 - # data_l[0] = next_alarm_time[0] #year - # data_l[1] = next_alarm_time[1] #month - # data_l[2] = next_alarm_time[2] #day - # data_l[4] = next_alarm_time[3] #hour - # data_l[5] = next_alarm_time[4] #minute + # data_l[0] = next_time[0] #year + # data_l[1] = next_time[1] #month + # data_l[2] = next_time[2] #day + # data_l[4] = next_time[3] #hour + # data_l[5] = next_time[4] #minute # #转换为元组 # data_e=tuple(data_l) # print("13将该时间转换为RTC元组:", data_e) diff --git a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/source/modlvgl.c b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/source/modlvgl.c index f34a32a7..dac18b52 100644 --- a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/source/modlvgl.c +++ b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/source/modlvgl.c @@ -26674,7 +26674,7 @@ typedef struct{ // lv_fs_file_t font_f; // lv_fs_res_t font_res; // uint32_t font_resCount; - uint8_t __g_font_buf[1024];//ÈçbinÎļþ´æÔÚSPI FLASH¿ÉʹÓôËbuff + uint8_t __g_font_buf[1024];//如bin文件存在SPI FLASH可使用此buff }user_font_t; //forrest.liu@20230217 add for test @@ -26829,7 +26829,7 @@ static uint8_t bin_find_index(char *bin_name) } static uint8_t *__user_font_getdata(user_font_t *font_user, int offset, int size){ - //Èç×ÖÄ£±£´æÔÚSPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size); + //如字模保存在SPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size); /*if(0 == font_mutex1) { font_mutex1 = Helios_Mutex_Create(); } @@ -27057,7 +27057,7 @@ typedef struct{ lv_fs_file_t font_f; lv_fs_res_t font_res; uint32_t font_resCount; - uint8_t __g_font_buf[1024];//ÈçbinÎļþ´æÔÚSPI FLASH¿ÉʹÓôËbuff + uint8_t __g_font_buf[1024];//如bin文件存在SPI FLASH可使用此buff }user_font_t; @@ -27082,7 +27082,7 @@ static void get_bin_header(char *bin_name,x_header_t *header) // static uint8_t fontisopen = 0; static uint8_t *__user_font_getdata(user_font_t *font_user, int offset, int size){ - //Èç×ÖÄ£±£´æÔÚSPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size); + //如字模保存在SPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size); if(0 == font_mutex1) { font_mutex1 = Helios_Mutex_Create(); } diff --git a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui.py b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui.py index 9c80ea5c..bdc2b341 100644 --- a/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui.py +++ b/2.sdk/Helios_SDK/services/microPython/ports/quectel/core/ui.py @@ -2850,7 +2850,11 @@ class CountdownScreen(Screen): if self.total <= 0: self.g_state = 0 self.g_end = 1 + self.hour = 0 + self.min = 0 + self.sec = 0 self.timer.stop() + self.show_value() EventMesh.publish("load_screen", {"screen": "countdown_end"}) self.total = self.total - 1 @@ -3170,13 +3174,19 @@ class StopwatchScreen(Screen): self.sec_value = 0 self.min_value += 1 if self.min_value > 99: + self.min_value = 99 self.timer.stop() + stopwatch_start_img.clear_flag(lv.obj.FLAG.HIDDEN) + stopwatch_stop_img.add_flag(lv.obj.FLAG.HIDDEN) self.show_value() def show_value(self): global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\ stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\ stopwatch_start_imgbtn, stopwatch_stop_img + if self.min_value >= 99: + self.min_value = 99 + stopwatch_label_ms.set_text(str("%d"%(self.ms_value))) stopwatch_label_sec.set_text(str("%02d"%(self.sec_value))) stopwatch_label_min.set_text(str("%02d"%(self.min_value)))