From: dxy <1731678236qq.com> Date: Tue, 16 Sep 2025 06:07:28 +0000 (+0800) Subject: ota获取版本号加延时 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=78b470ff89d03b66269f997835eb0eb01200aecf;p=mirrors%2FASR1603_G5.git ota获取版本号加延时 --- diff --git a/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_VC.py b/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_VC.py index ebefc5ab..30e0d4c9 100644 --- a/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_VC.py +++ b/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_VC.py @@ -268,7 +268,6 @@ class AI_UART(): print("send_queu_uart_data sucess data:{} {}".format(data["data"],type(data["data"]))) self.uart_queue_send_data(data["data"]) if "resend_flag" in data: - print("需要重发") print("send_reset_cb:{} {}".format(data["resend_flag"],data["ACK_time"])) if data["resend_flag"] == 1: self.send_count = 5#重试5次 @@ -480,50 +479,54 @@ class AI_UART(): elif jsload_data["event"] == "AI_PWR_PRESS" :#电源按键按下 EventMesh.publish("publish_AI_btnInfo",{"func":self.pwk_key_release}) ack_flag = 1 - elif jsload_data["event"] == "bt_scan_rest":#扫描列表 + elif jsload_data["event"] == "bt_scan_rest":#扫描列表 #蓝牙停止扫描后主动向4g发送扫描列表需要发送ack EventMesh.publish("send_bt_scan_list",jsload_data) ack_flag=1 - elif jsload_data["event"]=="bt_connect_single": + elif jsload_data["event"]=="bt_connect_single": #收到蓝牙主动发送过来的单个连接蓝牙耳机的连接状态 需要发送ack EventMesh.publish("save_bt_connect_list",jsload_data) ack_flag=1 - elif jsload_data["event"]=="need_send_bt_connect_list": + + elif jsload_data["event"]=="need_send_bt_connect_list": #发送连接蓝牙连接记录列表 不需要发送ack self.get_bt_connect_timer.stop() self.get_bt_connect_flag = 0 - EventMesh.publish("save_bt_connect_list",jsload_data) + EventMesh.publish("save_bt_connect_list",jsload_data) #先保存连接记录再发送连接耳机列表to IOT EventMesh.publish("send_bt_connect_list") - ack_flag=1 + elif jsload_data["event"]=="get_ble_switch": - ble_switch_flag = EventMesh.publish("get_storage_config","switch_ble_state")#ble开关 + ble_switch_flag = EventMesh.publish("get_storage_config","switch_ble_state")#ble开关 不需要发送ack if ble_switch_flag == None: ble_switch_flag = "1" EventMesh.publish("send_ble_switch_toble",str(ble_switch_flag)) - ack_flag=1 + pass elif jsload_data["event"]=="get_bt_switch": - bt_switch_flag = EventMesh.publish("get_storage_config","switch_bt_state")#bt开关 + bt_switch_flag = EventMesh.publish("get_storage_config","switch_bt_state")#bt开关 不需要发送ack if bt_switch_flag == None: bt_switch_flag = "1" EventMesh.publish("send_bt_switch_toble",bt_switch_flag) - ack_flag=1 + pass - elif jsload_data["event"]=="get_cat1_imei": + elif jsload_data["event"]=="get_cat1_imei": #蓝牙主动向4G获取imei 4g不需要发送ack 蓝牙收到imei需要回ack给4改 EventMesh.publish("send_imei_to_ble") ack_flag=1 pass - elif jsload_data["event"] == "post_bt_connect_rest": + elif jsload_data["event"] == "post_bt_connect_rest": #蓝牙主动蓝牙耳机连接状态 需要发送ack给蓝牙 EventMesh.publish("recv_bt_connect_rest",jsload_data) ack_flag=1 - elif jsload_data["event"] == "clear_earphone_record_ok": + + elif jsload_data["event"] == "clear_earphone_record_ok":#清除蓝牙耳机连接记录 tts_play_str = "删除成功" EventMesh.publish("play_tts",[tts_play_str,1]) - ack_flag=1 + self.read_ack_flag = 1 elif jsload_data["event"] == "versions": self.bt_versions = jsload_data["data"] print("当前蓝牙版本是:{}".format(self.bt_versions)) - elif jsload_data["event"] == "kws" :#电源按键按下 + self.read_ack_flag = 1 + + elif jsload_data["event"] == "kws" :# EventMesh.publish("kws_even") - elif jsload_data["event"] == "ack" :#电源按键按下 + elif jsload_data["event"] == "ack" :# self.read_ack_flag = 1 if ack_flag == 1: self.send_ack() @@ -547,7 +550,7 @@ class AI_UART(): } json_str =ujson.dumps(json_data) print("clear_earphone_record{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) def adjust_volume_toBle(self,event,msg): # self.read_ack_flag=0 volume = int(msg) @@ -583,7 +586,7 @@ class AI_UART(): } json_str =ujson.dumps(json_data) print("switch_ble_state{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) elif msg == 2: #AI对话开启蓝牙 json_data = \ @@ -597,7 +600,7 @@ class AI_UART(): } json_str =ujson.dumps(json_data) print("switch_ble_state{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) elif msg == 3: #AI对话开启蓝牙 json_data = \ { @@ -609,7 +612,7 @@ class AI_UART(): } json_str =ujson.dumps(json_data) print("switch_bt_state{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) elif msg == 4: #AI对话开启蓝牙 json_data = \ @@ -623,7 +626,7 @@ class AI_UART(): } json_str =ujson.dumps(json_data) print("switch_bt_state{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) def send_bt_switch_toble(self,event,msg): EventMesh.publish("publish_AI_btnInfo",{"func":self.send_bt_switch_toble_cb,"data":msg}) @@ -646,7 +649,7 @@ class AI_UART(): } json_str =ujson.dumps(json_data) print("send_bt_switch_toble{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) def send_ble_switch_toble(self,event,msg): EventMesh.publish("publish_AI_btnInfo",{"func":self.send_ble_switch_toble_cb,"data":msg}) @@ -668,7 +671,7 @@ class AI_UART(): } json_str =ujson.dumps(json_data) print("send_ble_switch_toble{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) # 重发机制 def send_reset_cb(self,json_str,need_resend = None,timeOut=None): @@ -728,6 +731,9 @@ class AI_UART(): print("bt_send_end") def send_data(self,str_data,need_resend = None,ACK_time =None): + if self.bt_ota_flag == 1: + print("ota 中不需要上传") + return print("send_data{} {} {}".format(str_data,need_resend,ACK_time)) queue_data={"event":"uart_send_data","data":str_data} if need_resend != None: @@ -828,7 +834,13 @@ class AI_UART(): print("send_get_versions{}".format(json_str)) print("send_get_versions{}".format(json_str)) print("send_get_versions{}".format(json_str)) - self.send_data(json_str) + self.send_data(json_str,1) + count =1000 + while True: + count -=1 + if count <=0 or self.read_ack_flag == 1: + break + utime.sleep_ms(1) pass def start_ota(self,event=None,msg=None):#通过串口给蓝牙升级 @@ -893,6 +905,7 @@ class AI_UART(): if count <=0 or self.read_ack_flag == 1: break utime.sleep_ms(10) + EventMesh.publish(constants.EVENT.SYSTEM_UP)#唤醒休眠 print("ota_start:count:{}".format(count)) url = msg[0] bt_size = msg[1] diff --git a/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_alarm.py b/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_alarm.py index 81c9683c..7c448c5d 100644 --- a/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_alarm.py +++ b/2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_alarm.py @@ -747,8 +747,17 @@ class AI_alarm(Abstract): def AI_delete_alarm(self,event=None,Num=None):#删除闹钟 self.alarm_array =[]#闹钟队列清空 clear_ttr = "闹钟列表已清空" + date_tmp = utime.localtime() + time_tmp = utime.mktime(date_tmp) try: EventMesh.publish("set_storage_config",["alarm_list",self.alarm_array]) + alarm_send = { + "cmd":"post_alarm", + "ts":time_tmp, + "msg":"上报闹钟", + "data":self.alarm_array + } + EventMesh.publish("REPORT_ALARM_TO_IOT",alarm_send) except Exception as e: usys.print_exception(e) clear_ttr = "清除闹钟列表失败" @@ -759,6 +768,7 @@ class AI_alarm(Abstract): if len(self.alarm_array) >= Num: #只有大于等于列表个数才能删除对应闹钟信息 self.alarm_array.pop(Num) EventMesh.publish("set_storage_config",["alarm_list",self.alarm_array]) + EventMesh.publish("get_need_alarm_report_info") pass def AI_alarm_close(self,event=None,Num=None):