From 98e4516d4fde37f39019946bdbfe0dfd3daefe69 Mon Sep 17 00:00:00 2001 From: SnickerSun Date: Thu, 6 Jun 2024 17:42:44 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8Dcat1=20=E5=9B=A0=E4=B8=BAsms?= =?utf8?q?=E8=AF=BB=E5=8F=96=E5=A4=B1=E8=B4=A5=E9=80=A0=E6=88=90=E7=9A=84?= =?utf8?q?=E6=97=A0=E6=B3=95=E9=80=9A=E8=AE=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../slip/cat1Service/pyscript/cat1Service.py | 58 +++++++++++-------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/code/sdk/drivers/peripheral/slip/cat1Service/pyscript/cat1Service.py b/code/sdk/drivers/peripheral/slip/cat1Service/pyscript/cat1Service.py index 2d9268353..b624a3892 100644 --- a/code/sdk/drivers/peripheral/slip/cat1Service/pyscript/cat1Service.py +++ b/code/sdk/drivers/peripheral/slip/cat1Service/pyscript/cat1Service.py @@ -59,6 +59,8 @@ def msg_cb(args): index = args[1] storage = args[2] sms_data = sms.getSaveLoc() + if sms_data == -1: + return sms_max = sms_data[0][2] if index != -1: eventMesh.publish("send_singal_data_toBle",index) @@ -240,7 +242,7 @@ class Cat1Service: eventMesh.subscribe("delete_sms_event",self.delete_sms_event) eventMesh.subscribe("remove_all_sms_cb", self.remove_all_sms_cb)# eventMesh.subscribe("send_sms_max_to_Ble",self.send_sms_max_to_Ble) - eventMesh.subscribe("get_all_sms_data",self.get_all_sms_data)#获取所有的短信内容 + eventMesh.subscribe("get_all_sms_data",self.get_all_sms_data) #获取所有的短信内容 eventMesh.subscribe("send_singal_data_toBle",self.send_singal_data_toBle) eventMesh.subscribe("delete_sms_single_data",self.delete_sms_single_data) @@ -264,7 +266,7 @@ class Cat1Service: sms_get = sms.getSaveLoc() if(sms_get != -1): sms_lacv = sms_get[0][0] - if sms_lacv != 'SM':#每次开机设置一下短信的存储位置 + if sms_lacv != 'SM': #每次开机设置一下短信的存储位置 sms.setSaveLoc('SM', 'SM', 'SM') return None @@ -360,7 +362,7 @@ class Cat1Service: print("cmd error ret:{}".format(ret)) self.reply_cmd('09',"{}".format("at error")) - elif cmd == "10" or cmd == "12" or cmd == "14":#获取固件版本号或者获取BT保存的SIM卡的ICCID BLE那边是否开启电信入库功能 + elif cmd == "10" or cmd == "12" or cmd == "14": #获取固件版本号或者获取BT保存的SIM卡的ICCID BLE那边是否开启电信入库功能 if CHINA_TELECOM_DM_FUN_ENABLE == 1 : if eventMesh.publish("get_dmp_change_mode") == 1: self.telecom_recv_cmd(cmd,parm) @@ -384,11 +386,11 @@ class Cat1Service: self.china_mobile_recv_cmd(cmd,parm) else: pass - elif cmd == "17":#用于CAT1恢复出厂需要清空数据的标识通用 + elif cmd == "17": #用于CAT1恢复出厂需要清空数据的标识通用 eventMesh.publish("set_factory_status",int(parm)) - def telecom_recv_cmd(self,cmd,parm):#电信入库 + def telecom_recv_cmd(self,cmd,parm): #电信入库 if cmd == "10": self.software_version = str(parm) eventMesh.publish("set_dev_version",self.software_version) @@ -399,12 +401,12 @@ class Cat1Service: pass pass - def china_mobile_recv_cmd(self,cmd,parm):#移动入库相关指令 + def china_mobile_recv_cmd(self,cmd,parm): #移动入库相关指令 if cmd == "10": self.software_version = str(parm) eventMesh.publish("set_dev_version",self.software_version) print("software_version:{},{}".format(self.software_version,parm)) - elif cmd == "16":#获取BLE mac地址 + elif cmd == "16": #获取BLE mac地址 eventMesh.publish("set_dev_mac",str(parm)) print("parm:{}\r\n".format(parm)) @@ -413,13 +415,13 @@ class Cat1Service: return self.factory_status def set_factory_status(self,event,msg): self.factory_status = int(msg) - if self.factory_status == 0:#只有为的时候才设置进去 1不再设置 + if self.factory_status == 0: #只有为的时候才设置进去 1不再设置 self.reply_cmd('17',"{}".format(1)) def set_dmp_change_mode(self,event,msg): self.telecom_dmp_switch = msg - def delete_sms_single_data(self,event,msg):#删除单条信息 + def delete_sms_single_data(self,event,msg): #删除单条信息 sms.deleteMsg(int(msg)) def get_dmp_change_mode(self,event,msg): @@ -430,33 +432,38 @@ class Cat1Service: eventMesh.publish_async("remove_all_sms_cb","",1*1024) def remove_all_sms_cb(self, event, msg): print("remove_all_sms_cb\r\n") - msg_nums = sms.getMsgNums()#短信数量 + msg_nums = sms.getMsgNums() #短信数量 if msg_nums == -1: msg_nums = 0 sms_data = sms.getSaveLoc() - sms_max = sms_data[0][2]#最大存储短信数量 + print("{}\r\n".format(sms_data)) + if sms_data == -1: + return + sms_max = sms_data[0][2] #最大存储短信数量 if sms_max >= msg_nums and sms_max > 0: - sms.deleteMsg(1,4)#删除所有的sms信息 + sms.deleteMsg(1,4) #删除所有的sms信息 def send_singal_data_toBle(self,event,msg): - msg_nums = sms.getMsgNums()#短信数量 + msg_nums = sms.getMsgNums() #短信数量 if msg_nums == -1: msg_nums = 0 sms_data = sms.getSaveLoc() - sms_max = sms_data[0][2]#最大存储短信数量 + if sms_data == -1: + return + sms_max = sms_data[0][2] #最大存储短信数量 print("recv:{}".format(int(msg))) message=self.sms_get_message_info(int(msg)) - if message == -1:#说明没有这条短信 + if message == -1: #说明没有这条短信 return message_pdu = sms.decodePdu(message[5],20) - if message_pdu != -1:#解码出来的内容 + if message_pdu != -1: #解码出来的内容 - message_ref = message[0]#编码 - message_total_num = message[1]#总共条数 - message_seq = message[2]#当前第几条 - data = message[5]#内容 - data_len = len(data)#内容长度 + message_ref = message[0] #编码 + message_total_num = message[1] #总共条数 + message_seq = message[2] #当前第几条 + data = message[5] #内容 + data_len = len(data) #内容长度 # ref :短信参考标识,同一个标识表明为同一条短信 # total_num :此条长短信总条数 大于1属于长短信 # seq :此条短信在长短信中的序号 @@ -575,8 +582,9 @@ class Cat1Service: if msg_nums == -1: msg_nums = 0 sms_data = sms.getSaveLoc() - sms_max = sms_data[0][2]#最大存储短信数量 - self.reply_cmd('15',"@sms_max:"+str(sms_max)+"@current_num:"+str(msg_nums)) + if sms_data != -1: + sms_max = sms_data[0][2]#最大存储短信数量 + self.reply_cmd('15',"@sms_max:"+str(sms_max)+"@current_num:"+str(msg_nums)) pass def get_all_sms_data(self,event,msg): @@ -584,7 +592,9 @@ class Cat1Service: SMS_lis={} SMS_lis_count = 0 sms_data = sms.getSaveLoc() - print(sms.getSaveLoc()) + print(sms_data) + if sms_data == -1: + return sms_max = sms_data[0][2]#最大存储短信数量 print(sms_max) self.msg_nums = sms.getMsgNums() -- 2.17.1