From: p15692025051 <846603105@qq.com> Date: Mon, 25 Aug 2025 01:46:21 +0000 (+0800) Subject: 更新 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=2f30c54f5e2006e8d179013f7058020c6d294425;p=mirrors%2FASR1603_G5.git 更新 --- 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 ed7fcf53..c66fb734 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 @@ -687,7 +687,7 @@ class AI_UART(): def bt_ota_run(self,event=None,msg=None):#通过串口给蓝牙升级 # EventMesh.publish("wakeup_BT") EventMesh.publish(constants.EVENT.SYSTEM_UP)#唤醒休眠 - print("bt_ota_run!!!:url:{}".format(msg)) + print("bt_ota_run!!!:{}".format(msg)) print("bt_ota_run!!!") print("bt_ota_run!!!") self.bt_ota_flag = 1 @@ -707,8 +707,10 @@ class AI_UART(): break utime.sleep_ms(10) print("ota_start:count:{}".format(count)) + url = msg[0] + bt_size = msg[1] headers_T = {"Content-Type":"application/octet-stream"} - response = request.get(url = msg,headers=headers_T,timeout = 120,decode = False) + response = request.get(url = url,headers=headers_T,timeout = 120,decode = False) offset = 0 checksum = 0 for i in response.content: @@ -742,9 +744,13 @@ class AI_UART(): break utime.sleep_ms(10) print("ota_data:{} count:{}".format(len(json_str),count)) - if send_count <=0 or self.read_ack_flag == 1: + if self.read_ack_flag == 1: break + if send_count <=0 : + return -1 offset+=len(i) + if offset < bt_size: + return -1 self.read_ack_flag = 0 json_data = \ { @@ -760,7 +766,7 @@ class AI_UART(): break utime.sleep_ms(1) self.bt_ota_flag = 0 - return 1 + return 0 audio_buf = ['chaobingfatis', 'chenggong', 'didianguanji', 'IMEIhao', 'jianquancuowu', 'key_prompt', 'liuliangtishi', 'Low_power_warning', 'R_CHARGE_FULL', 'R_CHARGE_IN', 'R_CHARGE_OUT', 'R_READ_TIME_0', 'R_READ_TIME_1', 'R_READ_TIME_2', 'R_READ_TIME_3', 'R_READ_TIME_4', 'R_READ_TIME_5', 'R_READ_TIME_6', 'R_READ_TIME_7', 'R_READ_TIME_8', 'R_READ_TIME_9', 'R_READ_TIME_A', 'R_READ_TIME_B', 'R_READ_TIME_C', 'R_READ_TIME_D', 'R_READ_TIME_E', 'R_READ_TIME_F', 'R_READ_TIME_G', 'R_READ_TIME_H', 'R_READ_TIME_I', 'R_READ_TIME_J', 'R_READ_TIME_K', 'R_READ_TIME_L', 'R_READ_TIME_M', 'R_READ_TIME_N', 'R_READ_TIME_O', 'R_READ_TIME_P', 'R_READ_TIME_Q', 'R_READ_TIME_R', 'R_READ_TIME_S', 'R_READ_TIME_T', 'R_READ_TIME_U', 'R_READ_TIME_V', 'R_READ_TIME_W', 'R_READ_TIME_X', 'R_READ_TIME_Y', 'R_READ_TIME_Z', 'send_tone', 'shouhou', 'xinhaoruo1', 'zhengzaiguanji'] class AI_dev(Abstract): # AI @@ -1857,6 +1863,7 @@ class OTA(): self.downloadFileVoURL1= "" self.downloadFileVoURL2= "" self.downloadFileVoURLBT="" + self.BT_ota_size =0 self.ota_task_id = None #蓝牙升级升级,返回0,没有升级;返回,1有升级,正在执行升级;返回2,电压不够 def bt_ota(self,event=None,msg=None): @@ -1905,6 +1912,7 @@ class OTA(): for fileList in data["data"]["fileList"]: if fileList["fileName"] == "update.ufw": + self.BT_ota_size = fileList["size"] self.downloadFileVoURLBT = fileList["url"] if data["code"] == 20006:#已是最新版本 ret_str = 0 @@ -1977,6 +1985,7 @@ class OTA(): elif fileList["fileName"] == "dfota_1.bin": self.downloadFileVoURL1 = fileList["url"] elif fileList["fileName"] == "update.ufw": + self.BT_ota_size = fileList["size"] self.downloadFileVoURLBT = fileList["url"] if data["code"] == 20006:#已是最新版本 ret_str = 0 @@ -2023,10 +2032,17 @@ class OTA(): if VC_satrt_flag == 0 or count<=0 or voice_record_satrt_flag == 0: break utime.sleep_ms(100) - if self.downloadFileVoURLBT != "": - EventMesh.publish("bt_ota_run",self.downloadFileVoURLBT) #升级蓝牙 + if self.downloadFileVoURLBT != "" and self.BT_ota_size != 0: + count = 5 #重试5次 + while 1: + count -=1 + ret = EventMesh.publish("bt_ota_run",[self.downloadFileVoURLBT,self.BT_ota_size ]) #升级蓝牙 + + if ret == 0 or count <=0: + break + utime.sleep_ms(1000) utime.sleep_ms(1000) - EventMesh.publish("rest_TB") #复位蓝牙 + #EventMesh.publish("rest_TB") #复位蓝牙 utime.sleep_ms(50000) if self.downloadFileVoURL1 == "" and self.downloadFileVoURL2 == "": #cat1没有升级的时候,要重启设备 Power.powerRestart() @@ -2780,7 +2796,7 @@ class AI_VC(Abstract): print("pwk_key_release") EventMesh.publish("publish_AI_btnInfo",{"func":self.Close}) EventMesh.publish("stop_sos_call") - #EventMesh.publish("sleep_BT")#休眠蓝牙 + EventMesh.publish("sleep_BT")#休眠蓝牙 def key_prompt(self): EventMesh.publish("audio_montage_play",["key_prompt.mp3"])