|
|
@ -32,19 +32,19 @@ def decode(pkt):
|
|
|
|
typeCall += "r"
|
|
|
|
typeCall += "r"
|
|
|
|
if "Response" in modpkt.payload.name:
|
|
|
|
if "Response" in modpkt.payload.name:
|
|
|
|
byteCount = modpkt.payload.getfieldval("byteCount")
|
|
|
|
byteCount = modpkt.payload.getfieldval("byteCount")
|
|
|
|
cs = []
|
|
|
|
status = []
|
|
|
|
if "C" in typeCall:
|
|
|
|
if "C" in typeCall:
|
|
|
|
Value = modpkt.payload.getfieldval("coilStatus")
|
|
|
|
Value = modpkt.payload.getfieldval("coilStatus")
|
|
|
|
for j in range(byteCount):
|
|
|
|
for j in range(byteCount):
|
|
|
|
bi=str(bin(Value[j]))
|
|
|
|
bi=str(bin(Value[j]))
|
|
|
|
bi=bi[2:]
|
|
|
|
bi=bi[2:]
|
|
|
|
bi=bi.rjust(8,'0')[::-1]
|
|
|
|
bi=bi.rjust(8,'0')[::-1]
|
|
|
|
cs.extend(k for k in [*bi])
|
|
|
|
status.extend(k for k in [*bi])
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
cs = modpkt.payload.getfieldval("registerVal")
|
|
|
|
status = modpkt.payload.getfieldval("registerVal")
|
|
|
|
for j in range(len(cs)):
|
|
|
|
for j in range(len(status)):
|
|
|
|
#bigL.append([miniL[0],cs[j],miniL[2]+j])
|
|
|
|
#bigL.append([miniL[0],status[j],miniL[2]+j])
|
|
|
|
triPacket([miniL[0][1],miniL[2]+j,cs[j]],connec)
|
|
|
|
triPacket([miniL[0][1],miniL[2]+j,status[j]],connec)
|
|
|
|
miniL = [0,0,0]
|
|
|
|
miniL = [0,0,0]
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
startAddr = modpkt.payload.getfieldval("startAddr")
|
|
|
|
startAddr = modpkt.payload.getfieldval("startAddr")
|
|
|
@ -58,17 +58,17 @@ def decode(pkt):
|
|
|
|
addr = modpkt.payload.getfieldval("startAddr")
|
|
|
|
addr = modpkt.payload.getfieldval("startAddr")
|
|
|
|
#byteCount = modpkt.payload.getfieldval("quantityOutput")
|
|
|
|
#byteCount = modpkt.payload.getfieldval("quantityOutput")
|
|
|
|
outputValue = modpkt.payload.getfieldval("outputsValue")
|
|
|
|
outputValue = modpkt.payload.getfieldval("outputsValue")
|
|
|
|
cs = []
|
|
|
|
status = []
|
|
|
|
if "C" in typeCall:
|
|
|
|
if "C" in typeCall:
|
|
|
|
for j in range(len(outputValue)):
|
|
|
|
for j in range(len(outputValue)):
|
|
|
|
bi=str(bin(outputValue[j]))
|
|
|
|
bi=str(bin(outputValue[j]))
|
|
|
|
bi = bi[2:]
|
|
|
|
bi = bi[2:]
|
|
|
|
bi = bi.rjust(8,'0')[::-1]
|
|
|
|
bi = bi.rjust(8,'0')[::-1]
|
|
|
|
cs.extend(k for k in [*bi])
|
|
|
|
status.extend(k for k in [*bi])
|
|
|
|
|
|
|
|
|
|
|
|
for j in range(len(cs)):
|
|
|
|
for j in range(len(status)):
|
|
|
|
#bigL.append([miniL[0],cs[j],addr+j]) # changer 5 pour mettre l'adresse
|
|
|
|
#bigL.append([miniL[0],status[j],addr+j]) # changer 5 pour mettre l'adresse
|
|
|
|
triPacket([miniL[0][1],addr+j,cs[j]],connec)
|
|
|
|
triPacket([miniL[0][1],addr+j,status[j]],connec)
|
|
|
|
#print(bigL)
|
|
|
|
#print(bigL)
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
if "C" in typeCall:
|
|
|
|
if "C" in typeCall:
|
|
|
|