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)
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)
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
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)
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)
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))
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):
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 :此条短信在长短信中的序号
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):
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()